@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-vietnamese-400-normal-CvGt0Ybw.woff2) format("woff2"),url(/assets/fraunces-vietnamese-400-normal-B65MOf9T.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:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-ext-400-normal-D8gbi3Gu.woff2) format("woff2"),url(/assets/fraunces-latin-ext-400-normal-UihxqfOe.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:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-400-normal-6IfK1voy.woff2) format("woff2"),url(/assets/fraunces-latin-400-normal-NUPT2cO8.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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-vietnamese-500-normal-GOH_-EGq.woff2) format("woff2"),url(/assets/fraunces-vietnamese-500-normal-B-KbxExq.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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-ext-500-normal-Z5DV8IzT.woff2) format("woff2"),url(/assets/fraunces-latin-ext-500-normal-BMcFk1Xs.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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-500-normal-DnGCNyPD.woff2) format("woff2"),url(/assets/fraunces-latin-500-normal-BTR4KCeb.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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2) format("woff2"),url(/assets/fraunces-vietnamese-600-normal-DlAl5EAR.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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2) format("woff2"),url(/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.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:Fraunces;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/fraunces-vietnamese-400-italic-BTOWH4O7.woff2) format("woff2"),url(/assets/fraunces-vietnamese-400-italic-CO9zBbpA.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:Fraunces;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-ext-400-italic-jodr80a5.woff2) format("woff2"),url(/assets/fraunces-latin-ext-400-italic-CGHg0U1I.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:Fraunces;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-400-italic-ChpO6tcr.woff2) format("woff2"),url(/assets/fraunces-latin-400-italic-B7iDoVhm.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:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/newsreader-vietnamese-400-normal-DdKr49mV.woff2) format("woff2"),url(/assets/newsreader-vietnamese-400-normal-BekUZro8.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:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/newsreader-latin-ext-400-normal-svq1FPys.woff2) format("woff2"),url(/assets/newsreader-latin-ext-400-normal-DYA1XoQK.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:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/newsreader-latin-400-normal-BFBkh4jY.woff2) format("woff2"),url(/assets/newsreader-latin-400-normal-gRTjlS2D.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:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/newsreader-vietnamese-500-normal-CL6a8tp2.woff2) format("woff2"),url(/assets/newsreader-vietnamese-500-normal-BEAbKU8A.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:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/newsreader-latin-ext-500-normal-BNHmvKvI.woff2) format("woff2"),url(/assets/newsreader-latin-ext-500-normal-CZruMFou.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:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/newsreader-latin-500-normal-B66TYsaK.woff2) format("woff2"),url(/assets/newsreader-latin-500-normal-DFwuUcdu.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:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/newsreader-vietnamese-600-normal-CaH84vfx.woff2) format("woff2"),url(/assets/newsreader-vietnamese-600-normal-CVAR0otO.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:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/newsreader-latin-ext-600-normal-BXv5iMHi.woff2) format("woff2"),url(/assets/newsreader-latin-ext-600-normal-BrbfzHZ5.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:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/newsreader-latin-600-normal-30OJ_TG_.woff2) format("woff2"),url(/assets/newsreader-latin-600-normal-DUnT2r2g.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:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/newsreader-vietnamese-400-italic-bZegYFuM.woff2) format("woff2"),url(/assets/newsreader-vietnamese-400-italic-QbB8kb5s.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:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/newsreader-latin-ext-400-italic-BMTE_bNQ.woff2) format("woff2"),url(/assets/newsreader-latin-ext-400-italic-qdgKLcPG.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:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/newsreader-latin-400-italic-CEihAR-f.woff2) format("woff2"),url(/assets/newsreader-latin-400-italic-CNZoH1hn.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 Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-ext-400-normal-BwJdxs7r.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-ext-400-normal-Cd63HKDh.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 Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-400-normal-DjhbW-4D.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-400-normal-7kQcAFpS.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-ext-400-normal-CpIwTHMM.woff2) format("woff2"),url(/assets/source-sans-3-greek-ext-400-normal-BI1kUwmR.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-400-normal-DZReXJla.woff2) format("woff2"),url(/assets/source-sans-3-greek-400-normal-DJm9Ud5h.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 Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-vietnamese-400-normal-CwtaIDr2.woff2) format("woff2"),url(/assets/source-sans-3-vietnamese-400-normal-dYp9C364.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 Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-ext-400-normal-UNsKFIBq.woff2) format("woff2"),url(/assets/source-sans-3-latin-ext-400-normal-BGPHfnm_.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 Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2) format("woff2"),url(/assets/source-sans-3-latin-400-normal-AFMiCETP.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 Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-cyrillic-ext-500-normal-D8Dd5jAI.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-ext-500-normal-CaAUUz-j.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 Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-cyrillic-500-normal-BmnPaoCF.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-500-normal-B7bCyCk_.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-greek-ext-500-normal-9wgnofA_.woff2) format("woff2"),url(/assets/source-sans-3-greek-ext-500-normal-FO4an0ZF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-greek-500-normal-eLQqTu5G.woff2) format("woff2"),url(/assets/source-sans-3-greek-500-normal-BOY5JFvG.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 Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-vietnamese-500-normal-BSXhk166.woff2) format("woff2"),url(/assets/source-sans-3-vietnamese-500-normal-7g9Z1MMl.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 Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-latin-ext-500-normal-tzH6xoxH.woff2) format("woff2"),url(/assets/source-sans-3-latin-ext-500-normal-DYiJOyLu.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 Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-latin-500-normal-DiWS0tcR.woff2) format("woff2"),url(/assets/source-sans-3-latin-500-normal-BtDzq-z9.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 Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-cyrillic-ext-600-normal-6AhwUnSr.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-ext-600-normal-uAL1a5gb.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 Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-cyrillic-600-normal-BnFu5nHC.woff2) format("woff2"),url(/assets/source-sans-3-cyrillic-600-normal-y-RO8wOd.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-greek-ext-600-normal-DynePNDL.woff2) format("woff2"),url(/assets/source-sans-3-greek-ext-600-normal-D7vJ4nVX.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-greek-600-normal-BSO157bq.woff2) format("woff2"),url(/assets/source-sans-3-greek-600-normal-BNF9LBpG.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 Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-vietnamese-600-normal-B2sTNYey.woff2) format("woff2"),url(/assets/source-sans-3-vietnamese-600-normal-DpSexF-T.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 Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-ext-600-normal-AEyhgUpm.woff2) format("woff2"),url(/assets/source-sans-3-latin-ext-600-normal-Wy7HIzqC.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 Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2) format("woff2"),url(/assets/source-sans-3-latin-600-normal-BvDVuF-j.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{--paper-base: #f2efec;--paper-warm: #f9f6f3;--paper-deep: #e7e4e1;--ink-base: #24221e;--ink-soft: #635d54;--ink-faint: #716b63;--line-warm: #e0dbd0;--gem-gold: #F2B25A;--gem-amber: #ECA046;--gem-terracotta: #DD7038;--gem-burnt: #D2632F;--gem-rust: #9B3A2A;--gem-plum: #6F2B3A;--accent-warm: #b04e2f;--accent-glow: #dd8b5e;--highlight-amber: #f2c879;--highlight-amber-deep: #7a5a1f;--epub-page-light: #fdfaf4;--epub-ink-light: #24221e;--epub-link-light: #b0542f;--epub-page-dark: #161618;--epub-ink-dark: #e6e5e1;--epub-link-dark: #dd8b5e;--epub-page-tint: #f6ecdc;--epub-ink-tint: #2a2621;--epub-link-tint: #9c4727;--pure-white: #ffffff;--doc-sheet-light: #fdfaf4;--night-base: #161618;--night-warm: #202024;--night-deep: #1b1b1e;--night-line: #2f2f35;--night-text: #e6e5e1;--night-text-soft: #9b9a9c;--night-text-faint: #808082;--shadow-tight-warm-rgba: rgba(54, 44, 30, .07);--shadow-soft-warm-rgba: rgba(54, 44, 30, .14);--shadow-tight-deep-rgba: rgba(0, 0, 0, .25);--shadow-soft-deep-rgba: rgba(0, 0, 0, .45);--accent-glow-warm-rgba: rgba(181, 79, 47, .22);--accent-glow-deep-rgba: rgba(224, 138, 91, .28);--reading-glow-warm-rgba: rgba(242, 200, 121, .55);--reading-glow-deep-rgba: rgba(122, 90, 31, .55);--overlay-paper-rgba: rgba(244, 238, 226, .86);--overlay-deep-rgba: rgba(20, 17, 14, .86);--font-display: "Fraunces", Georgia, serif;--font-ui: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: "Newsreader", Georgia, serif;--text-2xs: 11px;--text-xs: 12.5px;--text-sm: 14px;--text-md: 15.5px;--text-lg: 17.5px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 32px;--text-display: 54px;--w-regular: 400;--w-medium: 500;--w-semibold: 600;--lh-tight: 1.1;--lh-heading: 1.25;--lh-control: 1.2;--lh-snug: 1.45;--lh-relaxed: 1.55;--lh-loose: 1.85;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .04em;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--type-display: var(--w-semibold) var(--text-display)/var(--lh-tight) var(--font-display);--type-title: var(--w-semibold) var(--text-3xl)/var(--lh-tight) var(--font-display);--type-brand: var(--w-medium) var(--text-xl)/var(--lh-heading) var(--font-display);--type-heading: var(--w-semibold) var(--text-xl)/var(--lh-heading) var(--font-ui);--type-subhead: var(--w-semibold) var(--text-lg)/var(--lh-heading) var(--font-ui);--type-body: var(--w-regular) var(--text-md)/var(--lh-snug) var(--font-ui);--type-small: var(--w-regular) var(--text-sm)/var(--lh-snug) var(--font-ui);--type-label: var(--w-medium) var(--text-xs)/var(--lh-control) var(--font-ui);--type-micro: var(--w-semibold) var(--text-2xs)/var(--lh-control) var(--font-ui);--type-prose: var(--w-regular) var(--text-lg)/var(--lh-relaxed) var(--font-body);--type-mono: var(--w-regular) var(--text-sm)/var(--lh-snug) var(--font-mono);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--chrome-gap: 4px;--control-h: 32px;--radius-xs: 3px;--radius-sm: 6px;--radius-md: 9px;--radius-lg: 13px;--radius-xl: 16px;--radius-pill: 999px;--icon-sm: 16px;--icon-md: 18px;--icon-lg: 22px;--icon-xl: 28px;--brand-mark-sm: 40px;--brand-mark-lg: 104px;--brand-mark-loader: 120px;--motion-fast: .1s;--motion-base: .18s;--motion-med: .28s;--motion-slow: .32s;--ease-out: ease;--ease-warm: cubic-bezier(.32, .72, 0, 1);--lift-rest: 0;--lift-hover: -2px;--lift-hover-subtle: -1px;--lift-active: 1px;--ff-body: "onum" 1, "calt" 1, "kern" 1;--ff-display: "calt" 1, "kern" 1, "liga" 1, "ss01" 1;--fv-display: "SOFT" 50;--fv-body: "SOFT" 0}:root{--bg-page: var(--paper-base);--bg-surface: var(--paper-warm);--bg-elevated: var(--paper-deep);--bg-overlay: var(--overlay-paper-rgba);--text-primary: var(--ink-base);--signature-ink: #24221e;--signature-paper: #ffffff;--signature-rule: rgba(36, 34, 30, .22);--text-muted: var(--ink-soft);--text-faint: var(--ink-faint);--border-subtle: var(--line-warm);--accent: var(--accent-warm);--accent-on: var(--pure-white);--reading-highlight: var(--highlight-amber);--find-mark-bg: rgba(240, 196, 32, .45);--reading-highlight-on: var(--ink-base);--doc-page-bg: var(--doc-sheet-light);--shadow-sm: 0 1px 2px var(--shadow-tight-warm-rgba), 0 2px 8px var(--shadow-soft-warm-rgba);--shadow-sm-hover: 0 2px 4px var(--shadow-tight-warm-rgba), 0 6px 16px var(--shadow-soft-warm-rgba);--shadow-md: 0 1px 3px var(--shadow-tight-warm-rgba), 0 6px 20px var(--shadow-soft-warm-rgba);--shadow-md-hover: 0 2px 6px var(--shadow-tight-warm-rgba), 0 12px 28px var(--shadow-soft-warm-rgba);--shadow-lg: 0 2px 4px var(--shadow-tight-warm-rgba), 0 12px 32px var(--shadow-soft-warm-rgba);--filter-drop-md: 0 4px 14px var(--shadow-soft-warm-rgba);--filter-drop-lg: 0 8px 22px var(--shadow-soft-warm-rgba);--ring: var(--accent);--ring-glow: var(--accent-glow-warm-rgba);--reading-glow: var(--reading-glow-warm-rgba);--scrollbar-thumb: var(--line-warm)}:root{color-scheme:light}html[data-theme=dark]{color-scheme:dark}html[data-theme=dark]{--bg-page: var(--night-base);--bg-surface: var(--night-deep);--bg-elevated: var(--night-warm);--bg-overlay: var(--overlay-deep-rgba);--text-primary: var(--night-text);--text-muted: var(--night-text-soft);--text-faint: var(--night-text-faint);--border-subtle: var(--night-line);--accent: var(--accent-glow);--reading-highlight: var(--highlight-amber-deep);--reading-highlight-on: var(--night-text);--shadow-sm: 0 1px 2px var(--shadow-tight-deep-rgba), 0 2px 10px var(--shadow-soft-deep-rgba);--shadow-sm-hover: 0 2px 4px var(--shadow-tight-deep-rgba), 0 6px 18px var(--shadow-soft-deep-rgba);--shadow-md: 0 1px 3px var(--shadow-tight-deep-rgba), 0 8px 24px var(--shadow-soft-deep-rgba);--shadow-md-hover: 0 2px 6px var(--shadow-tight-deep-rgba), 0 14px 32px var(--shadow-soft-deep-rgba);--shadow-lg: 0 2px 4px var(--shadow-tight-deep-rgba), 0 14px 36px var(--shadow-soft-deep-rgba);--filter-drop-md: 0 4px 14px var(--shadow-soft-deep-rgba);--filter-drop-lg: 0 8px 22px var(--shadow-soft-deep-rgba);--ring-glow: var(--accent-glow-deep-rgba);--reading-glow: var(--reading-glow-deep-rgba);--scrollbar-thumb: var(--night-line)}html[data-paper=natural]{--doc-page-bg: #ffffff}*{box-sizing:border-box;margin:0;padding:0}body{font:var(--type-body);font-feature-settings:var(--ff-body);font-variation-settings:var(--fv-body);background:var(--bg-page);color:var(--text-primary);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background var(--motion-slow) var(--ease-warm),color var(--motion-slow) var(--ease-warm);touch-action:manipulation}html[data-surface=reader] body{height:100vh;height:100dvh;overflow:hidden}html[data-surface=public] body{min-height:100vh;min-height:100dvh}html{overscroll-behavior-y:none}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.skip-link{position:fixed;top:8px;left:8px;z-index:9999;background:var(--accent);color:var(--accent-on);padding:8px 14px;border-radius:var(--radius-sm);font-size:var(--text-sm);text-decoration:none;transform:translateY(-200%);transition:transform .12s ease-out}.skip-link:focus-visible{transform:translateY(0);outline:2px solid var(--accent-on);outline-offset:2px}#app{height:100vh;height:100dvh;display:flex;flex-direction:column;position:relative}#home{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:safe center;padding:var(--space-10) var(--space-6);text-align:center;overflow-y:auto}.lib{position:relative;width:100%;max-width:1280px;display:flex;flex-direction:column;align-items:center;gap:var(--space-7)}.lib-col{min-width:0;display:flex;flex-direction:column;gap:var(--space-3);position:relative}.lib-col-side:before{content:"";position:absolute;left:calc(-1 * var(--space-7) / 2);top:var(--space-2);bottom:var(--space-2);width:1px;background:var(--border-subtle);opacity:.7;pointer-events:none}.lib-col-placeholder{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-4);border:1px dashed var(--border-subtle);border-radius:var(--radius-lg);color:var(--text-muted)}.lib-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);padding:var(--space-12) var(--space-5);color:var(--text-muted)}.lib-empty-mark{width:64px;height:64px;display:inline-flex;opacity:.85;filter:drop-shadow(var(--filter-drop-md))}.lib-empty-mark svg{width:100%;height:100%;display:block}.lib-empty-title{font:var(--type-heading);font-style:italic;color:var(--text-primary);letter-spacing:var(--tracking-tight)}.lib-empty-sub{font-size:var(--text-sm);max-width:340px;line-height:var(--lh-relaxed)}.lib-empty-sub kbd{font:var(--type-label);font-variant-numeric:tabular-nums;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-bottom-width:2px;border-radius:var(--radius-sm);padding:1px var(--space-2)}.lib-drop-overlay{position:fixed;inset:0;background:var(--ring-glow);backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);z-index:150;pointer-events:none;animation:drop-overlay-in var(--motion-base) var(--ease-warm)}.lib-drop-overlay-icon{color:var(--accent);filter:drop-shadow(var(--filter-drop-lg))}.lib-drop-overlay-icon svg{width:96px;height:96px}.lib-drop-overlay-text{font:var(--type-brand);font-size:var(--text-2xl);font-feature-settings:var(--ff-display);font-variation-settings:var(--fv-display);color:var(--text-primary);letter-spacing:var(--tracking-tight)}@keyframes drop-overlay-in{0%{opacity:0}to{opacity:1}}.lib-priv{font-size:var(--text-sm);color:var(--text-muted);display:inline-flex;gap:var(--space-2);align-items:center}@media (max-width: 1100px){.lib-grid3{grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:var(--space-6)}.lib-col-continue{grid-column:1 / 2;order:0}.lib-col-recents{grid-column:1 / 2;order:1}.lib-col-open{grid-column:2 / 3;grid-row:1 / span 2;order:2}.lib-col-recents:before{display:none}.lib-col-open:before{left:calc(-1 * var(--space-6) / 2)}}@media (max-width: 720px){.lib-grid3{grid-template-columns:1fr;gap:var(--space-5)}.lib-col-continue,.lib-col-recents,.lib-col-open{grid-column:1 / 2;grid-row:auto}.lib-col-recents:before,.lib-col-open:before{display:none}.lib-col-open{padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}}.lib-section{width:100%;display:flex;flex-direction:column;gap:var(--space-3)}.lib-section-label{font-size:var(--text-xs);font-weight:var(--w-semibold);color:var(--text-faint);text-transform:uppercase;letter-spacing:var(--tracking-wide);text-align:left;padding:0 var(--space-2)}.lib-recent-row{position:relative;display:flex;align-items:stretch;gap:var(--space-1)}.lib-recent{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0;padding:var(--space-3);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-align:left;font:var(--type-body);color:var(--text-primary);transition:background var(--motion-fast) var(--ease-warm),border-color var(--motion-fast) var(--ease-warm)}.lib-recent:hover{background:var(--bg-surface);border-color:var(--border-subtle)}#reader{flex:1;display:flex;flex-direction:column;min-height:0}.menubar{display:flex;align-items:center;gap:var(--chrome-gap);padding:var(--space-3) var(--space-5);background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);flex-shrink:0;user-select:none}.menubar-brand{display:flex;align-items:center;gap:var(--space-3);position:relative;background:transparent;border:none;padding:0;cursor:pointer}.menubar-logo{width:var(--brand-mark-sm);height:var(--brand-mark-sm);display:inline-flex;flex-shrink:0;filter:drop-shadow(var(--filter-drop-lg));transform:translateY(var(--lift-rest));transition:transform var(--motion-base) var(--ease-warm),filter var(--motion-base) var(--ease-warm)}.menubar-brand:hover .menubar-logo{transform:translateY(var(--lift-hover-subtle))}.menubar-brand:active .menubar-logo{transform:translateY(var(--lift-active))}.menubar-logo svg{width:100%;height:100%;display:block}.menubar-spacer{flex:1}.menu-root{position:relative;display:inline-flex;align-items:center}.menu{position:fixed;min-width:164px;width:max-content;max-width:min(92vw,340px);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-1);z-index:100;max-height:min(62vh,var(--menu-avail, 62vh));overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:2px;animation:menu-fade-in var(--motion-base) var(--ease-warm)}.menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:5px var(--space-2);background:transparent;border:none;border-radius:var(--radius-sm);font:var(--type-label);color:var(--text-primary);text-align:left;cursor:pointer;transition:background var(--motion-fast) var(--ease-warm)}.menu-item:hover:not(:disabled){background:var(--bg-page)}.menu-item:disabled{opacity:.4;cursor:default}.menu-item-icon{display:inline-flex;align-items:center;color:var(--text-muted)}.menu-item-label{flex:1}.menu-divider{height:1px;background:var(--border-subtle);margin:var(--space-1) 0}@keyframes menu-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.chrome-btn{font:var(--type-small);color:var(--text-primary);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:var(--control-h);height:var(--control-h);transform:translateY(var(--lift-rest));transition:background var(--motion-base) var(--ease-warm),border-color var(--motion-base) var(--ease-warm),color var(--motion-base) var(--ease-warm),transform var(--motion-base) var(--ease-warm)}.chrome-btn:hover{background:var(--bg-page);border-color:var(--border-subtle)}.chrome-btn:active{transform:translateY(var(--lift-active))}.chrome-btn:disabled{opacity:.4;cursor:default;background:transparent;border-color:transparent;transform:translateY(var(--lift-rest))}.chrome-btn--active{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}.chrome-btn--active:hover{background:var(--accent);border-color:var(--accent);filter:brightness(1.04)}button.tool{font:var(--type-body);color:var(--text-primary);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);cursor:pointer;transform:translateY(var(--lift-rest));transition:background var(--motion-base) var(--ease-warm),border-color var(--motion-base) var(--ease-warm),transform var(--motion-base) var(--ease-warm),box-shadow var(--motion-base) var(--ease-warm);display:inline-flex;align-items:center;gap:var(--space-2);user-select:none}button.tool:hover{background:var(--bg-page);border-color:var(--accent);transform:translateY(var(--lift-hover-subtle));box-shadow:var(--shadow-sm)}button.tool:active{transform:translateY(var(--lift-active));box-shadow:none}button.tool:disabled{opacity:.4;cursor:default;transform:translateY(var(--lift-rest));box-shadow:none}button.tool.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-on);box-shadow:var(--shadow-sm)}button.tool.primary:hover{background:var(--accent);box-shadow:var(--shadow-md-hover);filter:brightness(1.04)}button.tool.primary:disabled{opacity:.5;box-shadow:none}.stage{flex:1;display:flex;overflow:hidden;min-height:0}.viewer-wrap{flex:1;min-width:0;position:relative;overflow:hidden}.pdft-page{flex:1;overflow-y:auto;padding:var(--space-6) var(--space-6) var(--space-10);background:var(--bg-page)}.pdft-wrap{width:100%;max-width:1280px;margin:0 auto;display:flex;flex-direction:column}.pdft-head{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:0 0 var(--space-4);border-bottom:1px solid var(--border-subtle)}.pdft-back{display:inline-flex;align-items:center;gap:4px;padding:6px 10px 6px 6px;font:inherit;font-size:var(--text-sm);color:var(--text-muted);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer}.pdft-back:hover:not(:disabled){color:var(--text-primary)}.pdft-back:disabled{opacity:.5;cursor:default}.pdft-headings{display:flex;flex-direction:column;gap:2px}.pdft-title{margin:0;font:var(--type-display);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.pdft-sub{margin:0;max-width:58ch;font-size:var(--text-sm);color:var(--text-muted)}.pdft-cols{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:var(--space-6);align-items:start}@media (max-width: 760px){.pdft-cols{grid-template-columns:1fr}}.pdft-col{display:flex;flex-direction:column;gap:var(--space-4);min-width:0;padding:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface)}.pdft-col-title{margin:0;display:flex;align-items:baseline;gap:var(--space-2);font:var(--type-micro);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.pdft-col-count{font:var(--type-label);text-transform:none;letter-spacing:0;color:var(--accent)}.pdft-col-note{margin:0;font-size:var(--text-xs);color:var(--text-muted)}.pdft-src-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:2px var(--space-2);max-height:46vh;overflow-y:auto}.pdft-src-row{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:transparent;border:0;border-radius:var(--radius-sm);font:var(--type-small);color:var(--text-primary);text-align:left;cursor:pointer}.pdft-src-row:hover:not(:disabled){background:var(--bg-page)}.pdft-src-row:disabled{opacity:.5;cursor:default}.pdft-src-row--on{background:var(--bg-page)}.pdft-src-mark{flex-shrink:0;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-subtle);color:var(--accent)}.pdft-src-mark--multi{border-radius:var(--radius-xs)}.pdft-src-mark--single{border-radius:50%}.pdft-src-row--on .pdft-src-mark{border-color:var(--accent)}.pdft-src-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdft-order{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.pdft-order-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);font:var(--type-small)}.pdft-order-pos{flex-shrink:0;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);color:var(--accent-on, #fff);font:var(--type-micro)}.pdft-order-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.pdft-order-actions{flex-shrink:0;display:flex;gap:2px}.pdft-empty{margin:0;padding:var(--space-6);min-height:96px;display:flex;align-items:center;border:1px dashed var(--border-subtle);border-radius:var(--radius-md);font:var(--type-small);color:var(--text-muted)}.pdft-facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.pdft-fact{display:flex;align-items:flex-start;gap:var(--space-2);font:var(--type-small)}.pdft-fact--yes{color:var(--text-primary)}.pdft-fact--yes>:first-child{color:var(--accent);flex-shrink:0}.pdft-fact--no{color:var(--text-muted)}.pdft-fact--no>:first-child{color:var(--text-muted);flex-shrink:0}.pdft-resolved{padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);font:var(--type-small);color:var(--text-primary)}.pdft-ocr{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-page)}.pdft-ocr-head{display:flex;align-items:center;gap:var(--space-2);width:100%}.pdft-ocr-title{font:var(--type-label);color:var(--text-primary)}.pdft-ocr-count{margin-left:auto;font:var(--type-micro);color:var(--accent)}.pdft-ocr .export-flat-progress{width:100%}.pdft-range-row{display:flex;align-items:center;gap:var(--space-2)}.pdft-range-row .pdf-tools-input{flex:1;min-width:0}.pdft-range-acts{flex-shrink:0;display:flex;gap:var(--space-2)}.pdft-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--pdft-thumb-w, 140px),1fr));gap:var(--space-3);align-items:start;max-height:52vh;overflow-y:auto;padding:var(--space-1)}.pdft-pg{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-2);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm)}.pdft-pg:hover{background:var(--bg-page)}.pdft-pg-hit{display:block;padding:0;background:transparent;border:0;cursor:pointer}.pdft-pg-hit:disabled{cursor:default}.pdft-pg--kept{border-color:var(--accent);background:var(--bg-page)}.pdft-pg:not(.pdft-pg--kept) .pdft-pg-canvas{opacity:.42}.pdft-pg-canvas{display:block;overflow:hidden;border-radius:var(--radius-xs);box-shadow:0 1px 3px #0000002e}.pdft-pg-canvas canvas{display:block}.pdft-pg-num{font:var(--type-micro);color:var(--text-muted)}.pdft-pg--kept .pdft-pg-num{color:var(--accent)}.pdft-pg-rotor{display:block;transform-origin:center}.pdft-pg-canvas{display:grid;place-items:center}.pdft-pg-bar{display:flex;align-items:center;gap:var(--space-2)}.pdft-pg-src{margin-left:4px;font:var(--type-micro);color:var(--text-faint)}.pdft-pg-out{font:var(--type-micro);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}.pdft-pg-ops{display:flex;gap:2px}.pdft-pages--out .pdft-pg-canvas{opacity:.3}.pdft-pages--out{margin-top:var(--space-2)}.pdft-col-title--sub{margin-top:var(--space-4)}.pdft-privacy{margin:0 auto 0 0;display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-muted)}.pdf-tools-tabs{display:flex;gap:var(--space-1);margin-top:var(--space-4);border-bottom:1px solid var(--border-subtle)}.pdf-tools-tab{flex:0 1 auto;padding:var(--space-3) var(--space-4);background:transparent;border:0;border-bottom:2px solid transparent;font:var(--type-small);color:var(--text-muted);cursor:pointer}.pdf-tools-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.pdf-tools-body{padding:var(--space-5) 0 0;display:flex;flex-direction:column;gap:var(--space-4)}.pdf-tools-foot{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);padding:var(--space-3) 0;background:var(--bg-page);border-top:1px solid var(--border-subtle)}.pdf-tools-empty{padding:var(--space-4);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);line-height:1.5;text-align:center}.pdf-tools-arrow{width:32px;background:transparent;border:0;color:var(--text-muted);cursor:pointer}.pdf-tools-arrow:hover:not(:disabled){color:var(--accent)}.pdf-tools-arrow:disabled{opacity:.35;cursor:not-allowed}.pdf-tools-input{width:100%;padding:var(--space-2) var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font:var(--type-small);color:var(--text-primary)}.pdf-tools-input:focus{outline:none;border-color:var(--accent)}.ocr-auto-banner{position:absolute;top:var(--space-3);left:50%;transform:translate(-50%);z-index:14;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);max-width:min(520px,86%);background:var(--bg-elevated);border:1px solid var(--accent);border-radius:var(--radius-sm);box-shadow:0 6px 18px #00000029;font:var(--type-label);color:var(--text-primary)}.ocr-auto-banner-text{display:flex;flex-direction:column;gap:2px;min-width:0}.ocr-auto-banner-label{font:var(--type-label);color:var(--text-primary)}.ocr-auto-banner-hint{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-muted)}.ocr-auto-banner-hint svg{flex-shrink:0;color:var(--accent)}.ocr-auto-banner-go{flex-shrink:0;font-size:var(--text-xs);padding:4px var(--space-3)}.ocr-auto-banner-dismiss{flex-shrink:0;background:transparent;border:0;padding:4px;color:var(--text-muted);cursor:pointer;display:inline-flex;border-radius:var(--radius-sm)}.ocr-auto-banner-dismiss:hover{color:var(--accent)}.ocr-progress{position:fixed;top:88px;left:50%;transform:translate(-50%);z-index:80;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);min-width:340px;max-width:520px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0000002e;font:var(--type-small)}.ocr-progress-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.ocr-progress-body{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.ocr-progress-label{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ocr-progress-label strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.ocr-progress[data-stopped] .ocr-progress-fill{opacity:.4;transition:none}.ocr-progress[data-stopped] .ocr-progress-label{color:var(--text-muted)}.ocr-progress-stage{color:var(--text-muted);font-variant-numeric:tabular-nums}.ocr-progress-sub{opacity:.7}.ocr-progress-bar{position:relative;height:4px;background:var(--border-subtle);border-radius:999px;overflow:hidden}.ocr-progress-fill{position:absolute;inset:0 auto 0 0;background:var(--accent);transition:width .18s ease-out}.ocr-progress-cancel{flex-shrink:0;padding:4px 6px}.focus-overlay{position:absolute;inset:0;z-index:12;pointer-events:none;--focus-band-h: 38%;transition:opacity .18s ease}.focus-overlay:before,.focus-overlay:after{content:"";position:absolute;left:0;right:0;background:rgba(0,0,0,var(--focus-dim, .45));backdrop-filter:blur(.5px)}.focus-overlay:before{top:0;height:calc((100% - var(--focus-band-h)) / 2);-webkit-mask-image:linear-gradient(to bottom,black 88%,transparent 100%);mask-image:linear-gradient(to bottom,black 88%,transparent 100%)}.focus-overlay:after{bottom:0;height:calc((100% - var(--focus-band-h)) / 2);-webkit-mask-image:linear-gradient(to top,black 88%,transparent 100%);mask-image:linear-gradient(to top,black 88%,transparent 100%)}[data-theme=light] .focus-overlay:before,[data-theme=light] .focus-overlay:after{background:rgba(20,18,14,calc(var(--focus-dim, .45) * .6))}.viewer{position:absolute;inset:0;overflow:auto}.viewer[data-pan]{cursor:grab;cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='26'%20height='26'%20viewBox='0%200%20256%20256'%3E%3Cpath%20d='M188,48a27.75,27.75,0,0,0-12,2.71V44a28,28,0,0,0-54.65-8.6A28,28,0,0,0,80,60v64l-3.82-6.13a28,28,0,0,0-48.6,27.82c16,33.77,28.93,57.72,43.72,72.69C86.24,233.54,103.2,240,128,240a88.1,88.1,0,0,0,88-88V76A28,28,0,0,0,188,48Zm12,104a72.08,72.08,0,0,1-72,72c-20.38,0-33.51-4.88-45.33-16.85C69.44,193.74,57.26,171,41.9,138.58a6.36,6.36,0,0,0-.3-.58,12,12,0,0,1,20.79-12,1.76,1.76,0,0,0,.14.23l18.67,30A8,8,0,0,0,96,152V60a12,12,0,0,1,24,0v60a8,8,0,0,0,16,0V44a12,12,0,0,1,24,0v76a8,8,0,0,0,16,0V76a12,12,0,0,1,24,0Z'%20fill='%23fff'%20stroke='%23fff'%20stroke-width='22'%20stroke-linejoin='round'%20stroke-linecap='round'/%3E%3Cpath%20d='M188,48a27.75,27.75,0,0,0-12,2.71V44a28,28,0,0,0-54.65-8.6A28,28,0,0,0,80,60v64l-3.82-6.13a28,28,0,0,0-48.6,27.82c16,33.77,28.93,57.72,43.72,72.69C86.24,233.54,103.2,240,128,240a88.1,88.1,0,0,0,88-88V76A28,28,0,0,0,188,48Zm12,104a72.08,72.08,0,0,1-72,72c-20.38,0-33.51-4.88-45.33-16.85C69.44,193.74,57.26,171,41.9,138.58a6.36,6.36,0,0,0-.3-.58,12,12,0,0,1,20.79-12,1.76,1.76,0,0,0,.14.23l18.67,30A8,8,0,0,0,96,152V60a12,12,0,0,1,24,0v60a8,8,0,0,0,16,0V44a12,12,0,0,1,24,0v76a8,8,0,0,0,16,0V76a12,12,0,0,1,24,0Z'%20fill='%23141414'/%3E%3C/svg%3E") 12 14,grab;user-select:none}.viewer[data-pan] .textLayer,.viewer[data-pan] .ocrTextLayer{pointer-events:none}.pages{display:flex;flex-direction:column;align-items:center;align-items:safe center;gap:var(--space-5);padding:var(--space-7) var(--space-5)}.pages--two{flex-direction:row;align-items:flex-start;justify-content:center;justify-content:safe center;gap:var(--space-3)}.pdf-page{background:var(--doc-page-bg);border-radius:var(--radius-xs);box-shadow:var(--shadow-md);flex-shrink:0;overflow:hidden;position:relative}.pdf-page canvas{display:block}.textLayer{position:absolute;top:0;left:0;overflow:hidden;opacity:1;line-height:1;user-select:text;-webkit-user-select:text;cursor:text;font-family:sans-serif}.textLayer>span,.textLayer>br{position:absolute;white-space:pre;color:transparent;transform-origin:0% 0%}.textLayer ::selection{background:var(--reading-highlight);color:var(--reading-highlight-on)}.textLayer mark.textLayer-mark{background:var(--find-mark-bg);color:transparent;padding:0;border-radius:var(--radius-xs)}.textLayer mark.textLayer-mark--current{outline:2px solid var(--accent);outline-offset:1px}.ribbon,.epub-bar,.comic-bar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);flex-shrink:0;user-select:none;flex-wrap:nowrap}.ribbon-group{display:flex;align-items:center;gap:2px;flex-shrink:0}.ribbon-group--icons{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:2px;gap:2px;height:var(--control-h)}.ribbon-group--icons .chrome-btn--icon{border-radius:var(--radius-sm);height:100%;min-width:var(--control-h);padding:0 var(--space-2)}.ribbon-sep,.menubar-sep{width:1px;height:22px;background:var(--border-subtle);margin:0;flex-shrink:0}.menubar-sep{height:18px}.menubar-cluster{display:flex;align-items:center;gap:2px;padding:2px;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);height:var(--control-h)}.menubar-cluster .menubar-action{height:100%}.menubar-pro-badge{position:absolute;bottom:-2px;right:-6px;display:inline-flex;align-items:center;padding:0 3px;font:var(--type-micro);font-size:var(--text-2xs);font-weight:var(--w-semibold);letter-spacing:.03em;line-height:1;text-transform:uppercase;color:var(--accent-on);background:var(--accent);border:1px solid var(--bg-elevated);border-radius:var(--radius-sm);pointer-events:none}.ribbon-spacer{flex:1;min-width:var(--space-4)}.ribbon-zoom{font-variant-numeric:tabular-nums;min-width:52px}.ribbon-dropdown{padding-left:var(--space-3);padding-right:var(--space-2);min-width:110px;justify-content:space-between}.ribbon-rotate{gap:4px}.ribbon-rotate-angle{font-size:var(--text-2xs);line-height:1;font-variant-numeric:tabular-nums;color:var(--accent);font-weight:var(--w-semibold)}.ribbon-rotate--active{background:var(--accent-soft, rgba(180, 92, 60, .1));border-color:var(--accent);color:var(--accent)}.pagebox{display:flex;align-items:center;font-size:var(--text-sm);color:var(--text-muted);padding:0 var(--space-1)}.pagebox input{width:44px;text-align:center;font:var(--type-small);font-variant-numeric:tabular-nums;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-1);background:var(--bg-page);color:var(--text-primary)}.pagebox-sep{margin:0 var(--space-2);color:var(--text-faint)}.pagebox-total{font-variant-numeric:tabular-nums}.pro-badge{display:inline-flex;align-items:center;justify-content:center;font:var(--type-subhead);letter-spacing:var(--tracking-wide);text-transform:uppercase;border-radius:var(--radius-sm);white-space:nowrap;user-select:none}.pro-badge--sm{font-size:var(--text-2xs);padding:3px 7px}.pro-badge--md{font-size:var(--text-2xs);padding:4px 9px}.pro-badge--default{background:var(--accent);color:var(--accent-on, #fff)}.pro-badge--subtle{background:transparent;color:var(--accent);border:1px solid var(--accent)}.pro-hint{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.pro-hint--gate{border-left:3px solid var(--accent)}.pro-hint--cap{border-left:3px solid var(--accent);background:var(--bg-surface)}.pro-hint-head{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.pro-hint-message{font:var(--type-small);color:var(--text-primary)}.pro-hint-detail{margin:0;font-size:var(--text-xs);color:var(--text-muted);line-height:1.5}.pro-hint-link{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;padding:0;background:transparent;border:0;font:var(--type-label);color:var(--accent);cursor:pointer;text-decoration:none}.pro-hint-link:hover{text-decoration:underline}.settings-pro{display:flex;flex-direction:column;gap:var(--space-4)}.settings-pro-title{font:var(--type-heading)}.settings-pro-status{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4);background:var(--bg-page);border:1px solid var(--accent);border-radius:var(--radius-md)}.settings-pro-status-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:var(--text-sm)}.settings-pro-status-key{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.settings-pro-status-val{color:var(--text-primary);font-weight:var(--w-medium)}.settings-pro-pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.settings-pro-plan{display:flex;flex-direction:column;gap:4px;padding:var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:center}.settings-pro-plan--featured{border-color:var(--accent);background:var(--bg-surface)}.settings-pro-plan-name{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.settings-pro-plan-price{font:var(--type-heading);font-variant-numeric:tabular-nums;color:var(--text-primary)}.settings-pro-plan-meta{font-size:var(--text-xs);color:var(--text-muted)}.settings-pro-subhead{margin:0;font:var(--type-subhead);font-size:var(--text-md);color:var(--text-primary)}.settings-pro-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.settings-pro-features li{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.settings-pro-features li>svg,.settings-pro-features li>span:first-child{flex-shrink:0;color:var(--accent);margin-top:2px}.settings-pro-features li strong{color:var(--text-primary);font-weight:var(--w-semibold)}.settings-pro-action{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3)}.settings-pro-plan-btn{margin-top:var(--space-2);align-self:stretch;justify-content:center}.settings-pro-error{color:#c83838}.libsearch-cap-hint{margin:0 var(--space-4) var(--space-3)}.settings-account{display:flex;flex-direction:column;gap:var(--space-3)}.settings-section-subtitle{margin:0 0 var(--space-1) 0;font:var(--type-subhead);font-size:var(--text-md);color:var(--text-primary)}.settings-account-section{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) 0;border-top:1px solid var(--border-subtle)}.settings-account-section--danger{border-top-color:#dc40404d}.settings-account-signout{align-self:flex-start}.settings-account-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.settings-account-error{margin:0;padding:var(--space-2) var(--space-3);border:1px solid rgba(220,64,64,.45);border-radius:var(--radius-sm);background:#dc40401a;color:#c83838;font-size:var(--text-xs)}.settings-account-devices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.settings-account-device{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.settings-account-device-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.settings-account-device-name{font:var(--type-subhead);font-size:var(--text-sm);color:var(--text-primary);background:transparent;border:0;padding:0;text-align:left;cursor:pointer;align-self:flex-start}.settings-account-device-name:hover{color:var(--accent)}.settings-account-device-input{font:var(--type-subhead);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:2px 6px;width:100%;max-width:280px}.settings-account-device-meta{font-size:var(--text-xs);color:var(--text-muted)}.settings-account-delete-input{padding:var(--space-2) var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font:var(--type-small);color:var(--text-primary);width:100%;max-width:320px}.settings-account-delete-input:focus{outline:none;border-color:#c83838}.chrome-btn--danger{background:transparent;border-color:#dc40408c;color:#c83838}.chrome-btn--danger:hover:not(:disabled){background:#dc40401a;border-color:#c83838}.pi-panel{width:0;flex-shrink:0;background:var(--bg-surface);border-left:1px solid var(--border-subtle);overflow:hidden;transition:width var(--motion-med) var(--ease-warm);display:flex;flex-direction:column}.pi-panel.open{width:380px}.pi-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);color:var(--accent)}.pi-title{font:var(--type-heading);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.pi-body{flex:1;overflow:hidden;min-height:0;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.pi-quota{order:0}.pi-tabs{order:1}.pi-scroll{order:2}.pi-compose{order:3}.pi-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:var(--space-4)}.pi-gate{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.pi-prose{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.pi-prose--quiet{color:var(--text-muted);font-size:var(--text-xs)}.pi-actions{display:flex;flex-direction:column;gap:var(--space-2)}.pi-action-primary{justify-content:center;gap:var(--space-2)}.pi-action-note{font-size:var(--text-xs);color:var(--text-muted);line-height:1.4}.pi-result{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-page);border:1px solid var(--border-subtle);border-left:4px solid var(--accent);border-radius:var(--radius-sm)}.pi-result--pending{flex-direction:row;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}.pi-result-head{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.pi-result-stale{color:var(--accent);text-transform:none;letter-spacing:0;font-style:italic}.pi-result-body{font:var(--type-prose);font-size:var(--text-sm);color:var(--text-primary);white-space:pre-wrap;overflow-wrap:break-word}.pi-result-regen{align-self:flex-start;font-size:var(--text-xs)}.pi-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;animation:pi-spin .8s linear infinite}@keyframes pi-spin{to{transform:rotate(360deg)}}.pi-tabs{display:flex;flex-direction:row;gap:var(--space-1);margin:0;padding-bottom:var(--space-1)}.pi-tab{min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:var(--space-2) var(--space-2);background:transparent;border:0;border-bottom:2px solid transparent;font:var(--type-small);color:var(--text-muted);cursor:pointer;transition:color var(--motion-fast) var(--ease-warm),border-color var(--motion-fast) var(--ease-warm)}.pi-tab:hover{color:var(--text-primary)}.pi-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.pi-ask-scope{display:flex;gap:0;margin:0 0 var(--space-2) 0;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:2px;background:var(--bg-page);align-self:flex-start}.pi-ask-scope-btn{background:transparent;border:0;padding:4px 12px;font:var(--type-label);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s ease,color .12s ease}.pi-ask-scope-btn:hover{color:var(--text-primary)}.pi-ask-scope-btn--active{background:var(--accent);color:var(--accent-on, #fff)}.pi-ask-form{display:flex;flex-direction:column;gap:var(--space-2)}.pi-ask-input{width:100%;padding:var(--space-2) var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font:var(--type-small);color:var(--text-primary);resize:none;max-height:33vh;overflow-y:auto;display:block;min-height:54px;min-height:calc(2lh + var(--space-2) * 2 + 2px)}.pi-ask-input:focus{outline:none;border-color:var(--accent)}.pi-ask-input::placeholder{color:var(--text-faint);font-style:italic}.pi-compose{display:flex;flex-direction:column;gap:var(--space-2);margin:0 calc(var(--space-5) * -1) calc(var(--space-4) * -1);padding:var(--space-3) var(--space-5);background:var(--bg-surface);border-top:1px solid var(--border-subtle)}.pi-ask-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.pi-ask-controls-buttons{display:flex;align-items:center;gap:var(--space-2)}.pi-action-summarize{flex-shrink:0;gap:4px;white-space:nowrap}.pi-ask-empty{margin-top:var(--space-3)}.pi-ask-history{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.pi-ask-ex{padding:var(--space-3) var(--space-4);background:var(--bg-page);border:1px solid var(--border-subtle);border-left:3px solid var(--accent);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:var(--space-1)}.pi-ask-q{display:flex;align-items:flex-start;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--w-medium);color:var(--text-primary)}.pi-ask-q>svg{color:var(--accent);margin-top:2px;flex-shrink:0}.pi-ask-a{font-size:var(--text-sm);line-height:1.55;color:var(--text-primary);white-space:pre-wrap;overflow-wrap:break-word;padding-left:22px}.pi-ask-a-pending{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-muted);font-style:italic}.pi-ask-meta{font-size:var(--text-xs);color:var(--text-muted);padding-left:22px}.pi-smart-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.pi-smart-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-page);border:1px solid var(--border-subtle);border-left:3px solid rgba(255,234,76,.65);border-radius:var(--radius-sm)}.pi-smart-quote{font:var(--type-small);font-style:italic;color:var(--text-primary)}.pi-smart-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.pi-smart-actions .chrome-btn{font-size:var(--text-xs);padding:4px 8px}.ai-setup{width:min(480px,94vw);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.ai-setup-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.ai-setup-title{margin:0;font:var(--type-subhead);color:var(--text-primary)}.ai-setup-body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5)}.ai-setup-prose{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.ai-setup-prose--quiet{color:var(--text-muted);font-size:var(--text-xs)}.ai-setup-facts{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.ai-setup-fact{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:var(--text-sm)}.ai-setup-fact-key{color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.ai-setup-fact-val{color:var(--text-primary)}.ai-setup-progress{display:flex;flex-direction:column;gap:var(--space-1)}.ai-setup-progress-bar{position:relative;height:6px;background:var(--border-subtle);border-radius:999px;overflow:hidden}.ai-setup-progress-fill{position:absolute;inset:0 auto 0 0;background:var(--accent);border-radius:999px;transition:width .18s ease-out}.ai-setup-progress-meta{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--text-muted)}.ai-setup-progress-pct{font-variant-numeric:tabular-nums;color:var(--text-primary)}.ai-setup-error{margin:0;padding:var(--space-2) var(--space-3);border:1px solid rgba(220,64,64,.45);border-radius:var(--radius-sm);background:#dc40401a;color:#c83838;font-size:var(--text-sm);line-height:1.45}.ai-setup-foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-subtle);background:var(--bg-page)}.listen{width:0;flex-shrink:0;background:var(--bg-surface);border-left:1px solid var(--border-subtle);overflow:hidden;transition:width var(--motion-med) var(--ease-warm);display:flex;flex-direction:column}.listen.open{width:360px}.listen-head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);font:var(--type-heading);letter-spacing:var(--tracking-tight);display:flex;align-items:center;gap:var(--space-2)}.listen-mode{display:flex;gap:4px;margin:var(--space-2) var(--space-5);padding:2px;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.listen-mode-btn{flex:1;background:transparent;border:0;font:inherit;font-size:var(--text-sm);color:var(--text-muted);padding:6px 10px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.listen-mode-btn:hover{color:var(--text-primary)}.listen-mode-btn--active{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle)}.listen-neural{padding:var(--space-3) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);flex:1 1 auto;min-height:0;overflow-y:auto}.listen-neural-prose{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-muted)}.listen-neural-actions{display:flex;gap:var(--space-2)}.listen-neural-err{margin:0;font-size:var(--text-sm);color:#c83838}.listen-neural-audio{width:100%}.listen-controls{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-3)}.row{display:flex;align-items:center;gap:var(--space-2)}.row label{font-size:var(--text-sm);color:var(--text-muted);min-width:48px}select,input[type=range]{flex:1;font:var(--type-small);accent-color:var(--accent)}select{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-2);background:var(--bg-page);color:var(--text-primary)}.rate-value{font-size:var(--text-sm);color:var(--text-muted);min-width:34px;text-align:right}.playbar{display:flex;gap:var(--space-2)}.playbar button{flex:1;justify-content:center}.playbar--icons{gap:var(--space-2)}.playbar--icons .listen-icon-btn{flex:0 0 auto;width:40px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center}.playbar--icons .listen-icon-btn--toggle{margin-left:auto}.listen-warning{font-size:var(--text-xs);line-height:1.45;color:var(--text-muted);background:var(--accent-soft, rgba(180, 92, 60, .08));border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.transcript{flex:1;overflow:auto;padding:var(--space-4) var(--space-5);font-size:var(--text-lg);line-height:var(--lh-loose);font-feature-settings:var(--ff-body)}.transcript .w{display:inline-block;border-radius:var(--radius-xs);padding:0 2px;margin:0 .26em 0 -2px;transform:scale(1);transition:background var(--motion-base) var(--ease-warm),color var(--motion-base) var(--ease-warm),transform var(--motion-base) var(--ease-warm),box-shadow var(--motion-base) var(--ease-warm)}.transcript .w.reading{background:var(--reading-highlight);color:var(--reading-highlight-on);transform:scale(1.06);box-shadow:0 2px 12px var(--reading-glow)}.transcript .placeholder{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);padding:var(--space-10) var(--space-5);color:var(--text-muted);font-style:italic;line-height:var(--lh-relaxed)}.transcript .placeholder .placeholder-mark{color:var(--text-faint);opacity:.55}.transcript .placeholder strong{color:var(--text-primary);font-weight:var(--w-medium);font-style:normal}.find{width:0;flex-shrink:0;background:var(--bg-surface);border-left:1px solid var(--border-subtle);overflow:hidden;transition:width var(--motion-med) var(--ease-warm);display:flex;flex-direction:column}.find.open{width:360px}.find-head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);font:var(--type-heading);letter-spacing:var(--tracking-tight);display:flex;align-items:center;gap:var(--space-2)}.find-controls{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-2)}.find-input-wrap{position:relative;display:flex;align-items:center}.find-input-icon{position:absolute;left:var(--space-3);color:var(--text-faint);display:inline-flex;pointer-events:none}.find-input{flex:1;font:var(--type-body);color:var(--text-primary);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-7) var(--space-2) calc(var(--space-3) + 16px + var(--space-2));transition:border-color var(--motion-base) var(--ease-warm)}.find-input:focus{outline:none;border-color:var(--accent)}.find-input::placeholder{color:var(--text-faint)}.find-input-clear{position:absolute;right:var(--space-2);background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:inline-flex;padding:var(--space-1);border-radius:var(--radius-sm);transition:background var(--motion-fast) var(--ease-warm)}.find-input-clear:hover{background:var(--bg-surface);color:var(--text-primary)}.find-status{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;min-height:1.2em}.find-results{flex:1;overflow:auto;padding:var(--space-3) var(--space-3)}.find-results ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.find-result{display:flex;flex-direction:column;gap:var(--space-1);width:100%;padding:var(--space-3);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-align:left;font:var(--type-prose);color:var(--text-primary);transition:background var(--motion-fast) var(--ease-warm),border-color var(--motion-fast) var(--ease-warm)}.find-result:hover{background:var(--bg-page);border-color:var(--border-subtle)}.find-result-page{font-size:var(--text-xs);font-weight:var(--w-semibold);color:var(--text-faint);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.find-result-snippet{font-size:var(--text-sm);line-height:var(--lh-relaxed);color:var(--text-muted)}.find-result-snippet mark{background:var(--reading-highlight);color:var(--reading-highlight-on);border-radius:var(--radius-xs);padding:0 2px}.find-placeholder{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);padding:var(--space-10) var(--space-5);color:var(--text-muted);font-style:italic;line-height:var(--lh-relaxed)}.find-placeholder svg{color:var(--text-faint);opacity:.55}.find-placeholder p{max-width:280px}.find-scan-offer{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);max-width:280px;font-style:normal}.find-scan-offer p{margin:0}.find-scan-lead{font:var(--type-label);color:var(--text-primary)}.find-scan-note{font:var(--type-small);color:var(--text-muted)}.outline{width:0;flex-shrink:0;background:var(--bg-surface);border-left:1px solid var(--border-subtle);overflow:hidden;transition:width var(--motion-med) var(--ease-warm);display:flex;flex-direction:column}.outline.open{width:360px}.compare{width:0;flex-shrink:0;background:var(--bg-surface);border-left:1px solid var(--border-subtle);overflow:hidden;transition:width var(--motion-med) var(--ease-warm);display:flex;flex-direction:column}.compare.open{width:420px}.compare-head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);font:var(--type-heading);letter-spacing:var(--tracking-tight);display:flex;align-items:center;gap:var(--space-2)}.compare-controls{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-2)}.compare-field{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}.compare-field>span{width:50px;flex-shrink:0}.compare-field>select{flex:1;min-width:0;text-overflow:ellipsis;font:inherit;font-size:var(--text-sm);background:var(--bg-page);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:4px 8px}.compare-pagerow{display:flex;align-items:center;gap:var(--space-2)}.compare-pagenum{display:flex;align-items:center;gap:4px;font-size:var(--text-sm)}.compare-pagenum>input{width:56px;font:inherit;font-size:var(--text-sm);background:var(--bg-page);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:4px 6px;text-align:right}.compare-pagenum-total{color:var(--text-muted);font-variant-numeric:tabular-nums}.compare-canvaswrap{flex:1;overflow:auto;padding:var(--space-2);background:var(--bg-page);display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.compare-canvas{background:#fff;box-shadow:0 4px 14px #00000026;display:block}.compare-loading{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--text-muted);font-style:italic}.compare-err{margin:0;color:#c83838;font-size:var(--text-sm)}.compare-prose{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.compare-prose--quiet{color:var(--text-muted)}.outline-head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);font:var(--type-heading);letter-spacing:var(--tracking-tight);display:flex;align-items:center;gap:var(--space-2)}.outline-body{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-3)}.outline-list{list-style:none;padding:0;margin:0}.outline-list .outline-list{padding-left:var(--space-4);border-left:1px dashed var(--border-subtle);margin-left:10px}.outline-item{display:block}.outline-row{display:flex;align-items:center;gap:var(--space-1);min-height:28px}.outline-toggle{width:22px;height:22px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-faint);cursor:pointer;padding:0;transition:background var(--motion-fast) var(--ease-warm),color var(--motion-fast) var(--ease-warm)}.outline-toggle:hover{background:var(--bg-page);color:var(--text-primary)}.outline-toggle--leaf{cursor:default}.outline-title{flex:1;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);text-align:left;font:var(--type-small);color:var(--text-primary);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background var(--motion-fast) var(--ease-warm),border-color var(--motion-fast) var(--ease-warm)}.outline-title:hover{background:var(--bg-page);border-color:var(--border-subtle)}.outline-title--bold{font-weight:var(--w-semibold)}.outline-title--italic{font-style:italic}.outline-placeholder{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);padding:var(--space-10) var(--space-5);color:var(--text-muted);font-style:italic;line-height:var(--lh-relaxed)}.outline-placeholder svg{color:var(--text-faint);opacity:.55}.outline-placeholder p{max-width:240px}.outline-head-tag{margin-left:auto;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted);padding:2px 6px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.outline-detected-note{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);font-size:var(--text-2xs);color:var(--text-muted);background:var(--bg-page);border-bottom:1px solid var(--border-subtle)}.outline-link{background:transparent;border:0;font:inherit;font-size:var(--text-2xs);color:var(--text-muted);cursor:pointer;padding:0}.outline-link:hover{color:var(--accent);text-decoration:underline}.outline-detect-btn{margin-top:var(--space-3)}.outline-pro-hint{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--text-sm);color:var(--text-muted);max-width:260px}.outline-prose{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--text-primary)}.outline-prose--quiet{color:var(--text-muted)}.outline-eta{flex-shrink:0;font-size:var(--text-2xs);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:6px}.outline-abstract-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:4px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity 80ms ease-out}.outline-row:hover .outline-abstract-btn,.outline-abstract-btn:focus-visible{opacity:1}.outline-abstract-btn:hover{color:var(--accent);border-color:var(--border-subtle)}.outline-abstract-btn--has{opacity:1;color:var(--accent)}.outline-abstract{margin:4px 0 6px 28px;padding:8px 10px;background:var(--bg-page);border-left:2px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.outline-abstract-text{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.outline-abstract-text--pending{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-style:italic}.outline-abstract-actions{display:flex;gap:var(--space-3);margin-top:6px}.thumbs{width:0;flex-shrink:0;background:var(--bg-surface);border-right:1px solid var(--border-subtle);overflow:hidden;transition:width var(--motion-med) var(--ease-warm);display:flex;flex-direction:column}.thumbs.open{width:180px}.thumbs-head{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);font:var(--type-micro);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}.thumbs-list{flex:1;overflow-y:auto;padding:var(--space-3);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.thumb{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:0;background:transparent;border:none;cursor:pointer;font:var(--type-body)}.thumb-canvas{background:var(--doc-page-bg);border-radius:var(--radius-xs);box-shadow:var(--shadow-sm);border:2px solid transparent;overflow:hidden;transition:border-color var(--motion-fast) var(--ease-warm),box-shadow var(--motion-fast) var(--ease-warm),transform var(--motion-fast) var(--ease-warm)}.thumb-canvas canvas{display:block}.thumb:hover .thumb-canvas{border-color:var(--border-subtle);box-shadow:var(--shadow-md);transform:translateY(var(--lift-hover-subtle))}.thumb--current .thumb-canvas{border-color:var(--accent);box-shadow:var(--shadow-md)}.thumb--current:hover .thumb-canvas{border-color:var(--accent)}.thumb-number{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.thumb--current .thumb-number{color:var(--accent);font-weight:var(--w-semibold)}.palette-scrim{position:fixed;inset:0;background:var(--bg-overlay);backdrop-filter:blur(6px);z-index:250;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;animation:palette-scrim-in var(--motion-base) var(--ease-warm)}.palette{width:100%;max-width:600px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;max-height:70vh;animation:palette-card-in var(--motion-med) var(--ease-warm)}.palette-input-wrap{position:relative;display:flex;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.palette-input-icon{display:inline-flex;color:var(--text-muted);flex-shrink:0}.palette-input{flex:1;border:none;outline:none;background:transparent;font:var(--type-subhead);font-feature-settings:var(--ff-body);color:var(--text-primary);padding:var(--space-2) var(--space-3)}.palette-input::placeholder{color:var(--text-faint)}.palette-input-hint{font-size:var(--text-xs);font-weight:var(--w-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-faint);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:2px var(--space-2);flex-shrink:0}.palette-list{flex:1;overflow-y:auto;padding:var(--space-2);display:flex;flex-direction:column;gap:1px}.palette-group{font-size:var(--text-xs);font-weight:var(--w-semibold);color:var(--text-faint);text-transform:uppercase;letter-spacing:var(--tracking-wide);padding:var(--space-3) var(--space-3) var(--space-1)}.palette-group:first-child{padding-top:var(--space-1)}.palette-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-sm);font:var(--type-body);color:var(--text-primary);text-align:left;cursor:pointer;transition:background var(--motion-fast) var(--ease-warm),color var(--motion-fast) var(--ease-warm)}.palette-item:hover{background:var(--bg-page)}.palette-item--active{background:var(--accent);color:var(--accent-on)}.palette-item--active:hover{background:var(--accent)}.palette-item-icon{display:inline-flex;align-items:center;color:var(--text-muted);flex-shrink:0}.palette-item--active .palette-item-icon{color:var(--accent-on)}.palette-item-label{flex:1}.palette-item-shortcut{font-size:var(--text-sm);color:var(--text-faint);font-variant-numeric:tabular-nums;flex-shrink:0}.palette-item--active .palette-item-shortcut{color:var(--accent-on);opacity:.85}.palette-empty{text-align:center;padding:var(--space-8) var(--space-4);color:var(--text-muted);font-style:italic}@keyframes palette-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes palette-card-in{0%{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}#overlay{position:absolute;inset:0;background:var(--bg-overlay);backdrop-filter:blur(4px);display:none;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);z-index:50}#overlay.show{display:flex}#overlay svg{width:var(--brand-mark-loader);height:var(--brand-mark-loader);overflow:visible}#overlay .ol{font-size:var(--text-md);letter-spacing:var(--tracking-wide);color:var(--text-muted)}.sidepane-scrim{position:fixed;inset:0;background:var(--bg-overlay);backdrop-filter:blur(3px);z-index:200;opacity:0;pointer-events:none;transition:opacity var(--motion-med) var(--ease-warm)}.sidepane-scrim--open{opacity:1;pointer-events:auto}.sidepane{position:fixed;top:0;left:0;bottom:0;width:320px;max-width:88vw;background:var(--bg-surface);border-right:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);z-index:201;transform:translate(-100%);transition:transform var(--motion-med) var(--ease-warm);display:flex;flex-direction:column;font:var(--type-body)}.sidepane--open{transform:translate(0)}.sidepane-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.sidepane-logo{width:var(--brand-mark-sm);height:var(--brand-mark-sm);display:inline-flex;flex-shrink:0;filter:drop-shadow(var(--filter-drop-md))}.sidepane-logo svg{width:100%;height:100%;display:block}.sidepane-wordmark{font:var(--type-brand);font-feature-settings:var(--ff-display);font-variation-settings:var(--fv-display);letter-spacing:var(--tracking-tight);flex:1;color:var(--text-primary)}.sidepane-close{flex-shrink:0}.sidepane-body{flex:1;overflow-y:auto;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.sidepane-group{display:flex;flex-direction:column;gap:var(--space-2)}.sidepane-group+.sidepane-group{border-top:1px solid var(--border-subtle);padding-top:var(--space-3)}.sidepane-section-label{margin:0;padding:0 var(--space-1);font-size:var(--text-xs);font-weight:var(--w-semibold);color:var(--text-faint);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.sidepane-group-rows{display:flex;flex-direction:column}.sidepane-group-rows--facts{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-1) 0}.sidepane-item,.sidepane-info{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-h);padding:0 var(--space-3);text-align:left}.sidepane-item{background:transparent;border:none;border-radius:var(--radius-sm);font:var(--type-body);color:var(--text-primary);cursor:pointer;transition:background var(--motion-fast) var(--ease-warm)}.sidepane-item:hover:not(:disabled){background:var(--bg-page)}.sidepane-item:disabled{opacity:.4;cursor:default}.sidepane-item-icon{display:inline-flex;align-items:center;color:var(--text-muted);flex-shrink:0}.sidepane-item-label{flex:1}.sidepane-item-meta{font-size:var(--text-sm);color:var(--text-muted)}.sidepane-item-shortcut{font:var(--type-small);font-variant-numeric:tabular-nums;color:var(--text-faint)}.sidepane-info{cursor:default}.sidepane-info-label{font-size:var(--text-sm);color:var(--text-muted);flex-shrink:0}.sidepane-info-value{flex:1;min-width:0;text-align:right;font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidepane-footer{flex-shrink:0;padding:var(--space-3);border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-3)}.sidepane-divider{height:0}.toast{position:fixed;bottom:var(--space-8);left:50%;transform:translate(-50%);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-3) var(--space-5);font-size:var(--text-md);color:var(--text-primary);z-index:300;animation:toast-in var(--motion-med) var(--ease-warm);max-width:90vw}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.about{width:100%;max-width:460px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-8) var(--space-7);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);position:relative;animation:palette-card-in var(--motion-med) var(--ease-warm)}.about-close{position:absolute;top:var(--space-3);right:var(--space-3)}.about-mark{width:72px;height:72px;filter:drop-shadow(var(--filter-drop-md));margin-bottom:var(--space-2)}.about-mark svg{width:100%;height:100%;display:block}.about-title{font:var(--type-brand);font-size:var(--text-2xl);font-feature-settings:var(--ff-display);font-variation-settings:var(--fv-display);letter-spacing:var(--tracking-tight);margin:0}.about-tag{font-size:var(--text-md);color:var(--text-muted);font-style:italic;margin:0}.about-body{text-align:left;display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2);width:100%}.about-body p{font-size:var(--text-sm);line-height:var(--lh-relaxed);color:var(--text-muted);margin:0}.about-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.about-points li{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-muted);line-height:var(--lh-relaxed)}.about-points li svg{flex-shrink:0;color:var(--accent);margin-top:2px}.about-points strong{color:var(--text-primary);font-weight:var(--w-medium)}.about-build{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.about-foot{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);width:100%;justify-content:center}.about-foot kbd{font:var(--type-label);color:var(--text-primary);background:var(--bg-page);border:1px solid var(--border-subtle);border-bottom-width:2px;border-radius:var(--radius-sm);padding:1px var(--space-2)}.about-foot-hint{color:var(--text-muted)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-sm);border:3px solid transparent;background-clip:content-box}.bookmarks{width:0;flex-shrink:0;background:var(--bg-surface);border-left:1px solid var(--border-subtle);overflow:hidden;transition:width var(--motion-med) var(--ease-warm);display:flex;flex-direction:column}.bookmarks.open{width:320px}.bookmarks-head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);font:var(--type-heading);letter-spacing:var(--tracking-tight);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.bookmarks-head-title{display:inline-flex;align-items:center;gap:var(--space-2)}.bookmarks-head-export{display:inline-flex;align-items:center;gap:var(--space-1);font:var(--type-small);letter-spacing:0;color:var(--text-muted);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-warm),color var(--motion-fast) var(--ease-warm)}.bookmarks-head-export:hover{border-color:var(--accent);color:var(--accent)}.bookmarks-head-export:disabled{opacity:.4;cursor:default}.bookmarks-head-export:disabled:hover{border-color:var(--border-subtle);color:var(--text-muted)}.tab-strip{display:flex;align-items:stretch;gap:var(--space-1);padding:var(--space-2) var(--space-3) 0;background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);flex-shrink:0;user-select:none;overflow-x:auto;overflow-y:hidden}.tab-strip-tabs{display:flex;align-items:stretch;gap:var(--space-1);flex:1;min-width:0}.doc-tab{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-bottom:none;border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md);font:var(--type-small);color:var(--text-muted);cursor:pointer;max-width:220px;min-width:120px;position:relative;transition:background var(--motion-fast) var(--ease-warm),color var(--motion-fast) var(--ease-warm)}.doc-tab:hover{background:var(--bg-surface);color:var(--text-primary)}.doc-tab--active{background:var(--bg-page);color:var(--text-primary);font-weight:var(--w-medium);box-shadow:0 1px 0 0 var(--bg-page)}.doc-tab--active:after{content:"";position:absolute;top:0;left:var(--space-2);right:var(--space-2);height:2px;background:var(--accent);border-radius:0 0 var(--radius-sm) var(--radius-sm)}.doc-tab--dragging{opacity:.35}.doc-tab--drag-over{box-shadow:-3px 0 0 var(--accent)}.doc-tab-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-tab-close{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-faint);cursor:pointer;padding:0;flex-shrink:0;opacity:0;transition:opacity var(--motion-fast) var(--ease-warm),background var(--motion-fast) var(--ease-warm),color var(--motion-fast) var(--ease-warm)}.doc-tab:hover .doc-tab-close,.doc-tab--active .doc-tab-close,.doc-tab:focus-within .doc-tab-close{opacity:1}.doc-tab-close:hover{background:var(--bg-surface);color:var(--accent)}.tab-add{display:inline-flex;align-items:stretch;align-self:center;height:var(--control-h);flex-shrink:0;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:border-color var(--motion-fast) var(--ease-warm),box-shadow var(--motion-fast) var(--ease-warm)}.tab-add:hover,.tab-add:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.tab-add-main,.tab-add-more{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--text-muted);cursor:pointer;padding:0;transition:background var(--motion-fast) var(--ease-warm),color var(--motion-fast) var(--ease-warm)}.tab-add-main{gap:6px;padding:5px var(--space-3);border-radius:calc(var(--radius-sm) - 1px) 0 0 calc(var(--radius-sm) - 1px);font:var(--type-label);font-weight:var(--w-medium);white-space:nowrap}.tab-add-more{padding:0 5px;border-radius:0 calc(var(--radius-sm) - 1px) calc(var(--radius-sm) - 1px) 0;border-left:1px solid var(--border-subtle)}.tab-add-main:hover,.tab-add-more:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}.tab-add .menu-root{display:flex;align-self:stretch}.ribbon-btn-with-badge{position:relative}.ribbon-btn-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;background:var(--accent);color:var(--accent-on);border:1.5px solid var(--bg-elevated);border-radius:var(--radius-sm);font:var(--type-micro);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;text-align:center;pointer-events:none}.bookmarks-controls{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle)}.bookmarks-add{width:100%;justify-content:center}.bookmarks-list{flex:1;overflow-y:auto;padding:var(--space-3)}.bookmarks-list ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.bookmarks-row{display:flex;align-items:stretch;gap:var(--space-1)}.bookmarks-item{flex:1;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-align:left;font:var(--type-small);color:var(--text-primary);transition:background var(--motion-fast) var(--ease-warm),border-color var(--motion-fast) var(--ease-warm);min-width:0}.bookmarks-item:hover{background:var(--bg-page);border-color:var(--border-subtle)}.bookmarks-item-page{font-variant-numeric:tabular-nums;color:var(--text-faint);font-weight:var(--w-semibold);flex-shrink:0}.bookmarks-item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bookmarks-rename{flex:1;font:var(--type-small);color:var(--text-primary);background:var(--bg-page);border:1px solid var(--accent);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);outline:none}.bookmarks-remove{flex-shrink:0;width:32px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity var(--motion-fast) var(--ease-warm),background var(--motion-fast) var(--ease-warm),border-color var(--motion-fast) var(--ease-warm),color var(--motion-fast) var(--ease-warm)}.bookmarks-row:hover .bookmarks-remove,.bookmarks-row:focus-within .bookmarks-remove{opacity:1}.bookmarks-remove:hover{background:var(--bg-page);border-color:var(--accent);color:var(--accent)}.bookmarks-placeholder{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);padding:var(--space-10) var(--space-5);color:var(--text-muted);font-style:italic;line-height:var(--lh-relaxed)}.bookmarks-placeholder svg{color:var(--text-faint);opacity:.55}.bookmarks-placeholder p{max-width:240px}.settings{width:100%;max-width:820px;max-height:80vh;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:palette-card-in var(--motion-med) var(--ease-warm)}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.settings-title{margin:0;font:var(--type-heading);letter-spacing:var(--tracking-tight)}.settings-body{flex:1;display:flex;min-height:0}.settings-tabs{flex-shrink:0;width:200px;padding:var(--space-3);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:2px;background:var(--bg-elevated);overflow-y:auto}.settings-tab{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:left;font:var(--type-body);color:var(--text-primary);transition:background var(--motion-fast) var(--ease-warm),color var(--motion-fast) var(--ease-warm)}.settings-tab:hover{background:var(--bg-page)}.settings-tab--active{background:var(--accent);color:var(--accent-on)}.settings-tab--active:hover{background:var(--accent)}.settings-tab svg{flex-shrink:0}.settings-panel{flex:1;overflow-y:auto;padding:var(--space-6) var(--space-7)}.settings-section{display:flex;flex-direction:column;gap:var(--space-5)}.settings-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.settings-row:last-child{border-bottom:none;padding-bottom:0}.settings-row--full{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.settings-row-text{flex:1 1 22ch;min-width:16ch}.settings-row-label{font-size:var(--text-md);font-weight:var(--w-medium);color:var(--text-primary)}.settings-row-hint{font-size:var(--text-sm);color:var(--text-muted);line-height:var(--lh-relaxed);margin-top:4px}.settings-row-control{flex-shrink:0}.settings-prose{font-size:var(--text-sm);line-height:var(--lh-relaxed);color:var(--text-muted);margin-bottom:var(--space-3)}.settings-prose-list{list-style:disc inside;font-size:var(--text-sm);color:var(--text-muted);line-height:var(--lh-relaxed);margin-bottom:var(--space-3);padding-left:var(--space-3)}.settings-prose-list strong{color:var(--text-primary);font-weight:var(--w-medium)}.settings-seg{display:inline-flex;flex-wrap:wrap;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:2px;gap:2px}.settings-seg-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;font:var(--type-small);color:var(--text-primary);transition:background var(--motion-fast) var(--ease-warm),color var(--motion-fast) var(--ease-warm)}.settings-seg-btn:hover{background:var(--bg-surface)}.settings-seg-btn--active{background:var(--accent);color:var(--accent-on)}.settings-seg-btn--active:hover{background:var(--accent)}.settings-toggle{width:44px;height:24px;border-radius:12px;background:var(--border-subtle);border:none;cursor:pointer;padding:2px;display:inline-flex;align-items:center;transition:background var(--motion-fast) var(--ease-warm)}.settings-toggle-knob{width:20px;height:20px;border-radius:50%;background:var(--bg-surface);box-shadow:var(--shadow-sm);transition:transform var(--motion-base) var(--ease-warm)}.settings-toggle--on{background:var(--accent)}.settings-toggle--on .settings-toggle-knob{transform:translate(20px)}.settings-select,.settings-num,.settings-range{font:var(--type-small);color:var(--text-primary);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);outline:none}.settings-select{min-width:180px}.settings-num{width:80px;text-align:center;font-variant-numeric:tabular-nums}.settings-range{width:200px;padding:0;background:transparent;border:none;accent-color:var(--accent)}.settings-danger{background:var(--bg-page);border-color:var(--border-subtle);color:var(--accent);padding:var(--space-2) var(--space-4)}.settings-danger:hover{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}.settings-shortcuts{width:100%;border-collapse:collapse}.settings-shortcuts td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm)}.settings-shortcuts-group th{text-align:left;font-size:var(--text-xs);font-weight:var(--w-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-faint);padding:var(--space-4) var(--space-3) var(--space-1)}.settings-shortcuts kbd{font:var(--type-label);background:var(--bg-page);border:1px solid var(--border-subtle);border-bottom-width:2px;border-radius:var(--radius-sm);padding:1px var(--space-2)}.settings-shortcuts-action{color:var(--text-muted)}.settings-shortcuts-foot{margin-top:var(--space-4);font-style:italic}.shortcuts-dialog{width:100%;max-width:560px;max-height:80vh;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:palette-card-in var(--motion-med) var(--ease-warm)}.shortcuts-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.shortcuts-dialog-title{margin:0;display:flex;align-items:center;gap:var(--space-2);font:var(--type-heading);letter-spacing:var(--tracking-tight)}.shortcuts-dialog-body{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-5)}.shortcuts-group ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1)}.shortcuts-group-title{font-size:var(--text-xs);font-weight:var(--w-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-faint);margin:0 0 var(--space-2) 0}.shortcuts-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0}.shortcuts-item-keys{display:inline-flex;gap:var(--space-1);align-items:center}.shortcuts-item-or{color:var(--text-faint);font-size:var(--text-xs)}.shortcuts-item-keys kbd{font:var(--type-label);color:var(--text-primary);background:var(--bg-page);border:1px solid var(--border-subtle);border-bottom-width:2px;border-radius:var(--radius-sm);padding:1px var(--space-2)}.shortcuts-item-action{font-size:var(--text-sm);color:var(--text-muted);text-align:right}.sync-desktop-only{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-page)}.shortcuts-dialog-note{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text-muted);font-size:var(--text-sm)}.shortcuts-dialog-foot{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--text-muted);font-style:italic}.shortcuts-dialog-foot kbd{font:var(--type-label);font-style:normal;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:1px var(--space-2)}.annotLayer{position:absolute;top:0;left:0;overflow:hidden;pointer-events:none}.annot-link{position:absolute;display:block;background:transparent;border:1px solid transparent;border-radius:var(--radius-xs);cursor:pointer;pointer-events:auto;text-decoration:none;color:inherit;font:inherit;padding:0;transition:background var(--motion-fast) var(--ease-warm),border-color var(--motion-fast) var(--ease-warm)}.annot-link:hover{background:var(--ring-glow);border-color:var(--accent)}.annot-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.context-menu{position:fixed;z-index:300;min-width:220px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-2);display:flex;flex-direction:column;gap:1px;animation:menu-fade-in var(--motion-base) var(--ease-warm)}.context-menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:5px var(--space-2);background:transparent;border:none;border-radius:var(--radius-sm);font:var(--type-label);color:var(--text-primary);text-align:left;cursor:pointer;transition:background var(--motion-fast) var(--ease-warm)}.context-menu-item:hover:not(:disabled){background:var(--bg-page)}.context-menu-item:disabled{opacity:.4;cursor:default}.context-menu-icon{display:inline-flex;align-items:center;color:var(--text-muted);flex-shrink:0}.context-menu-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context-menu-shortcut{font-size:var(--text-xs);color:var(--text-faint);font-variant-numeric:tabular-nums;flex-shrink:0}.lib-filter{position:relative;display:flex;align-items:center;margin-bottom:var(--space-2)}.lib-filter-icon{position:absolute;left:var(--space-3);color:var(--text-faint);display:inline-flex;pointer-events:none}.lib-filter-input{flex:1;font:var(--type-small);color:var(--text-primary);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-7) var(--space-2) calc(var(--space-3) + 16px + var(--space-2));outline:none;transition:border-color var(--motion-base) var(--ease-warm)}.lib-filter-input:focus{border-color:var(--accent)}.lib-filter-input::placeholder{color:var(--text-faint)}.lib-filter-clear{position:absolute;right:var(--space-2);background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:inline-flex;padding:var(--space-1);border-radius:var(--radius-sm);transition:background var(--motion-fast) var(--ease-warm)}.lib-filter-clear:hover{background:var(--bg-surface);color:var(--text-primary)}.reading-session{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);margin-right:var(--space-1);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;position:relative}.reading-session svg{color:var(--accent)}html[data-page-tint=sepia]{--pg-tint: brightness(.842) sepia(.4) saturate(1.05)}html[data-page-tint=cream]{--pg-tint: brightness(.931) sepia(.18) saturate(1.02)}.reading-time{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);margin-right:var(--space-2);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;position:relative}.reading-time svg{color:var(--text-faint)}.find-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.find-counter{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;min-height:1.2em}.find-nav-buttons{display:flex;align-items:center;gap:var(--space-1)}.find-result--active{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}.find-result--active:hover{background:var(--accent);border-color:var(--accent)}.find-result--active .find-result-page,.find-result--active .find-result-snippet{color:var(--accent-on)}.find-result--active mark{background:var(--accent-on);color:var(--accent)}.reading-progress{height:3px;width:100%;background:var(--bg-elevated);flex-shrink:0;position:relative;overflow:hidden}.reading-progress-bar{height:100%;background:var(--accent);box-shadow:0 0 8px var(--ring-glow);transition:width var(--motion-base) var(--ease-warm);width:0%}html[data-fullscreen=on] body{background:var(--doc-page-bg)}.fullscreen-exit{position:absolute;top:var(--space-4);right:var(--space-4);z-index:20;display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font:var(--type-small);cursor:pointer;box-shadow:var(--shadow-md);opacity:0;transition:opacity var(--motion-med) var(--ease-warm),background var(--motion-fast) var(--ease-warm)}.viewer-wrap:hover .fullscreen-exit,.fullscreen-exit:hover,.fullscreen-exit:focus-visible{opacity:1}.fullscreen-exit:hover{background:var(--bg-page)}.lib-continue-card{display:grid;grid-template-areas:"icon arrow" "name name" "meta meta";grid-template-columns:1fr auto;row-gap:var(--space-3);column-gap:var(--space-3);width:100%;padding:var(--space-5);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;text-align:left;font:var(--type-prose);color:var(--text-primary);box-shadow:var(--shadow-sm);transform:translateY(var(--lift-rest));transition:background var(--motion-base) var(--ease-warm),border-color var(--motion-base) var(--ease-warm),transform var(--motion-base) var(--ease-warm),box-shadow var(--motion-base) var(--ease-warm)}.lib-empty--small{padding:var(--space-6) var(--space-4);gap:var(--space-2)}.lib-empty--small .lib-empty-title{font-size:var(--text-lg)}@media (prefers-reduced-motion: reduce){html:not([data-motion=full]) *,html:not([data-motion=full]) *:before,html:not([data-motion=full]) *:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}html[data-motion=reduce] *,html[data-motion=reduce] *:before,html[data-motion=reduce] *:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}html[data-accent=amber]{--accent: #c98a2f;--ring: #c98a2f;--ring-glow: rgba(201, 138, 47, .22)}html[data-theme=dark][data-accent=amber]{--accent: #e6b066;--ring: #e6b066;--ring-glow: rgba(230, 176, 102, .28)}html[data-accent=forest]{--accent: #3f7d4f;--ring: #3f7d4f;--ring-glow: rgba(63, 125, 79, .22)}html[data-theme=dark][data-accent=forest]{--accent: #74b08a;--ring: #74b08a;--ring-glow: rgba(116, 176, 138, .28)}html[data-accent=indigo]{--accent: #4f5fb0;--ring: #4f5fb0;--ring-glow: rgba(79, 95, 176, .22)}html[data-theme=dark][data-accent=indigo]{--accent: #8d99dd;--ring: #8d99dd;--ring-glow: rgba(141, 153, 221, .28)}html[data-accent=rose]{--accent: #b0506a;--ring: #b0506a;--ring-glow: rgba(176, 80, 106, .22)}html[data-theme=dark][data-accent=rose]{--accent: #d8869c;--ring: #d8869c;--ring-glow: rgba(216, 134, 156, .28)}html[data-accent=slate]{--accent: #5e6975;--ring: #5e6975;--ring-glow: rgba(94, 105, 117, .22)}html[data-theme=dark][data-accent=slate]{--accent: #a3b0bd;--ring: #a3b0bd;--ring-glow: rgba(163, 176, 189, .28)}html[data-density=compact]{--space-1: 3px;--space-2: 6px;--space-3: 10px;--space-4: 13px;--space-5: 16px;--space-6: 19px;--space-7: 22px;--space-8: 25px;--space-10: 32px;--space-12: 38px;--text-md: 14px;--text-sm: 12.5px}html[data-density=spacious]{--space-1: 5px;--space-2: 10px;--space-3: 14px;--space-4: 19px;--space-5: 24px;--space-6: 28px;--space-7: 34px;--space-8: 40px;--space-10: 48px;--space-12: 58px;--text-md: 16px;--text-sm: 14.5px}html[data-page-tint=mint]{--pg-tint: hue-rotate(85deg) saturate(.75) brightness(.97)}html[data-page-tint=lavender]{--pg-tint: hue-rotate(245deg) saturate(.6) brightness(.97)}html[data-page-tint=midnight]{--pg-tint: invert(.92) hue-rotate(180deg) brightness(.95) contrast(1.1)}html[data-bionic=on] .textLayer{opacity:1}html[data-bionic=on] .textLayer span{color:transparent}html[data-bionic=on] .textLayer .bionic-bold{color:var(--text-primary);font-weight:var(--w-semibold)}.settings-swatch-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.settings-swatch{width:32px;height:32px;border-radius:var(--radius-pill);border:2px solid transparent;background:transparent;cursor:pointer;position:relative;display:inline-flex;align-items:center;justify-content:center;transition:border-color var(--motion-fast) var(--ease-warm),transform var(--motion-fast) var(--ease-warm)}.settings-swatch-dot{width:22px;height:22px;border-radius:var(--radius-pill);background:var(--swatch);box-shadow:0 0 0 1px var(--border-subtle),var(--shadow-sm);transition:transform var(--motion-fast) var(--ease-warm)}.settings-swatch:hover .settings-swatch-dot{transform:scale(1.06)}.settings-swatch:hover{border-color:var(--border-subtle)}.settings-swatch--active{border-color:var(--swatch)}.settings-swatch-check{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--accent-on);pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.4)}.settings-textarea{width:100%;font:var(--type-mono);background:var(--bg-page);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);resize:vertical;min-height:110px;transition:border-color var(--motion-fast) var(--ease-warm)}.settings-textarea:focus{outline:none;border-color:var(--accent)}.settings-voice-row{display:flex;gap:var(--space-2);align-items:center}.settings-voice-row .settings-select{flex:1}.settings-goal-row{display:flex;align-items:baseline;gap:var(--space-3)}.settings-goal-progress{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.settings-goal-bar{height:6px;background:var(--bg-elevated);border-radius:var(--radius-pill);overflow:hidden}.settings-goal-bar-fill{height:100%;background:var(--accent);border-radius:var(--radius-pill);transition:width var(--motion-base) var(--ease-warm)}.settings-goal-meta{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-sm);color:var(--text-muted)}.settings-streak{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--accent);font-weight:var(--w-medium)}.settings-num-row{display:flex;align-items:baseline;gap:var(--space-2)}.settings-storage{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.settings-storage-bar{height:8px;background:var(--bg-elevated);border-radius:var(--radius-pill);overflow:hidden}.settings-storage-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--gem-amber));border-radius:var(--radius-pill);transition:width var(--motion-base) var(--ease-warm)}.settings-storage-meta{display:flex;align-items:baseline;justify-content:space-between;font-size:var(--text-sm);gap:var(--space-3);flex-wrap:wrap}.settings-storage-meta strong{color:var(--text-primary)}.settings-storage-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.settings-data-inventory{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin:var(--space-3) 0}.settings-data-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--text-muted)}.settings-data-row+.settings-data-row{border-top:1px dashed var(--border-subtle)}.settings-data-row>span{display:inline-flex;align-items:center;gap:var(--space-2)}.settings-data-row strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.settings-row-hint--accent{color:var(--accent);font-weight:var(--w-medium)}.settings-shortcuts--editable td:first-child{width:220px}.settings-shortcuts--editable td:last-child{width:38px;text-align:right}.settings-keybtn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font:var(--type-small);cursor:pointer;position:relative;min-height:32px;transition:border-color var(--motion-fast) var(--ease-warm),background var(--motion-fast) var(--ease-warm)}.settings-keybtn:hover{border-color:var(--accent);background:var(--bg-surface)}.settings-keybtn em{font-style:italic;color:var(--accent);font-size:var(--text-xs)}.settings-keybtn--recording{border-color:var(--accent);background:var(--bg-surface);animation:keybtn-pulse 1.2s ease-in-out infinite}@keyframes keybtn-pulse{0%,to{box-shadow:0 0 0 0 var(--ring-glow)}50%{box-shadow:0 0 0 4px var(--ring-glow)}}.settings-keybtn-dot{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--accent);display:inline-block;margin-left:var(--space-1)}.settings-shortcuts-reset{padding-left:var(--space-2)}.settings-shortcuts-foot{margin-top:var(--space-5);display:flex;justify-content:flex-end}.chrome-btn--ghost{background:transparent!important;border-color:transparent!important;color:var(--text-muted)!important}.chrome-btn--ghost:hover{color:var(--accent)!important;background:var(--bg-surface)!important}.settings-row-control--full{width:100%;display:flex;flex-direction:column;gap:var(--space-2)}.settings-prose--small{font-size:var(--text-sm);color:var(--text-muted);display:flex;align-items:center;gap:var(--space-2)}.chrome-btn--primary{background:var(--accent)!important;color:var(--accent-on)!important;border-color:var(--accent)!important}.chrome-btn--primary:hover{filter:brightness(1.05)}.chrome-btn--primary:disabled{opacity:.5;cursor:not-allowed;filter:none}.sign{width:min(880px,96vw);max-height:88vh;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.sign-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.sign-title{font:var(--type-heading)}.sign-body{display:grid;grid-template-columns:1.4fr 1fr;gap:0;flex:1;min-height:0}.sign-create{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);border-right:1px solid var(--border-subtle);overflow-y:auto}.sign-vault{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);background:var(--bg-page);overflow-y:auto}.sign-tabs{display:flex;gap:var(--space-1);padding:4px;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.sign-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font:var(--type-small);transition:background var(--motion-fast) var(--ease-warm),color var(--motion-fast) var(--ease-warm)}.sign-tab:hover{color:var(--text-primary)}.sign-tab--active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.sign-row{display:flex;flex-direction:column;gap:var(--space-1)}.sign-row-label{font-size:var(--text-xs);font-weight:var(--w-semibold);color:var(--text-faint);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.sign-pad{display:flex;flex-direction:column;gap:var(--space-2);position:relative}.sign-pad-canvas{width:100%;height:180px;background:var(--signature-paper);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:crosshair;touch-action:none}.sign-pad-baseline{position:absolute;left:5%;right:5%;bottom:70px;height:0;border-bottom:1px dashed var(--signature-rule);pointer-events:none}.sign-pad-hint{text-align:center;font-size:var(--text-xs);color:var(--text-faint)}.sign-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.sign-typed-input{width:100%;font-size:var(--text-2xl);padding:var(--space-4);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-style:italic}.sign-typed-input:focus{outline:none;border-color:var(--accent)}.sign-typed-fonts{display:flex;gap:var(--space-2);flex-wrap:wrap}.sign-typed-font{flex:1;min-width:100px;padding:var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-lg);font-style:italic;color:var(--text-primary);transition:border-color var(--motion-fast) var(--ease-warm)}.sign-typed-font:hover{border-color:var(--accent)}.sign-typed-font--active{border-color:var(--accent);background:var(--bg-surface)}.sign-image{display:flex;flex-direction:column;gap:var(--space-3)}.sign-vault-head{display:flex;align-items:baseline;justify-content:space-between}.sign-vault-head h3{font:var(--type-subhead)}.sign-vault-count{font-size:var(--text-xs);color:var(--text-faint);font-variant-numeric:tabular-nums}.sign-vault-empty{padding:var(--space-6);text-align:center;color:var(--text-muted);font-size:var(--text-sm);background:var(--bg-surface);border:1px dashed var(--border-subtle);border-radius:var(--radius-md)}.sign-vault-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:0}.sign-vault-tile{display:grid;grid-template-columns:96px 1fr auto;gap:var(--space-3);padding:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center}.sign-vault-preview{width:96px;height:56px;background:var(--signature-paper);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:var(--space-1)}.sign-vault-preview img{max-width:100%;max-height:100%;object-fit:contain;display:block}.sign-vault-meta{min-width:0}.sign-vault-label{font-weight:var(--w-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sign-vault-kind{font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-top:2px}.sign-vault-locked{display:flex;align-items:flex-start;gap:6px;margin-top:6px;font-size:var(--text-xs);line-height:1.4;color:var(--text-muted)}.sign-vault-locked svg{flex:0 0 auto;margin-top:1px;opacity:.75}.sign-vault-actions{display:flex;gap:var(--space-1)}.signLayer{position:absolute;inset:0;pointer-events:none;z-index:8}.sign-placement{position:absolute;pointer-events:auto;cursor:grab;border:1px dashed transparent;border-radius:var(--radius-xs);touch-action:none;user-select:none;-webkit-user-select:none;transition:border-color var(--motion-fast) var(--ease-warm),box-shadow var(--motion-fast) var(--ease-warm)}.sign-placement:hover{border-color:var(--accent)}.sign-placement--active{border-color:var(--accent);box-shadow:0 0 0 2px var(--ring-glow);cursor:move}.sign-placement-img{width:100%;height:100%;display:block;pointer-events:none;filter:var(--pg-invert) drop-shadow(0 1px 0 rgba(0,0,0,.05))}.sign-placement-del{position:absolute;top:-10px;right:-10px;width:22px;height:22px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow-sm)}.sign-placement-del:hover{color:var(--accent-on);background:var(--accent);border-color:var(--accent)}.sign-placement-resize{position:absolute;bottom:-6px;right:-6px;width:14px;height:14px;background:var(--accent);border:2px solid var(--bg-surface);border-radius:var(--radius-pill);cursor:nwse-resize;touch-action:none}.reflow{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--bg-page);min-height:0}.reflow-bar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.reflow-bar-group{display:flex;align-items:center;gap:var(--space-2)}.reflow-bar-label{font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.reflow-bar-val{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:36px;text-align:center}.reflow-bar-spacer{flex:1}.reflow-bar-progress{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.reflow-range{width:140px}.reflow-scroll{flex:1;overflow-y:auto;padding:var(--space-8) var(--space-6);display:flex;justify-content:center}.reflow-article{width:100%;font:var(--type-prose);font-feature-settings:var(--ff-body);color:var(--text-primary)}.reflow-paragraph{margin:0 0 var(--space-5);text-align:justify;hyphens:auto;-webkit-hyphens:auto}.reflow-paragraph strong{font-weight:var(--w-semibold)}.reflow-empty{text-align:center;font-style:italic;color:var(--text-muted);padding:var(--space-12)}.libsearch{width:min(720px,96vw);max-height:78vh;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.libsearch-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);color:var(--text-muted)}.libsearch-input{flex:1;background:transparent;border:none;outline:none;font:var(--type-heading);color:var(--text-primary)}.libsearch-input::placeholder{color:var(--text-faint);font-style:italic}.libsearch-status{padding:var(--space-3) var(--space-5);font-size:var(--text-sm);color:var(--text-muted);border-bottom:1px solid var(--border-subtle);background:var(--bg-page);display:flex;align-items:center;gap:var(--space-3)}.libsearch-status strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.libsearch-cancel{margin-left:auto;background:transparent;border:none;color:var(--accent);cursor:pointer;font:var(--type-small)}.libsearch-results{list-style:none;margin:0;padding:var(--space-2);overflow-y:auto;flex:1;min-height:0}.libsearch-result{display:flex;flex-direction:column;gap:var(--space-1);width:100%;padding:var(--space-3);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-align:left;font:var(--type-body);color:var(--text-primary);transition:background var(--motion-fast) var(--ease-warm),border-color var(--motion-fast) var(--ease-warm)}.libsearch-result:hover{background:var(--bg-page);border-color:var(--border-subtle)}.libsearch-result-head{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-sm)}.libsearch-result-name{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-primary);font-weight:var(--w-medium)}.libsearch-result-page{color:var(--text-muted);font-variant-numeric:tabular-nums}.libsearch-result-snippet{font:var(--type-prose);font-size:var(--text-sm);color:var(--text-muted)}.libsearch-result-snippet mark{background:var(--reading-highlight);color:var(--reading-highlight-on);padding:1px 2px;border-radius:var(--radius-xs)}.libsearch-empty{padding:var(--space-6);text-align:center;color:var(--text-muted);font-style:italic}.lib-collection-bar{display:flex;gap:var(--space-2);flex-wrap:wrap;padding:0 var(--space-2);margin:var(--space-2) 0}.lib-collection-bar--empty{align-items:center;gap:var(--space-3)}.lib-collection-hint{font-size:var(--text-xs);color:var(--text-muted);font-style:italic;line-height:1.4}.lib-collection-chip{display:inline-flex;align-items:stretch;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:border-color var(--motion-fast) var(--ease-warm),background var(--motion-fast) var(--ease-warm)}.lib-collection-chip:hover{border-color:var(--accent)}.lib-collection-chip-main{display:inline-flex;align-items:center;gap:6px;padding:5px var(--space-3);background:transparent;border:0;color:var(--text-muted);font:var(--type-label);cursor:pointer}.lib-collection-chip:hover .lib-collection-chip-main{color:var(--accent)}.lib-collection-chip--active .lib-collection-chip-main,.lib-collection-chip--active:hover .lib-collection-chip-main{color:var(--accent-on)}.lib-collection-chip-name{font-weight:var(--w-medium)}.lib-collection-count{font-variant-numeric:tabular-nums;opacity:.65;font-size:var(--text-2xs);padding:0 4px;background:#0000001f;border-radius:var(--radius-sm)}.lib-collection-chip--active .lib-collection-count{background:#ffffff38}.lib-collection-chip-menu{display:inline-flex;align-items:center;justify-content:center;padding:0 6px;background:transparent;border:0;border-left:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer}.lib-collection-chip--active .lib-collection-chip-menu{border-left-color:#ffffff52;color:var(--accent-on)}.lib-collection-chip--add{border-style:dashed}.lib-collection-chip--add .lib-collection-chip-main{padding:5px var(--space-3)}.lib-collection-chip--add:hover{background:var(--accent-soft, rgba(180, 92, 60, .06))}.lib-collection-chip--editing{padding:0 var(--space-2);background:var(--bg-page)}.lib-collection-rename-input{background:transparent;border:0;outline:none;font:var(--type-label);color:var(--text-primary);min-width:140px;padding:5px 0}.lib-recent-goal{font-variant-numeric:tabular-nums;color:var(--text-muted)}.lib-recent-goal--met{color:var(--accent);font-weight:var(--w-medium)}.page-goal{width:min(420px,94vw);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.page-goal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.page-goal-title{margin:0;display:flex;align-items:center;gap:var(--space-2);font:var(--type-subhead);color:var(--text-primary)}.page-goal-body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5)}.page-goal-prose{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.page-goal-input-row{display:flex;align-items:baseline;gap:var(--space-2)}.page-goal-input{width:100px;padding:var(--space-2) var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font:var(--type-body);font-variant-numeric:tabular-nums;color:var(--text-primary)}.page-goal-input:focus{outline:none;border-color:var(--accent)}.page-goal-unit{font-size:var(--text-sm);color:var(--text-muted)}.page-goal-hint{margin:0;font-size:var(--text-xs);color:var(--text-muted);font-style:italic}.page-goal-foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-subtle);background:var(--bg-page)}.lib-tag-bar{display:flex;gap:var(--space-2);flex-wrap:wrap;padding:0 var(--space-2);margin-bottom:var(--space-1)}.lib-tag-chip{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--control-h);padding:0 var(--space-2);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font:var(--type-label);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-warm),color var(--motion-fast) var(--ease-warm)}.lib-tag-chip:hover{color:var(--accent);border-color:var(--accent)}.lib-tag-chip--active{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}.lib-tag-chip--active:hover{color:var(--accent-on)}.lib-tag-count{font-variant-numeric:tabular-nums;opacity:.7}.lib-recent-tag{display:inline-flex;align-items:center;padding:2px var(--space-2);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;transition:color var(--motion-fast) var(--ease-warm),border-color var(--motion-fast) var(--ease-warm)}.lib-recent-tag:hover{color:var(--accent);border-color:var(--accent)}.lib-tag-editor{display:inline-flex;align-items:center}.lib-tag-editor-input{background:var(--bg-page);border:1px dashed var(--accent);border-radius:var(--radius-sm);padding:2px var(--space-2);font:var(--type-label);color:var(--text-primary);min-width:80px;outline:none}.lib-closed{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.lib-closed-clear{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-faint);cursor:pointer;padding:2px;display:inline-flex}.lib-closed-clear:hover{color:var(--accent);border-color:var(--border-subtle)}.lib-closed-list{list-style:none;display:flex;flex-direction:column;gap:2px;margin:0;padding:0}.lib-closed-row{display:flex;align-items:stretch;gap:2px}.lib-closed-btn{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);font:var(--type-small);cursor:pointer;text-align:left;transition:background var(--motion-fast) var(--ease-warm),color var(--motion-fast) var(--ease-warm)}.lib-closed-btn:hover{background:var(--bg-surface);color:var(--text-primary)}.lib-closed-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-closed-page{font-size:var(--text-xs);color:var(--text-faint);font-variant-numeric:tabular-nums}.lib-closed-rm{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-faint);cursor:pointer;padding:0 var(--space-2);opacity:0;transition:opacity var(--motion-fast) var(--ease-warm),color var(--motion-fast) var(--ease-warm)}.lib-closed-row:hover .lib-closed-rm{opacity:1}.lib-closed-rm:hover{color:var(--accent)}.settings-key-sep,.shortcuts-item-combo{display:inline-flex;align-items:center;gap:2px}.settings-key-sep{color:var(--text-faint);padding:0 var(--space-1)}.shortcuts-item-combo+.shortcuts-item-combo{margin-left:var(--space-2)}html[data-highlight-mode=on][data-highlight-color=yellow] .textLayer,html[data-highlight-mode=on][data-highlight-color=yellow] .pdf-page{cursor:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M22 4 L28 10 L14 24 L8 24 L4 28 L4 24 L8 18 Z" fill="%23FFD93D" stroke="%232c2620" stroke-width="1.5" stroke-linejoin="round"/></svg>') 4 28,text}html[data-highlight-mode=on][data-highlight-color=pink] .textLayer,html[data-highlight-mode=on][data-highlight-color=pink] .pdf-page{cursor:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M22 4 L28 10 L14 24 L8 24 L4 28 L4 24 L8 18 Z" fill="%23FF4D9A" stroke="%232c2620" stroke-width="1.5" stroke-linejoin="round"/></svg>') 4 28,text}html[data-highlight-mode=on][data-highlight-color=purple] .textLayer,html[data-highlight-mode=on][data-highlight-color=purple] .pdf-page{cursor:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M22 4 L28 10 L14 24 L8 24 L4 28 L4 24 L8 18 Z" fill="%23A855F7" stroke="%232c2620" stroke-width="1.5" stroke-linejoin="round"/></svg>') 4 28,text}html[data-highlight-mode=on][data-highlight-color=green] .textLayer,html[data-highlight-mode=on][data-highlight-color=green] .pdf-page{cursor:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M22 4 L28 10 L14 24 L8 24 L4 28 L4 24 L8 18 Z" fill="%2374c88a" stroke="%232c2620" stroke-width="1.5" stroke-linejoin="round"/></svg>') 4 28,text}html[data-highlight-mode=on][data-highlight-color=blue] .textLayer,html[data-highlight-mode=on][data-highlight-color=blue] .pdf-page{cursor:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path d="M22 4 L28 10 L14 24 L8 24 L4 28 L4 24 L8 18 Z" fill="%2378aae8" stroke="%232c2620" stroke-width="1.5" stroke-linejoin="round"/></svg>') 4 28,text}html[data-highlight-mode=on] .pdf-page{box-shadow:var(--shadow-md),inset 0 0 0 2px var(--gem-amber)}.sel-toolbar{position:fixed;z-index:200;display:inline-flex;align-items:center;gap:var(--space-2);padding:4px var(--space-2);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-md);animation:sel-toolbar-in .14s var(--ease-warm)}@keyframes sel-toolbar-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sel-toolbar--flipped{animation:sel-toolbar-in-down .14s var(--ease-warm)}@keyframes sel-toolbar-in-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sel-toolbar-hl{display:inline-flex;align-items:center;justify-content:center;width:30px;height:var(--control-h);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;padding:0;color:var(--text-primary);transition:filter var(--motion-fast) var(--ease-warm)}.sel-toolbar-hl:hover{filter:brightness(.95)}.sel-toolbar-hl--yellow{background:#ffd93d}.sel-toolbar-hl--pink{background:#ff4d9a}.sel-toolbar-hl--purple{background:#a855f7}.sel-toolbar-hl--green{background:#74c88a}.sel-toolbar-hl--blue{background:#78aae8}.sel-toolbar-colors{display:inline-flex;align-items:center;gap:4px}.sel-toolbar-swatch{width:18px;height:18px;border-radius:var(--radius-pill);border:2px solid transparent;cursor:pointer;padding:0;background:transparent;position:relative}.sel-toolbar-swatch:before{content:"";position:absolute;inset:2px;border-radius:var(--radius-pill)}.sel-toolbar-swatch--yellow:before{background:#ffd93d}.sel-toolbar-swatch--pink:before{background:#ff4d9a}.sel-toolbar-swatch--purple:before{background:#a855f7}.sel-toolbar-swatch--green:before{background:#74c88a}.sel-toolbar-swatch--blue:before{background:#78aae8}.sel-toolbar-swatch--active{border-color:var(--accent)}.sel-toolbar-swatch:hover{border-color:var(--text-muted)}.sel-toolbar-swatch--active:hover{border-color:var(--accent)}.sel-toolbar-sep{display:inline-block;width:1px;height:18px;background:var(--border-subtle);margin:0 2px}.sel-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:var(--control-h);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;padding:0;transition:background var(--motion-fast) var(--ease-warm),color var(--motion-fast) var(--ease-warm)}.sel-toolbar-btn:hover{background:var(--bg-page);color:var(--text-primary)}.page-jump{width:min(440px,92vw);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden}.page-jump-input-wrap{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.page-jump-icon{color:var(--text-muted);display:inline-flex}.page-jump-input{flex:1;background:transparent;border:none;outline:none;font:var(--type-heading);font-variant-numeric:tabular-nums;color:var(--text-primary);-moz-appearance:textfield}.page-jump-input::-webkit-outer-spin-button,.page-jump-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.page-jump-input::placeholder{color:var(--text-faint);font-style:italic}.page-jump-current{font-size:var(--text-sm);color:var(--text-faint);font-variant-numeric:tabular-nums;white-space:nowrap}.page-jump-error{padding:var(--space-2) var(--space-5);font-size:var(--text-sm);color:var(--color-danger, #b04040);background:var(--bg-page)}.ocr-range{width:min(440px,92vw)}.ocr-range-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);font:var(--type-subhead);color:var(--text-primary)}.ocr-range-fields{display:flex;align-items:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5)}.ocr-range-field{display:flex;flex-direction:column;gap:4px;flex:1;font-size:var(--text-xs);color:var(--text-muted)}.ocr-range-field input{padding:var(--space-2) var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font:var(--type-small);font-variant-numeric:tabular-nums;color:var(--text-primary);-moz-appearance:textfield}.ocr-range-field input::-webkit-outer-spin-button,.ocr-range-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ocr-range-field input:focus{outline:none;border-color:var(--accent)}.ocr-range-sep{padding-bottom:var(--space-2);color:var(--text-muted);font-size:var(--text-sm)}.ocr-range-meta{padding:0 var(--space-5) var(--space-3);font-size:var(--text-xs);color:var(--text-muted);line-height:1.4}.page-jump-foot{display:flex;gap:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--bg-page);font-size:var(--text-xs);color:var(--text-muted)}.page-jump-foot kbd{font:var(--type-label);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-bottom-width:2px;border-radius:var(--radius-sm);padding:1px var(--space-2);margin-right:var(--space-1)}.quote-dialog{width:min(960px,96vw);max-height:92vh;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.quote-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.quote-dialog-title{font:var(--type-heading)}.quote-dialog-body{display:grid;grid-template-columns:1fr 300px;gap:0;flex:1;min-height:0}@media (max-width: 760px){.quote-dialog-body{grid-template-columns:1fr}}.quote-preview-wrap{padding:var(--space-5);background:var(--bg-page);display:flex;align-items:center;justify-content:center;border-right:1px solid var(--border-subtle);min-height:0}.quote-preview{width:100%;height:auto;max-height:70vh;max-width:100%;object-fit:contain;border-radius:var(--radius-md);box-shadow:var(--shadow-md);background:var(--bg-surface)}.quote-dialog-side{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto}.quote-side-section{display:flex;flex-direction:column;gap:var(--space-2)}.quote-side-label{font-size:var(--text-xs);font-weight:var(--w-semibold);color:var(--text-faint);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.quote-side-doc{font:var(--type-subhead);font-size:var(--text-md);color:var(--text-primary);word-break:break-word}.quote-side-page{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.quote-theme-row{display:flex;gap:var(--space-2)}.quote-theme-btn{flex:1;padding:var(--space-3) var(--space-2);border:2px solid var(--border-subtle);border-radius:var(--radius-md);font:var(--type-subhead);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-warm),transform var(--motion-fast) var(--ease-warm)}.quote-theme-btn:hover{border-color:var(--text-muted)}.quote-theme-btn--active{border-color:var(--accent)}.quote-theme-btn--paper{background:#fdfaf4;color:#24221e}.quote-theme-btn--dark{background:#161618;color:#e6e5e1}.quote-side-actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:auto}.quote-side-status{font-size:var(--text-sm);color:var(--accent);font-weight:var(--w-medium);text-align:center;padding:var(--space-2);background:var(--bg-page);border-radius:var(--radius-sm)}.notesLayer{position:absolute;inset:0;pointer-events:none}.sticky-marker{position:absolute;pointer-events:auto;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:grab;padding:0;border:2px solid #fff;box-shadow:0 1px 2px #00000040,0 4px 10px #00000038;color:#000000c7;touch-action:none;user-select:none;-webkit-user-select:none;transition:transform var(--motion-fast) var(--ease-warm),box-shadow var(--motion-fast) var(--ease-warm)}.sticky-marker:hover{box-shadow:0 1px 2px #0000004d,0 8px 16px #00000047}.sticky-marker:active{cursor:grabbing}.sticky-marker--yellow{background:#ffd54a}.sticky-marker--pink{background:#ff7aa3}.sticky-marker--blue{background:#6bb6ff}.sticky-marker svg{color:#000000b8}.sticky-marker--blue svg{color:#00001ec7}.sticky-pad{position:absolute;pointer-events:auto;width:280px;min-height:220px;max-height:320px;display:flex;flex-direction:column;font:var(--type-prose);color:#000000e0;border-radius:4px;box-shadow:0 1px 2px #00000026,0 14px 28px #00000040,0 22px 44px #0000002e;overflow:hidden;z-index:4;transform-origin:top left}.sticky-pad--yellow{background:linear-gradient(180deg,#fff7d6,#fff0bf)}.sticky-pad--pink{background:linear-gradient(180deg,#ffe3ec,#ffd3df)}.sticky-pad--blue{background:linear-gradient(180deg,#dfeeff,#cae1ff)}.sticky-pad-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 6px 12px;background:#0000000a;border-bottom:1px dashed rgba(0,0,0,.18);font-size:var(--text-2xs);color:#0000008c;text-transform:uppercase;letter-spacing:var(--tracking-wide);font-weight:var(--w-semibold)}.sticky-pad-head-title{display:inline-flex;align-items:center;gap:6px}.sticky-pad-close{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:1px solid transparent;border-radius:4px;color:#00000080;cursor:pointer;padding:0}.sticky-pad-close:hover{color:#000000d9;background:#00000014}.sticky-pad-textarea{flex:1;width:100%;min-height:130px;border:none;outline:none;resize:none;padding:6px 12px 6px 32px;font:var(--type-prose);font-size:var(--text-sm);color:#000000d9;background-color:transparent;background-image:linear-gradient(to right,transparent 0,transparent 24px,rgba(220,60,70,.45) 24px,rgba(220,60,70,.45) 25px,transparent 25px),repeating-linear-gradient(to bottom,transparent 0,transparent 23px,rgba(50,100,180,.18) 23px,rgba(50,100,180,.18) 24px);background-attachment:local}.sticky-pad-textarea::placeholder{color:#00000059;font-style:italic}.sticky-pad-foot{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 6px 12px;background:#0000000a;border-top:1px dashed rgba(0,0,0,.18)}.sticky-pad-colors{display:inline-flex;gap:4px}.sticky-pad-swatch{width:18px;height:18px;border-radius:var(--radius-pill);border:2px solid transparent;cursor:pointer;padding:0;background:transparent;position:relative}.sticky-pad-swatch:before{content:"";position:absolute;inset:2px;border-radius:var(--radius-pill);box-shadow:0 0 0 1px #0003}.sticky-pad-swatch--yellow:before{background:#ffd54a}.sticky-pad-swatch--pink:before{background:#ff7aa3}.sticky-pad-swatch--blue:before{background:#6bb6ff}.sticky-pad-swatch--active{border-color:#0009}.sticky-pad-swatch:hover{border-color:#00000059}.sticky-pad-swatch--active:hover{border-color:#0009}.sticky-pad-delete{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:#0000008c;cursor:pointer;padding:0}.sticky-pad-delete:hover{color:var(--color-danger, #b04040);background:#00000012;border-color:#00000014}.marks-note-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0;box-shadow:0 0 0 1px var(--border-subtle)}.marks-note-dot--yellow{background:#ffd54a}.marks-note-dot--pink{background:#ff7aa3}.marks-note-dot--blue{background:#6bb6ff}.marks-tabs{display:flex;gap:2px;padding:var(--space-2);margin:0 var(--space-3) var(--space-2);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-width:0}.marks-tab{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:var(--space-1) 6px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);font:var(--type-small);cursor:pointer;overflow:hidden;transition:background var(--motion-fast) var(--ease-warm),color var(--motion-fast) var(--ease-warm)}.marks-tab>span:not(.marks-tab-count){flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.marks-tab>svg{flex-shrink:0}.marks-tab:hover{color:var(--text-primary)}.marks-tab--active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.marks-tab-count{flex-shrink:0;font-size:var(--text-xs);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:0 5px;min-width:18px;text-align:center;font-variant-numeric:tabular-nums}.marks-tab--active .marks-tab-count{background:var(--bg-page)}.marks-hl-row{position:relative;flex-wrap:wrap}.marks-hl-item{display:flex!important;align-items:center;gap:var(--space-2);flex:1}.marks-hl-dot{width:10px;height:10px;border-radius:var(--radius-pill);flex-shrink:0;box-shadow:0 0 0 1px var(--border-subtle)}.marks-hl-dot--yellow{background:#ffd93d}.marks-hl-dot--pink{background:#ff4d9a}.marks-hl-dot--purple{background:#a855f7}.marks-hl-dot--green{background:#74c88a}.marks-hl-dot--blue{background:#78aae8}.marks-hl-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:italic;color:var(--text-muted)}.marks-hl-actions{display:inline-flex;gap:2px}.marks-hl-recolor{display:flex;width:100%;gap:var(--space-1);padding:var(--space-2) var(--space-3);margin-top:var(--space-1);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.marks-hl-swatch{width:22px;height:22px;border-radius:var(--radius-pill);border:2px solid transparent;cursor:pointer;padding:0;background:transparent;position:relative}.marks-hl-swatch:before{content:"";position:absolute;inset:3px;border-radius:var(--radius-pill)}.marks-hl-swatch--yellow:before{background:#ffd93d}.marks-hl-swatch--pink:before{background:#ff4d9a}.marks-hl-swatch--purple:before{background:#a855f7}.marks-hl-swatch--green:before{background:#74c88a}.marks-hl-swatch--blue:before{background:#78aae8}.marks-hl-swatch--active{border-color:var(--accent)}.marks-hl-swatch:hover{border-color:var(--text-muted)}.marks-hl-swatch--active:hover{border-color:var(--accent)}.reading-heatmap{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);width:100%;max-width:520px}.reading-heatmap-head{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.reading-heatmap-legend{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-2xs);color:var(--text-faint)}.reading-heatmap-legend .reading-heatmap-cell{width:10px;height:10px}.reading-heatmap-grid{display:flex;gap:var(--space-2)}.reading-heatmap-daycol{display:flex;flex-direction:column;gap:2px;justify-content:space-between;padding-top:1px}.reading-heatmap-daylabel{font-size:var(--text-2xs);color:var(--text-faint);line-height:10px;width:20px;text-align:right}.reading-heatmap-cells{flex:1;display:flex;flex-direction:column;gap:2px}.reading-heatmap-row{display:flex;gap:2px}.reading-heatmap-cell{flex:1;aspect-ratio:1;border-radius:2px;min-width:0;display:inline-block}.reading-heatmap-cell--empty{background:transparent}.reading-heatmap-cell--0{background:color-mix(in srgb,var(--bg-surface) 70%,var(--text-faint))}.reading-heatmap-cell--1{background:color-mix(in srgb,var(--accent) 25%,var(--bg-surface))}.reading-heatmap-cell--2{background:color-mix(in srgb,var(--accent) 50%,var(--bg-surface))}.reading-heatmap-cell--3{background:color-mix(in srgb,var(--accent) 75%,var(--bg-surface))}.reading-heatmap-cell--4{background:var(--accent)}.epub-view{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--bg-page)}.epub-bar{font:var(--type-body)}.epub-bar-title{flex:0 0 200px;min-width:0;font:var(--type-subhead);font-size:var(--text-md);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;padding:0 var(--space-3)}.epub-bar-spacer{flex:1}.epub-bar-val{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:40px;text-align:center}.epub-stage{flex:1;position:relative;overflow:hidden}.epub-viewer{position:absolute;inset:0}.epub-swatches{display:inline-flex;gap:4px;margin-left:6px;padding:2px 4px;border-radius:var(--radius-pill);background:var(--bg-page);border:1px solid var(--border-subtle)}.epub-swatch{width:14px;height:14px;border-radius:50%;border:1px solid transparent;cursor:pointer;padding:0;background:var(--swatch)}.epub-swatch--yellow{--swatch: rgb(255, 234, 76)}.epub-swatch--pink{--swatch: rgb(255, 127, 204)}.epub-swatch--purple{--swatch: rgb(184, 140, 255)}.epub-swatch--active{border-color:var(--accent);transform:scale(1.18)}.epub-side{position:absolute;top:0;bottom:0;right:0;width:320px;background:var(--bg-elevated);border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;z-index:5}.epub-side-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);font:var(--type-heading);color:var(--text-primary)}.epub-side-body{flex:1;display:flex;flex-direction:column;min-height:0;padding:var(--space-3) var(--space-4);gap:var(--space-3)}.epub-find-input{width:100%;padding:var(--space-2) var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font:var(--type-small);color:var(--text-primary)}.epub-find-input:focus{outline:none;border-color:var(--accent)}.epub-find-status{font-size:var(--text-xs);color:var(--text-muted);font-style:italic}.epub-find-list,.epub-marks-list{flex:1;overflow:auto;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.epub-find-result{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--space-2) var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-warm)}.epub-find-result:hover{border-color:var(--accent)}.epub-find-result-section{font-size:var(--text-xs);color:var(--accent);font-weight:var(--w-semibold)}.epub-find-result-snippet{font-size:var(--text-sm);color:var(--text-primary);line-height:1.4}.epub-find-result-snippet mark{background:#ffea4c8c;color:inherit;padding:0 2px;border-radius:2px}.epub-find-empty{font-size:var(--text-sm);color:var(--text-muted);font-style:italic;padding:var(--space-3);text-align:center}.epub-mark{display:flex;flex-direction:column;background:var(--bg-page);border:1px solid var(--border-subtle);border-left-width:4px;border-radius:var(--radius-sm);overflow:hidden}.epub-mark--yellow{border-left-color:#ffea4c}.epub-mark--pink{border-left-color:#ff7fcc}.epub-mark--purple{border-left-color:#b88cff}.epub-mark--green{border-left-color:#8ceb8c}.epub-mark--blue{border-left-color:#8cc8ff}.epub-mark-row{display:flex;align-items:stretch}.epub-mark-jump{flex:1;padding:var(--space-2) var(--space-3);background:transparent;border:0;text-align:left;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer}.epub-mark-jump:hover{color:var(--accent)}.epub-mark-rm{display:inline-flex;align-items:center;justify-content:center;width:36px;background:transparent;border:0;border-left:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer}.epub-mark-rm:hover{color:var(--accent)}.epub-mark-voice{display:inline-flex;align-items:center;justify-content:center;width:36px;background:transparent;border:0;border-left:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer}.epub-mark-voice:hover,.epub-mark-voice--has{color:var(--accent)}.epub-mark-note{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#ffffff08;border-top:1px dashed var(--border-subtle);border-left:0;border-right:0;border-bottom:0;font:var(--type-prose);font-size:var(--text-xs);color:var(--text-secondary, var(--text-muted));text-align:left;cursor:pointer;width:100%}.epub-mark-note:hover{color:var(--accent)}.epub-mark-note--add{font-style:italic;color:var(--text-muted)}.epub-mark-note-text{white-space:pre-wrap;overflow-wrap:break-word;flex:1}.epub-mark-note--editing{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-3);cursor:default}.epub-mark-note-input{width:100%;padding:var(--space-2);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font:var(--type-prose);font-size:var(--text-sm);color:var(--text-primary);resize:vertical;min-height:60px}.epub-mark-note-input:focus{outline:none;border-color:var(--accent)}.epub-mark-note-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.epub-loading,.epub-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:var(--text-muted);font-style:italic}.epub-error svg{color:var(--color-danger, #b04040);opacity:.6}.epub-error p{margin:0}.epub-error-detail{font-size:var(--text-sm);color:var(--text-faint);font-style:normal;max-width:80%;text-align:center}.vocab{width:min(680px,96vw);max-height:84vh;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.vocab-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.vocab-title{font:var(--type-heading)}.vocab-controls{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle);background:var(--bg-page);position:relative}.vocab-filter-icon{color:var(--text-muted);display:inline-flex}.vocab-filter{flex:1;background:transparent;border:none;outline:none;font:var(--type-body);color:var(--text-primary)}.vocab-filter::placeholder{color:var(--text-faint);font-style:italic}.vocab-controls-actions{display:inline-flex;gap:var(--space-2)}.vocab-mastery{display:flex;flex-direction:column;gap:8px;padding:var(--space-3) var(--space-4);background:var(--bg-page);border-bottom:1px solid var(--border-subtle)}.vocab-mastery-head{display:flex;align-items:center;gap:8px;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}.vocab-mastery-retention{margin-left:auto;text-transform:none;letter-spacing:0;font-size:var(--text-sm);color:var(--text-primary)}.vocab-mastery-buckets{display:flex;gap:6px;flex-wrap:wrap}.vocab-bucket{display:inline-flex;flex-direction:column;align-items:center;gap:2px;min-width:64px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-subtle);border-top:3px solid var(--text-muted)}.vocab-bucket--new{border-top-color:#9aa3b1}.vocab-bucket--learning{border-top-color:#f0a83d}.vocab-bucket--young{border-top-color:#5b9ad2}.vocab-bucket--mature{border-top-color:#4caf50}.vocab-bucket--leech{border-top-color:#c83838}.vocab-bucket-count{font:var(--type-heading);font-size:var(--text-xl);color:var(--text-primary)}.vocab-bucket-label{font-size:var(--text-2xs);color:var(--text-muted)}.vocab-mastery-adds{display:flex;align-items:flex-end;gap:1px;height:40px}.vocab-mastery-cell{flex:1;background:var(--accent);border-radius:1px;opacity:.75}.vocab-mastery-axis{display:flex;justify-content:space-between;font-size:var(--text-2xs);color:var(--text-muted)}.vocab-list{overflow-y:auto;flex:1;min-height:0;padding:var(--space-2)}.vocab-list ul{list-style:none;margin:0;padding:0}.vocab-placeholder{padding:var(--space-12) var(--space-5);text-align:center;color:var(--text-muted);font-size:var(--text-sm);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.vocab-placeholder svg{opacity:.5;color:var(--text-faint)}.vocab-row{display:flex;align-items:stretch;gap:var(--space-1);padding:var(--space-1) var(--space-2)}.vocab-row-main{flex:1;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;font:var(--type-prose);color:var(--text-primary);display:flex;flex-direction:column;gap:4px;transition:background var(--motion-fast) var(--ease-warm),border-color var(--motion-fast) var(--ease-warm)}.vocab-row-main:hover{background:var(--bg-page);border-color:var(--border-subtle)}.vocab-word{font:var(--type-subhead);letter-spacing:var(--tracking-tight);color:var(--accent)}.vocab-context{font-size:var(--text-sm);color:var(--text-muted);font-style:italic;line-height:var(--lh-relaxed)}.vocab-source{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-faint)}.vocab-date{margin-left:auto}.vocab-remove{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity var(--motion-fast) var(--ease-warm),border-color var(--motion-fast) var(--ease-warm),color var(--motion-fast) var(--ease-warm)}.vocab-row:hover .vocab-remove,.vocab-row:focus-within .vocab-remove{opacity:1}.vocab-remove:hover{border-color:var(--accent);color:var(--accent)}.print-dialog{width:min(540px,96vw);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.export-fmt{width:min(820px,96vw);max-height:84vh;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.export-fmt-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.export-fmt-title{margin:0;font:var(--type-subhead);color:var(--text-primary)}.export-fmt-body{flex:1;display:grid;grid-template-columns:280px 1fr;gap:var(--space-4);padding:var(--space-4) var(--space-5);min-height:0}.export-fmt-formats{display:flex;flex-direction:column;gap:var(--space-2);overflow:auto}.export-fmt-card{display:flex;flex-direction:column;gap:4px;padding:var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-warm)}.export-fmt-card:hover{border-color:var(--accent)}.export-fmt-card--active{border-color:var(--accent);background:var(--bg-surface)}.export-fmt-card--locked{opacity:.78}.export-fmt-card-name{display:flex;align-items:center;gap:var(--space-2);font:var(--type-subhead);font-size:var(--text-sm);color:var(--text-primary)}.export-fmt-card-desc{font-size:var(--text-xs);color:var(--text-muted);line-height:1.4}.export-fmt-preview{display:flex;flex-direction:column;gap:var(--space-2);min-height:0;min-width:0}.export-fmt-preview-head{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.export-fmt-preview-head code{text-transform:none;letter-spacing:0;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:1px 6px;color:var(--text-primary);font:var(--type-mono)}.export-fmt-preview-body{flex:1;margin:0;padding:var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font:var(--type-mono);font-size:var(--text-xs);color:var(--text-primary);overflow:auto;white-space:pre}.export-fmt-empty{display:flex;align-items:center;justify-content:center;text-align:center;height:100%;font-size:var(--text-sm);color:var(--text-muted);font-style:italic;padding:var(--space-4)}.export-fmt-smart-pitch{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.export-fmt-smart-pitch p{margin:0}.export-fmt-smart-quiet{color:var(--text-muted)}.export-fmt-smart-err{color:#c83838}.export-fmt-foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-subtle);background:var(--bg-page)}@media (max-width: 760px){.export-fmt-body{grid-template-columns:1fr}}.vocab-review{width:min(560px,96vw);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.vocab-review-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.vocab-review-title{margin:0;display:flex;align-items:center;gap:var(--space-2);font:var(--type-subhead);color:var(--text-primary)}.vocab-review-progress{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.vocab-review-body{padding:var(--space-5);min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center}.vocab-review-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center;width:100%}.vocab-review-word{font:var(--type-title);font-size:clamp(28px,4vw,44px);letter-spacing:-.01em;color:var(--text-primary)}.vocab-review-reveal{min-width:200px;justify-content:center}.vocab-review-hint{margin:0;font-size:var(--text-xs);color:var(--text-muted);font-style:italic}.vocab-review-context{padding:var(--space-3) var(--space-4);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--text-md);line-height:1.55;color:var(--text-primary);width:100%}.vocab-review-context-empty{color:var(--text-muted)}.vocab-review-source{font-size:var(--text-xs);color:var(--text-muted)}.vocab-review-grades{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);width:100%}.vocab-review-grade{justify-content:center;padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.vocab-review-grade--forgot{border-color:#dc404073;color:#c83838}.vocab-review-grade--hard{border-color:#b45c3c73;color:#b45c3c}.vocab-review-grade--good{border-color:#508c5a73;color:#4e8c5c}.vocab-review-grade--easy{border-color:#5078b473;color:#4d77a6}.vocab-review-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--text-muted);text-align:center}.vocab-review-empty-title{margin:0;font:var(--type-subhead);color:var(--text-primary)}.vocab-review-empty-sub{margin:0;font-size:var(--text-sm)}.transcribe{width:min(720px,96vw);max-height:88vh;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.transcribe-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.transcribe-title{display:flex;align-items:center;gap:var(--space-2);margin:0;font:var(--type-subhead);color:var(--text-primary)}.transcribe-body{flex:1;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) var(--space-5);overflow:auto}.transcribe-prose{margin:0;font-size:var(--text-sm);color:var(--text-primary);line-height:1.55}.transcribe-prose--quiet{color:var(--text-muted);font-size:var(--text-xs)}.transcribe-error{margin:0;padding:var(--space-2) var(--space-3);border:1px solid rgba(220,64,64,.45);border-radius:var(--radius-sm);background:#dc40401a;color:#c83838;font-size:var(--text-sm)}.transcribe-picker{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-4);background:var(--bg-page);border:1px dashed var(--border-subtle);border-radius:var(--radius-md)}.transcribe-current{display:flex;flex-direction:column;gap:var(--space-2)}.transcribe-current-file{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-primary)}.transcribe-current-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:var(--w-medium)}.transcribe-current-meta{color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.transcribe-audio{width:100%}.transcribe-actions{display:flex;flex-direction:column;gap:var(--space-2)}.transcribe-running{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-muted)}.transcribe-progress{display:flex;flex-direction:column;gap:6px;padding:var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.transcribe-progress-label{font-size:var(--text-sm);color:var(--text-primary)}.transcribe-progress-bar{height:6px;background:var(--border-subtle);border-radius:999px;overflow:hidden;position:relative}.transcribe-progress-fill{position:absolute;inset:0 auto 0 0;background:var(--accent);border-radius:999px;transition:width .2s ease-out}.transcribe-progress-meta{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.transcribe-result{display:flex;flex-direction:column;gap:var(--space-2);min-height:0}.transcribe-result-head{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.transcribe-result-body{display:flex;flex-direction:column;gap:2px;max-height:360px;overflow:auto;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-2)}.transcribe-chunk{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:0;border-radius:var(--radius-sm);text-align:left;font:var(--type-prose);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;transition:background .12s ease}.transcribe-chunk:hover{background:var(--bg-surface)}.transcribe-chunk-time{flex-shrink:0;width:56px;font-variant-numeric:tabular-nums;color:var(--accent);font-weight:var(--w-medium);font-size:var(--text-xs);padding-top:2px}.transcribe-chunk-text{flex:1}.pi-translate-target{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:var(--space-2)}.pi-translate-target-label{font-size:var(--text-sm);color:var(--text-muted)}.pi-translate-target-select{flex:1;font:inherit;font-size:var(--text-sm);background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:4px 8px;cursor:pointer}.pi-translate-target-select:focus{outline:1px solid var(--accent)}.pi-translate-target-select:disabled{opacity:.6;cursor:not-allowed}.pi-translate-body{white-space:pre-wrap}.pi-translate-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.define-pop{position:fixed;width:320px;z-index:250;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:define-pop-in .12s ease-out}@keyframes define-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.define-pop-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle)}.define-pop-word{flex:1;font:var(--type-subhead);font-size:var(--text-md);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.define-pop-close{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;padding:2px;color:var(--text-muted);cursor:pointer}.define-pop-close:hover{color:var(--accent)}.define-pop-body{padding:var(--space-3);overflow:auto;flex:1}.define-pop-text{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.define-pop-text--pending{display:flex;align-items:center;gap:var(--space-2);color:var(--text-muted);font-style:italic}.define-pop-cursor{display:inline-block;margin-left:2px;color:var(--accent);animation:define-pop-cursor 1s steps(2) infinite}@keyframes define-pop-cursor{0%,to{opacity:0}50%{opacity:1}}.define-pop-error{margin:0;color:#c83838;font-size:var(--text-sm)}.define-pop-caveat{display:flex;align-items:flex-start;gap:var(--space-2);margin:0;padding:6px var(--space-3);border-top:1px solid var(--border-subtle);font-size:var(--text-2xs);line-height:1.45;color:var(--text-primary)}.define-pop-caveat svg{flex-shrink:0;margin-top:1px;color:var(--accent)}.define-pop-foot{padding:6px var(--space-3);border-top:1px solid var(--border-subtle);background:var(--bg-page);font-size:var(--text-2xs);color:var(--text-muted);line-height:1.45}.pdf-pw{width:min(420px,94vw);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.pdf-pw-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);color:var(--accent)}.pdf-pw-title{margin:0;font:var(--type-subhead);color:var(--text-primary)}.pdf-pw-body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5)}.pdf-pw-prose{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.pdf-pw-prose--quiet{color:var(--text-muted);font-size:var(--text-xs)}.pdf-pw-input{padding:var(--space-2) var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font:var(--type-body);letter-spacing:.1em;color:var(--text-primary)}.pdf-pw-input:focus{outline:none;border-color:var(--accent)}.pdf-pw-error{margin:0;padding:var(--space-2) var(--space-3);border:1px solid rgba(220,64,64,.45);border-radius:var(--radius-sm);background:#dc40401a;color:#c83838;font-size:var(--text-xs)}.pdf-pw-foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-subtle);background:var(--bg-page)}.signin{width:min(420px,94vw);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;max-height:calc(100vh - 64px)}.signin-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.signin-title{margin:0;flex:1;font:var(--type-subhead);color:var(--text-primary)}.signin-close{margin-left:auto}.signin-body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-5);flex:1 1 auto;min-height:0;overflow-y:auto}.signin-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--w-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.signin-input{width:100%;padding:var(--space-2) var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font:var(--type-body);color:var(--text-primary)}.signin-input:focus{outline:none;border-color:var(--accent)}.signin-prose{margin:var(--space-2) 0 0 0;font-size:var(--text-sm);color:var(--text-primary);line-height:1.5}.signin-prose--quiet{color:var(--text-muted);font-size:var(--text-xs)}.signin-error{margin:0;padding:var(--space-2) var(--space-3);border:1px solid rgba(220,64,64,.45);border-radius:var(--radius-sm);background:#dc40401a;color:#c83838;font-size:var(--text-xs);line-height:1.4}.signin-foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-subtle);background:var(--bg-page)}.print-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.print-dialog-title{font:var(--type-heading)}.print-dialog-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-5)}.print-section{display:flex;flex-direction:column;gap:var(--space-3)}.print-section-label{font-size:var(--text-xs);font-weight:var(--w-semibold);color:var(--text-faint);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.print-range-options{display:flex;flex-direction:column;gap:var(--space-2)}.print-range-opt{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);color:var(--text-primary)}.print-range-opt:hover{border-color:var(--text-muted)}.print-range-opt--active{border-color:var(--accent);background:var(--bg-surface)}.print-range-meta{margin-left:auto;font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.print-range-custom{display:inline-flex;align-items:center;gap:var(--space-1);margin-left:auto;font-size:var(--text-sm);color:var(--text-muted)}.print-range-custom input{width:48px;text-align:center;font:var(--type-small);font-variant-numeric:tabular-nums;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:2px var(--space-1);background:var(--bg-page);color:var(--text-primary)}.print-toggle-row{display:flex;flex-direction:column;gap:var(--space-1)}.print-toggle{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--text-sm)}.print-toggle-label{color:var(--text-primary)}.print-toggle--disabled,.print-toggle--disabled .print-toggle-label{opacity:.45;cursor:not-allowed}.export-flat-warning{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--accent-soft, rgba(180, 92, 60, .08));color:var(--text-muted);font-size:var(--text-xs);line-height:1.45}.export-flat-error{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid rgba(220,64,64,.45);border-radius:var(--radius-sm);background:#dc40401a;color:#c83838;font-size:var(--text-xs);line-height:1.45}.export-flat-progress{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.export-flat-progress-bar{position:relative;height:6px;background:var(--border-subtle);border-radius:999px;overflow:hidden}.export-flat-progress-fill{position:absolute;inset:0 auto 0 0;background:var(--accent);border-radius:999px;transition:width .2s ease-out}.export-flat-progress-label{font-size:var(--text-xs);color:var(--text-muted)}.print-dialog-foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle);background:var(--bg-page)}html[data-print-paper=white]{--doc-page-bg: #ffffff}@media print{@page{margin:10mm}.menubar,.tab-strip,.ribbon,.epub-bar,.comic-bar,.reading-progress,.thumbs,.outline,.find,.bookmarks,.listen,.compare,.pi-panel,.reading-session,.reading-time,.annotLayer,.sticky-marker,.palette-scrim,.fullscreen-exit,.tip,.toast,.ocr-progress,.sel-toolbar,.menu,.focus-overlay,.focus-dim,.ocr-auto-banner,.context-menu,.lib-drop-overlay,html[data-print-no-highlights=on] .highlightLayer,html[data-print-no-notes=on] .notesLayer,html[data-print-no-notes=on] .sticky-marker,html[data-print-no-notes=on] .sticky-pad,html[data-print-no-signatures=on] .signLayer{display:none!important}body,#app,#reader,.stage,.viewer-wrap,.viewer,.pages{display:block!important;position:static!important;height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;flex:none!important}.pages{gap:0!important;padding:0!important}.pdf-page{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;overflow:visible!important;border-radius:0!important;box-shadow:none!important;break-after:page}.pdf-page canvas{width:100%!important;height:auto!important;filter:none!important}.page-img-keep,.pdf-page[data-print-skip=true]{display:none!important}.pdf-page[data-print-last=true]{break-after:auto!important}}.ribbon-hl{position:relative;display:inline-flex;align-items:stretch;gap:0}.chrome-btn--hl{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none;position:relative}.chrome-btn--hl-color{border-top-left-radius:0;border-bottom-left-radius:0;padding-left:var(--space-1);padding-right:var(--space-1);gap:2px;min-width:0}.chrome-btn-hl-dot{width:12px;height:12px;border-radius:var(--radius-pill);display:inline-block;box-shadow:0 0 0 1px var(--border-subtle)}.chrome-btn-hl-dot--yellow{background:#ffd93d}.chrome-btn-hl-dot--pink{background:#ff4d9a}.chrome-btn-hl-dot--purple{background:#a855f7}.chrome-btn-hl-dot--green{background:#74c88a}.chrome-btn-hl-dot--blue{background:#78aae8}.ribbon-hl-pop{position:absolute;top:calc(100% + var(--space-2));right:0;display:flex;gap:var(--space-2);padding:var(--space-2);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:50}.ribbon-hl-swatch{width:24px;height:24px;border-radius:var(--radius-pill);border:2px solid transparent;cursor:pointer;padding:0;background:transparent;position:relative}.ribbon-hl-swatch:before{content:"";position:absolute;inset:3px;border-radius:var(--radius-pill);box-shadow:0 0 0 1px var(--border-subtle)}.ribbon-hl-swatch--yellow:before{background:#ffd93d}.ribbon-hl-swatch--pink:before{background:#ff4d9a}.ribbon-hl-swatch--purple:before{background:#a855f7}.ribbon-hl-swatch--green:before{background:#74c88a}.ribbon-hl-swatch--blue:before{background:#78aae8}.ribbon-hl-swatch--active{border-color:var(--accent)}.ribbon-hl-swatch:hover{border-color:var(--text-muted)}.ribbon-hl-swatch--active:hover{border-color:var(--accent)}.highlightLayer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.hl{position:absolute;inset:0}.hl-rect{position:absolute;border:none;cursor:pointer;padding:0;pointer-events:auto;border-radius:2px;transition:outline var(--motion-fast) var(--ease-warm)}.hl-rect{mix-blend-mode:multiply}.hl--yellow .hl-rect{background:#ffd93dbf}.hl--pink .hl-rect{background:#ff4d9a8c}.hl--purple .hl-rect{background:#a855f773}.hl--green .hl-rect{background:#74c88a8c}.hl--blue .hl-rect{background:#78aae88c}.hl-rect:hover{filter:brightness(.92)}.hl--active .hl-rect{outline:2px solid var(--accent);outline-offset:-1px}.hl-pop{--hl-pop-w: 200px;--hl-pop-h: 40px;--hl-pop-gap: 8px;position:absolute;max-width:var(--hl-pop-w);left:min(var(--hl-pop-x, 0%),max(0px,calc(100% - var(--hl-pop-w) - var(--hl-pop-gap))));top:max(0px,calc(var(--hl-pop-y, 0%) - var(--hl-pop-h) - var(--hl-pop-gap)));transform:translate(8px);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-1);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:var(--space-1);z-index:6;pointer-events:auto}.hl-pop-colors{display:inline-flex;gap:2px}.hl-pop-swatch{width:18px;height:18px;border-radius:var(--radius-pill);border:2px solid transparent;cursor:pointer;padding:0;background:transparent;position:relative}.hl-pop-swatch:before{content:"";position:absolute;inset:2px;border-radius:var(--radius-pill);box-shadow:0 0 0 1px var(--border-subtle)}.hl-pop-swatch--yellow:before{background:#ffd93d}.hl-pop-swatch--pink:before{background:#ff4d9a}.hl-pop-swatch--purple:before{background:#a855f7}.hl-pop-swatch--green:before{background:#74c88a}.hl-pop-swatch--blue:before{background:#78aae8}.hl-pop-swatch--active{border-color:var(--accent)}.hl-pop-swatch:hover{border-color:var(--text-muted)}.hl-pop-swatch--active:hover{border-color:var(--accent)}.hl-pop-voice{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;margin-left:var(--space-1)}.hl-pop-voice:hover{color:var(--accent);background:var(--bg-page);border-color:var(--border-subtle)}.hl-pop-voice--has{color:var(--accent)}.hl-pop-voice--has:hover{color:var(--accent-on);background:var(--accent);border-color:var(--accent)}.hl-pop-delete{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;margin-left:var(--space-1);border-left:1px solid var(--border-subtle);padding-left:var(--space-2)}.hl-pop-delete:hover{color:var(--accent-on);background:var(--accent);border-color:var(--accent)}.hl--has-voice .hl-rect:first-of-type:after{content:"";position:absolute;top:2px;right:2px;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--bg-surface);pointer-events:none}.cards-dlg{width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 64px);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.cards-dlg-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.cards-dlg-title{flex:1;margin:0;font:var(--type-subhead);font-size:var(--text-md);color:var(--text-primary)}.cards-dlg-body{padding:var(--space-4);overflow:auto;display:flex;flex-direction:column;gap:var(--space-3)}.cards-dlg-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex-wrap:wrap}.cards-dlg-bar-line{font-size:var(--text-sm);color:var(--text-primary)}.cards-dlg-bar-btns{display:flex;gap:var(--space-2)}.cards-dlg-err{margin:0;color:#c83838;font-size:var(--text-sm)}.cards-dlg-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:var(--space-5)}.cards-dlg-empty svg{color:var(--text-faint);opacity:.55}.cards-dlg-empty p{margin:0;font-size:var(--text-sm);color:var(--text-primary)}.cards-dlg-empty-quiet{color:var(--text-muted)!important}.cards-dlg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.cards-dlg-row{display:flex;flex-direction:column;gap:6px;padding:var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.cards-dlg-row--accepted{border-color:var(--accent);background:rgba(var(--accent-rgb, 80, 144, 224),.06)}.cards-dlg-passage{display:flex;align-items:flex-start;gap:6px;font-size:var(--text-sm);line-height:1.5;color:var(--text-primary)}.cards-dlg-passage svg{color:var(--text-muted);margin-top:3px}.cards-dlg-page{font-size:var(--text-2xs);color:var(--text-muted);margin-right:4px;font-variant-numeric:tabular-nums}.cards-dlg-passage-text{flex:1}.cards-dlg-q{display:flex;align-items:center;gap:var(--space-2)}.cards-dlg-q--pending,.cards-dlg-q--skip{font-size:var(--text-sm);color:var(--text-muted);font-style:italic}.cards-dlg-q-input{flex:1;font:inherit;font-size:var(--text-sm);background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:8px 10px}.cards-dlg-q-input:focus{outline:2px solid var(--ring);outline-offset:0}.cards-dlg-q-input:disabled{opacity:.7}.cards-dlg-q-actions{display:flex;gap:var(--space-2)}.cards-dlg-q-ok{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-sm);color:var(--accent)}.wiki-link{display:inline;background:transparent;border:0;padding:0 2px;margin:0;font:inherit;color:var(--accent);border-bottom:1px dotted currentColor;cursor:pointer}.wiki-link:hover{color:var(--accent);background:rgba(var(--accent-rgb, 80, 144, 224),.12)}.wiki-link--broken{color:var(--text-muted);text-decoration:line-through;cursor:not-allowed}.watch-dlg{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 64px);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.watch-dlg-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.watch-dlg-title{flex:1;margin:0;font:var(--type-subhead);font-size:var(--text-md);color:var(--text-primary)}.watch-dlg-body{padding:var(--space-4);overflow:auto;display:flex;flex-direction:column;gap:var(--space-3)}.watch-dlg-prose{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.watch-dlg-err{margin:0;color:#c83838;font-size:var(--text-sm)}.watch-dlg-summary{display:flex;flex-direction:column;gap:6px;padding:var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.watch-dlg-summary-row{display:flex;gap:var(--space-3);font-size:var(--text-sm)}.watch-dlg-summary-label{width:90px;flex-shrink:0;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}.watch-dlg-summary-val{color:var(--text-primary)}.watch-dlg-actions{display:flex;gap:var(--space-2)}.watch-dlg-candidates{display:flex;flex-direction:column;gap:6px}.watch-dlg-candidates-head{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}.watch-dlg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.watch-dlg-row{padding:0}.watch-dlg-open{width:100%;display:flex;align-items:center;gap:var(--space-2);text-align:left;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:8px 10px;font:inherit;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer}.watch-dlg-open:hover{border-color:var(--accent);color:var(--accent)}.watch-dlg-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watch-dlg-size{font-size:var(--text-2xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.glossary-dlg{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 64px);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.glossary-dlg-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.glossary-dlg-title{flex:1;margin:0;font:var(--type-subhead);font-size:var(--text-md);color:var(--text-primary)}.glossary-controls{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle)}.glossary-filter{flex:1;font:inherit;font-size:var(--text-sm);background:var(--bg-page);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:6px 10px}.glossary-filter:focus{outline:2px solid var(--ring);outline-offset:0}.glossary-body{padding:var(--space-2) var(--space-3);overflow:auto;flex:1}.glossary-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:var(--space-5)}.glossary-empty svg{color:var(--text-faint);opacity:.55}.glossary-empty p{margin:0;font-size:var(--text-sm);color:var(--text-primary)}.glossary-empty-quiet{color:var(--text-muted)!important;max-width:380px}.glossary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.glossary-row{display:flex;flex-direction:column;gap:4px;padding:var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.glossary-row-head{display:flex;align-items:center;gap:var(--space-2)}.glossary-row-term{flex:1;font:var(--type-subhead);font-size:var(--text-md);color:var(--text-primary)}.glossary-row-actions{display:flex;gap:4px}.glossary-row-def{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.glossary-row-source{margin:0;font-size:var(--text-2xs);color:var(--text-muted)}.timeline-dlg{width:min(700px,calc(100vw - 32px));max-height:calc(100vh - 64px);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.timeline-dlg-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.timeline-dlg-title{flex:1;margin:0;font:var(--type-subhead);font-size:var(--text-md);color:var(--text-primary)}.timeline-dlg-filters{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle)}.timeline-dlg-tabs{display:flex;gap:2px;padding:2px;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.timeline-dlg-tab{background:transparent;border:0;font:inherit;font-size:var(--text-xs);color:var(--text-muted);padding:4px 10px;border-radius:4px;cursor:pointer}.timeline-dlg-tab:hover{color:var(--text-primary)}.timeline-dlg-tab--active{background:var(--bg-surface);color:var(--text-primary)}.timeline-dlg-body{padding:var(--space-4);overflow:auto;display:flex;flex-direction:column;gap:var(--space-4)}.timeline-dlg-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:var(--space-5)}.timeline-dlg-empty svg{color:var(--text-faint);opacity:.55}.timeline-dlg-empty p{margin:0;font-size:var(--text-sm);color:var(--text-primary)}.timeline-dlg-empty-quiet{color:var(--text-muted)!important}.timeline-day{display:flex;flex-direction:column;gap:6px}.timeline-day-head{margin:0;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}.timeline-day-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.timeline-row{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.timeline-row-head{display:flex;align-items:center;gap:6px;background:transparent;border:0;text-align:left;font:inherit;font-size:var(--text-sm);color:var(--text-primary);padding:0;cursor:pointer}.timeline-row-head:hover:not(:disabled){color:var(--accent)}.timeline-row-head:disabled{color:var(--text-muted);cursor:not-allowed}.timeline-row-kind{font-size:var(--text-xs)}.timeline-row-doc{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-row-page{font-size:var(--text-2xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.timeline-row-time{font-size:var(--text-2xs);color:var(--text-muted)}.timeline-row-quote{margin:0;padding:6px 10px;border-left:3px solid var(--color-highlight-yellow, #f4d04e);background:var(--bg-surface);font-size:var(--text-sm);line-height:1.5;color:var(--text-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.timeline-row-quote--pink{border-left-color:var(--color-highlight-pink, #ec7a8c)}.timeline-row-quote--purple{border-left-color:var(--color-highlight-purple, #a39ad2)}.timeline-row-quote--green{border-left-color:var(--color-highlight-green, #8fc99b)}.timeline-row-quote--blue{border-left-color:var(--color-highlight-blue, #8aa9d6)}.timeline-row-note{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--text-primary)}.links-dlg{width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 64px);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.links-dlg-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.links-dlg-title{flex:1;margin:0;font:var(--type-subhead);font-size:var(--text-md);color:var(--text-primary)}.links-dlg-tabs{display:flex;gap:4px;padding:6px var(--space-3);border-bottom:1px solid var(--border-subtle)}.links-dlg-tab{background:transparent;border:0;font:inherit;font-size:var(--text-sm);color:var(--text-muted);padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer}.links-dlg-tab:hover{color:var(--text-primary)}.links-dlg-tab--active{background:var(--bg-page);color:var(--text-primary)}.links-dlg-body{padding:var(--space-4);overflow:auto;display:flex;flex-direction:column;gap:var(--space-4)}.links-dlg-section{display:flex;flex-direction:column;gap:var(--space-2)}.links-dlg-h3{margin:0;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}.links-dlg-target{display:flex;flex-direction:column;gap:4px}.links-dlg-target-head{font:var(--type-subhead);font-size:var(--text-sm);color:var(--text-primary);padding-bottom:2px;border-bottom:1px solid var(--border-subtle)}.links-dlg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.links-dlg-row{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.links-dlg-source{display:flex;align-items:center;gap:6px;background:transparent;border:0;text-align:left;font:inherit;font-size:var(--text-sm);color:var(--text-primary);padding:0;cursor:pointer}.links-dlg-source:hover{color:var(--accent)}.links-dlg-source-from{font-weight:var(--w-medium)}.links-dlg-source-to{color:var(--text-muted)}.links-dlg-source-quiet{color:var(--text-muted);font-size:var(--text-2xs)}.links-dlg-source svg{color:var(--text-muted)}.links-dlg-snippet{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--text-muted)}.links-dlg-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:var(--space-5)}.links-dlg-empty svg{color:var(--text-faint);opacity:.55}.links-dlg-empty p{margin:0;font-size:var(--text-sm);color:var(--text-primary)}.links-dlg-empty-quiet{color:var(--text-muted)!important;max-width:380px}.links-dlg-empty code{font:var(--type-mono);font-size:var(--text-xs);background:var(--bg-page);padding:1px 4px;border-radius:3px}.audiobook-dlg{width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 64px);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.audiobook-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.audiobook-title{flex:1;margin:0;font:var(--type-subhead);font-size:var(--text-md);color:var(--text-primary)}.audiobook-body{padding:var(--space-4);overflow:auto;display:flex;flex-direction:column;gap:var(--space-3)}.audiobook-prose{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.audiobook-prose--quiet{color:var(--text-muted)}.audiobook-range{display:flex;flex-direction:column;gap:var(--space-2)}.audiobook-rangeopt{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer}.audiobook-rangeopt>span{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.audiobook-rangenum{font:inherit;font-size:var(--text-sm);width:70px;background:var(--bg-page);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:4px 6px;margin:0 4px}.audiobook-progress{display:flex;flex-direction:column;gap:6px;padding:var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.audiobook-progress-line{font-size:var(--text-sm);color:var(--text-muted)}.audiobook-bar{height:4px;background:var(--bg-surface);border-radius:2px;overflow:hidden}.audiobook-bar-fill{height:100%;background:var(--accent);transition:width .2s ease-out}.audiobook-err{color:#c83838;margin:0;font-size:var(--text-sm)}.audiobook-result{display:flex;flex-direction:column;gap:6px;padding:var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.audiobook-result-head{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}.audiobook-audio{width:100%}.audiobook-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.lib-qa{width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 64px);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.lib-qa-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.lib-qa-title{flex:1;margin:0;font:var(--type-subhead);font-size:var(--text-md);color:var(--text-primary)}.lib-qa-body{padding:var(--space-4);overflow:auto;display:flex;flex-direction:column;gap:var(--space-3)}.lib-qa-status{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.lib-qa-status-line{font-size:var(--text-sm);color:var(--text-primary);display:flex;align-items:center;gap:6px}.lib-qa-status-line svg{color:var(--accent)}.lib-qa-status-quiet{color:var(--text-muted)}.lib-qa-err{color:#c83838;margin:0;font-size:var(--text-sm)}.lib-qa-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:var(--space-5)}.lib-qa-empty svg{color:var(--text-faint);opacity:.55}.lib-qa-empty p{margin:0;font-size:var(--text-sm);color:var(--text-primary)}.lib-qa-empty-quiet{color:var(--text-muted)!important}.lib-qa-ask{display:flex;flex-direction:column;gap:var(--space-2)}.lib-qa-input{width:100%;font:inherit;font-size:var(--text-sm);background:var(--bg-page);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px 12px;resize:vertical}.lib-qa-input:focus{outline:2px solid var(--ring);outline-offset:0}.lib-qa-ask-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;font-size:var(--text-sm);color:var(--text-muted)}.lib-qa-ask-btns{display:flex;gap:var(--space-2)}.lib-qa-answer{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.lib-qa-q{display:flex;align-items:flex-start;gap:6px;font-size:var(--text-sm);color:var(--text-muted);font-style:italic}.lib-qa-q svg{margin-top:3px;color:var(--accent)}.lib-qa-a{font-size:var(--text-sm);line-height:1.55;color:var(--text-primary);white-space:pre-wrap}.lib-qa-pending{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-style:italic}.lib-qa-sources{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--border-subtle);padding-top:var(--space-2)}.lib-qa-sources-head{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}.lib-qa-source{display:flex;align-items:center;gap:var(--space-2);width:100%;background:transparent;border:0;text-align:left;font:inherit;font-size:var(--text-sm);color:var(--text-primary);padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer}.lib-qa-source:hover:not(:disabled){background:var(--bg-surface);color:var(--accent)}.lib-qa-source:disabled{color:var(--text-muted);cursor:not-allowed}.lib-qa-source-n{font:var(--type-mono);font-size:var(--text-2xs);color:var(--text-muted);flex-shrink:0}.lib-qa-source-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-qa-source svg{flex-shrink:0;color:var(--text-muted)}.ocr-conv{width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 64px);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.ocr-conv-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.ocr-conv-title{flex:1;margin:0;font:var(--type-subhead);color:var(--text-primary)}.ocr-conv-body{padding:var(--space-4);overflow:auto;display:flex;flex-direction:column;gap:var(--space-3)}.ocr-conv-tabs{display:flex;gap:4px;padding:2px;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);align-self:flex-start}.ocr-conv-tab{background:transparent;border:0;font:inherit;font-size:var(--text-sm);color:var(--text-muted);padding:6px 12px;border-radius:4px;cursor:pointer}.ocr-conv-tab:hover{color:var(--text-primary)}.ocr-conv-tab--active{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle)}.ocr-conv-row{display:flex;align-items:end;gap:var(--space-3);flex-wrap:wrap}.ocr-conv-pagefield{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--text-muted)}.ocr-conv-pagefield>input{font:inherit;font-size:var(--text-sm);width:80px;background:var(--bg-page);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:6px 8px}.ocr-conv-pagefield-total{font-size:var(--text-2xs);color:var(--text-muted)}.ocr-conv-err{color:#c83838;margin:0;font-size:var(--text-sm)}.ocr-conv-output{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-3);display:flex;flex-direction:column;gap:6px}.ocr-conv-output-head{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}.ocr-conv-output-quiet{text-transform:none;letter-spacing:0;font-style:italic;color:var(--text-muted)}.ocr-conv-output-body{margin:0;white-space:pre-wrap;font:var(--type-mono);font-size:var(--text-xs);color:var(--text-primary);max-height:280px;overflow:auto}.ocr-conv-raw summary{cursor:pointer;font-size:var(--text-2xs);color:var(--text-muted)}.ocr-conv-raw pre{margin:6px 0 0;font:var(--type-mono);font-size:var(--text-xs);color:var(--text-muted);white-space:pre-wrap;max-height:160px;overflow:auto}.ocr-conv-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.goals-dash{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 64px);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.goals-dash-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.goals-dash-title{flex:1;margin:0;font:var(--type-subhead);font-size:var(--text-md);color:var(--text-primary)}.goals-dash-body{padding:var(--space-4);overflow:auto;display:flex;flex-direction:column;gap:var(--space-3)}.goals-dash-summary{display:flex;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.goals-dash-stat{display:flex;flex-direction:column;gap:2px}.goals-dash-stat-num{font:var(--type-brand);font-size:22px;color:var(--text-primary)}.goals-dash-stat-label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}.goals-dash-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:var(--space-5)}.goals-dash-empty svg{color:var(--text-faint);opacity:.55}.goals-dash-empty p{margin:0;font-size:var(--text-sm);color:var(--text-primary)}.goals-dash-empty-quiet{color:var(--text-muted)!important}.goals-dash-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.goal-row{display:flex;flex-direction:column;gap:6px;padding:var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.goal-row-top{display:flex;align-items:center;gap:var(--space-2)}.goal-row-title{flex:1;font-size:var(--text-sm);font-weight:var(--w-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-row-edit{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm)}.goal-row-edit:hover{color:var(--accent);background:var(--bg-surface)}.goal-row-meta{display:flex;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-muted)}.goal-row-meta-bit{display:inline-flex;align-items:center;gap:4px}.goal-row-meta-bit strong{color:var(--text-primary)}.goal-row-meta-bit svg{color:var(--accent)}.goal-row-bar{height:4px;background:var(--bg-surface);border-radius:2px;overflow:hidden}.goal-row-bar-fill{height:100%;background:var(--accent);transition:width .2s ease-out}.goal-strip{display:grid;grid-template-columns:repeat(60,1fr);gap:1px;margin-top:6px}.goal-strip-cell{height:8px;background:var(--bg-surface);border-radius:1px}.goal-strip-cell--1{background:rgba(var(--accent-rgb, 80, 144, 224),.35)}.goal-strip-cell--2{background:rgba(var(--accent-rgb, 80, 144, 224),.55)}.goal-strip-cell--3{background:rgba(var(--accent-rgb, 80, 144, 224),.75)}.goal-strip-cell--4{background:var(--accent)}.onboard{width:min(520px,calc(100vw - 32px));background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.onboard-body{padding:36px 36px 24px;display:flex;flex-direction:column;gap:14px;text-align:center;min-height:280px}.onboard-gem{width:64px;height:64px;margin:0 auto 8px}.onboard-title{margin:0;font:var(--type-title);font-size:28px;color:var(--text-primary)}.onboard-prose{margin:0;font-size:var(--text-md);line-height:1.55;color:var(--text-primary)}.onboard-prose--quiet{color:var(--text-muted);font-size:var(--text-sm)}.onboard-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:14px;text-align:left}.onboard-list li{display:flex;align-items:flex-start;gap:12px;font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.onboard-list li svg{flex-shrink:0;color:var(--accent);margin-top:2px}.onboard-foot{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid var(--border-subtle);background:var(--bg-page)}.onboard-dots{display:flex;gap:6px}.onboard-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--border-subtle)}.onboard-dot--on{background:var(--accent)}.onboard-actions{display:flex;gap:var(--space-2)}.sync-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 64px);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.sync-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.sync-title{flex:1;margin:0;font:var(--type-subhead);font-size:var(--text-md);color:var(--text-primary)}.sync-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);overflow:auto}.sync-prose{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.sync-prose--quiet{color:var(--text-muted)}.sync-prose--ok{color:var(--accent)}.sync-prose--err{color:#c83838}.sync-prose--warn{color:var(--text-muted);font-style:italic}.sync-form{display:flex;flex-direction:column;gap:var(--space-2)}.sync-field{display:flex;flex-direction:column;gap:4px}.sync-field>span{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}.sync-field>input{font:inherit;font-size:var(--text-sm);background:var(--bg-page);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:8px 10px}.sync-field>input:focus{outline:2px solid var(--ring);outline-offset:0;border-color:var(--accent)}.sync-field>input:disabled{opacity:.6;cursor:not-allowed}.sync-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.sync-summary{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-3);display:flex;flex-direction:column;gap:6px}.sync-summary-row{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}.sync-summary-label{width:80px;flex-shrink:0;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}.sync-summary-val{flex:1;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-pulled{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-3);display:flex;flex-direction:column;gap:6px}.sync-pulled-head{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted);margin-bottom:2px}.sync-pulled-row{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}.sync-pulled-store{width:110px;flex-shrink:0;color:var(--text-primary)}.sync-pulled-stat{flex:1;color:var(--text-muted)}.sync-selective{display:flex;flex-direction:column;gap:6px;padding:var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.sync-selective-head{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}.sync-selective-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:4px 12px}.sync-selective-row{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer}.sync-selective-row input{cursor:pointer}.sync-selective-row input:disabled{cursor:not-allowed;opacity:.6}.sync-selective-note{margin:4px 0 0}.vn-scrim{position:fixed;inset:0;background:#080c128c;display:flex;align-items:center;justify-content:center;z-index:220}.vn-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 64px);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.vn-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.vn-title{flex:1;margin:0;font:var(--type-subhead);font-size:var(--text-md);color:var(--text-primary)}.vn-close{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;padding:2px;color:var(--text-muted);cursor:pointer}.vn-close:hover{color:var(--accent)}.vn-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);overflow:auto}.vn-prose{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.vn-prose--quiet{color:var(--text-muted)}.vn-error{margin:0;color:#c83838;font-size:var(--text-sm)}.vn-record-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 20px;background:var(--accent);color:var(--accent-on);border:0;border-radius:999px;font-size:var(--text-sm);font-weight:var(--w-medium);cursor:pointer}.vn-record-btn:hover{filter:brightness(1.05)}.vn-record-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#e44a4a}.vn-stop-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 20px;background:var(--bg-page);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:999px;font-size:var(--text-sm);cursor:pointer}.vn-stop-btn:hover{border-color:var(--accent);color:var(--accent)}.vn-recording-state{display:flex;align-items:center;gap:var(--space-3)}.vn-elapsed{font:var(--type-mono);font-size:var(--text-lg);color:var(--text-primary)}.vn-record-pulse{display:inline-block;width:12px;height:12px;border-radius:50%;background:#e44a4a;animation:vn-pulse 1s ease-in-out infinite}@keyframes vn-pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}.vn-audio{width:100%}.vn-transcript{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.vn-transcript-head{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-2xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.vn-transcript-text{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.vn-link{background:transparent;border:0;font:inherit;font-size:var(--text-2xs);color:var(--text-muted);cursor:pointer;padding:0}.vn-link:hover{color:var(--accent);text-decoration:underline}.vn-review-actions{display:flex;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}.vn-danger{color:#c83838}.vn-danger:hover{background:#c838381a}.vn-foot{padding:6px var(--space-3);border-top:1px solid var(--border-subtle);background:var(--bg-page);font-size:var(--text-2xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);text-align:center}.tip{position:fixed;z-index:400;width:max-content;max-width:min(92vw,320px);padding:4px var(--space-2);background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font:var(--type-label);box-shadow:var(--shadow-sm);pointer-events:none;transition:opacity var(--motion-fast) var(--ease-warm)}.tip:after{content:"";position:absolute;top:100%;left:var(--tip-arrow, 50%);margin-left:-4px;border:4px solid transparent;border-top-color:var(--border-subtle)}.tip[data-below]:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--border-subtle)}.public-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg-page);color:var(--text-primary);overflow-y:auto}.public-header{display:flex;align-items:center;justify-content:space-between;padding:20px clamp(20px,5vw,48px);border-bottom:1px solid var(--border-subtle);background:var(--bg-page);position:sticky;top:0;z-index:20;backdrop-filter:saturate(160%) blur(6px)}.public-header-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.public-header-gem{width:32px;height:32px;display:inline-block}.public-header-wordmark{font:var(--type-brand);font-size:22px;letter-spacing:var(--tracking-tight)}.public-header-nav{display:flex;align-items:center;gap:20px}.public-header-launch{color:var(--accent);text-decoration:none;font-size:var(--text-md);font-weight:var(--w-medium);padding:6px 12px;border-radius:var(--radius-sm);transition:background .12s ease-out}.public-header-launch:hover{background:rgba(var(--accent-rgb, 181, 85, 47),.08)}.public-main{flex:1;display:flex;flex-direction:column}.public-footer{border-top:1px solid var(--border-subtle);background:var(--bg-surface);padding:48px clamp(20px,5vw,48px) 24px;margin-top:40px}.public-footer-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}@media (max-width: 720px){.public-footer-inner{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.public-footer-inner{grid-template-columns:1fr}}.public-footer-col{display:flex;flex-direction:column;gap:8px;font-size:var(--text-sm)}.public-footer-col a{color:var(--text-muted);text-decoration:none;line-height:1.6}.public-footer-col a:hover{color:var(--accent)}.public-footer-col a[data-active=true]{color:var(--accent);font-weight:var(--w-medium)}.public-footer-heading{font:var(--type-brand);font-size:var(--text-md);color:var(--text-primary);margin-bottom:4px}.public-footer-col--brand{gap:12px}.public-footer-mark{font:var(--type-brand);color:var(--text-primary)}.public-footer-tagline{margin:0;color:var(--text-muted);line-height:1.55;max-width:32ch}.public-footer-fine{max-width:1080px;margin:40px auto 0;padding-top:20px;border-top:1px solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-faint);text-align:center}.landing-hero{padding:96px clamp(20px,5vw,48px) 80px;display:flex;justify-content:center}.landing-hero-inner{max-width:720px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}.landing-hero-gem{width:96px;height:96px;margin-bottom:8px}.landing-hero-title{margin:0;font:var(--type-display);font-size:clamp(36px,5vw,56px);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.landing-hero-sub{margin:0;max-width:560px;font-size:var(--text-lg);line-height:1.55;color:var(--text-muted)}.landing-hero-cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:8px}.landing-hero-quiet{margin:4px 0 0;font-size:var(--text-sm);color:var(--text-faint)}.landing-btn{display:inline-flex;align-items:center;gap:6px;padding:12px 22px;border-radius:var(--radius-sm);font-size:var(--text-md);font-weight:var(--w-medium);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .12s ease-out,background .12s ease-out,border-color .12s ease-out}.landing-btn:hover{transform:translateY(-1px)}.landing-btn--primary{background:var(--accent);color:var(--accent-on)}.landing-btn--primary:hover{filter:brightness(1.05)}.landing-btn--ghost{background:transparent;color:var(--text-primary);border-color:var(--border-subtle)}.landing-btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.landing-btn--large{padding:16px 32px;font-size:var(--text-lg)}.landing-section{padding:80px clamp(20px,5vw,48px);max-width:1080px;margin:0 auto;width:100%;box-sizing:border-box}.landing-section--tinted{background:var(--bg-surface);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);max-width:none;margin:0;padding-left:0;padding-right:0}.landing-section--tinted>*{max-width:1080px;margin-left:auto;margin-right:auto;padding-left:clamp(20px,5vw,48px);padding-right:clamp(20px,5vw,48px);box-sizing:border-box}.landing-section--cta{padding-top:96px;padding-bottom:96px;text-align:center}.landing-section-head{text-align:center;max-width:640px;margin:0 auto 48px}.landing-h2{margin:0 0 12px;font:var(--type-title);font-size:clamp(28px,3.5vw,40px);letter-spacing:-.015em;color:var(--text-primary)}.landing-section-lede{margin:0;font-size:var(--text-lg);line-height:1.55;color:var(--text-muted)}.landing-grid{display:grid;gap:24px}.landing-grid--3{grid-template-columns:repeat(3,1fr)}.landing-grid--4{grid-template-columns:repeat(4,1fr)}@media (max-width: 900px){.landing-grid--3{grid-template-columns:1fr}.landing-grid--4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.landing-grid--4{grid-template-columns:1fr}}.landing-card{padding:28px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-page);display:flex;flex-direction:column;gap:12px}.landing-card-eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:var(--w-semibold)}.landing-card-h{margin:0;font:var(--type-brand);color:var(--text-primary)}.landing-card p{margin:0;color:var(--text-muted);line-height:1.6;font-size:var(--text-md)}.landing-pro-card{padding:24px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-page);display:flex;flex-direction:column;gap:10px}.landing-pro-h{margin:0 0 4px;font:var(--type-brand);font-size:var(--text-lg);color:var(--accent)}.landing-pro-card ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.landing-pro-card li{font-size:var(--text-sm);color:var(--text-primary);line-height:1.5;padding-left:16px;position:relative}.landing-pro-card li:before{content:"·";position:absolute;left:4px;color:var(--accent);font-weight:var(--w-semibold)}.landing-pricing{align-items:stretch}.landing-price{position:relative;padding:32px 24px 28px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-page);display:flex;flex-direction:column;gap:8px;text-align:center}.landing-price--featured{border-color:var(--accent);border-width:2px;transform:translateY(-4px);box-shadow:0 8px 24px #0000000f}@media (max-width: 900px){.landing-price--featured{transform:none}}.landing-price-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:4px 12px;background:var(--accent);color:var(--accent-on);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--w-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.landing-price-name{font:var(--type-brand);font-size:var(--text-lg);color:var(--text-primary)}.landing-price-amount{margin:4px 0 6px;font:var(--type-title);font-size:44px;color:var(--text-primary)}.landing-price-per{font-size:var(--text-md);color:var(--text-muted);font-weight:var(--w-regular);margin-left:4px}.landing-price-note{margin:0 0 16px;font-size:var(--text-sm);color:var(--text-muted);line-height:1.5;min-height:42px}.landing-price-cta{margin-top:auto;justify-content:center}.landing-pricing-fine{max-width:640px;margin:32px auto 0;text-align:center;font-size:var(--text-sm);color:var(--text-muted);line-height:1.5}.landing-pricing-fine a{color:var(--text-primary);text-decoration:underline}.landing-pricing-fine a:hover{color:var(--accent)}.landing-privacy{text-align:center;max-width:640px;margin:0 auto;padding:32px 0;display:flex;flex-direction:column;align-items:center;gap:16px}.landing-privacy-gem{width:64px;height:64px;margin-bottom:8px}.landing-privacy-body{margin:0;font-size:var(--text-lg);line-height:1.55;color:var(--text-primary)}.landing-privacy-body--quiet{font-size:var(--text-md);color:var(--text-muted)}.landing-privacy-body a{color:var(--accent);text-decoration:underline}.landing-final{max-width:560px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:16px}.landing-final-lede{margin:0;font-size:var(--text-lg);color:var(--text-muted);line-height:1.55}.legal-doc{max-width:720px;margin:0 auto;padding:64px clamp(20px,5vw,48px) 96px;color:var(--text-primary);line-height:1.7;font-size:var(--text-md)}.legal-doc h1{margin:0 0 12px;font:var(--type-title);font-size:clamp(30px,4vw,42px);letter-spacing:-.015em}.legal-doc h2{margin:48px 0 12px;font:var(--type-brand);font-size:var(--text-2xl);color:var(--text-primary);scroll-margin-top:80px}.legal-doc h3{margin:32px 0 8px;font:var(--type-brand);color:var(--text-primary);scroll-margin-top:80px}.legal-doc h4{margin:20px 0 6px;font-size:var(--text-lg);font-weight:var(--w-semibold);color:var(--text-primary)}.legal-doc p{margin:0 0 16px;color:var(--text-primary)}.legal-doc a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.legal-doc a:hover{text-decoration-thickness:2px}.legal-doc ul,.legal-doc ol{margin:0 0 16px;padding-left:24px}.legal-doc li{margin-bottom:6px;color:var(--text-primary)}.legal-doc strong{color:var(--text-primary);font-weight:var(--w-semibold)}.legal-doc em{color:var(--text-primary)}.legal-doc code{padding:2px 6px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);font:var(--type-mono);font-size:.9em}.legal-doc pre{padding:16px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow-x:auto;font-size:var(--text-sm);line-height:1.5}.legal-doc pre code{padding:0;border:0;background:transparent}.legal-doc blockquote{margin:16px 0;padding:4px 16px;border-left:3px solid var(--accent);color:var(--text-muted);font-style:italic}.legal-doc hr{margin:40px 0;border:0;border-top:1px solid var(--border-subtle)}.legal-doc table{width:100%;border-collapse:collapse;margin:16px 0;font-size:var(--text-sm)}.legal-doc th,.legal-doc td{padding:10px 12px;border:1px solid var(--border-subtle);text-align:left;vertical-align:top}.legal-doc th{background:var(--bg-surface);font-weight:var(--w-semibold);color:var(--text-primary)}.legal-doc td{color:var(--text-primary)}.legal-not-found{max-width:480px;margin:120px auto;padding:0 24px;text-align:center}.legal-not-found h1{font:var(--type-title);font-size:40px;margin:0 0 12px}.legal-not-found p{color:var(--text-muted);line-height:1.6}.checkout-consent{width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 64px);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg, 0 12px 40px rgba(0,0,0,.15));display:flex;flex-direction:column;overflow:hidden}.checkout-consent-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.checkout-consent-title{flex:1;margin:0;font:var(--type-brand);font-size:var(--text-lg);color:var(--text-primary)}.checkout-consent-body{padding:var(--space-4);overflow:auto;display:flex;flex-direction:column;gap:var(--space-3)}.checkout-consent-price{display:flex;align-items:baseline;gap:6px;padding:var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);justify-content:center}.checkout-consent-amount{font:var(--type-title);font-size:36px;color:var(--text-primary)}.checkout-consent-interval{font-size:var(--text-md);color:var(--text-muted)}.checkout-consent-was{font-size:var(--text-lg);color:var(--text-muted);text-decoration:line-through;text-decoration-thickness:1px}.checkout-consent-off{margin-left:auto;padding:2px 8px;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-on);font-size:var(--text-2xs);font-weight:var(--w-semibold);letter-spacing:.04em;font-variant-numeric:tabular-nums}.checkout-consent-lede{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.checkout-consent-check{display:flex;align-items:flex-start;gap:10px;padding:12px;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);line-height:1.5;color:var(--text-primary)}.checkout-consent-check input{margin-top:3px;cursor:pointer}.checkout-consent-check a{color:var(--accent);text-decoration:underline}.checkout-consent-note{margin:0;padding:10px 12px;background:#6b63570f;border-left:3px solid var(--text-muted);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--text-sm);color:var(--text-muted);line-height:1.5;display:flex;gap:8px;align-items:flex-start}.checkout-consent-note svg{flex-shrink:0;margin-top:2px}.checkout-consent-fine{margin:0;font-size:var(--text-xs);color:var(--text-muted);line-height:1.5}.checkout-consent-fine a{color:var(--text-primary);text-decoration:underline}.checkout-consent-foot{padding:var(--space-3);border-top:1px solid var(--border-subtle);background:var(--bg-page);display:flex;justify-content:flex-end;gap:var(--space-2)}.pro-tile{position:relative;margin:0 auto 24px;max-width:960px;padding:20px 24px;background:linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-page) 100%);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:grid;grid-template-columns:1fr auto;grid-template-areas:"head    dismiss" "lede    lede" "feats   feats" "actions actions";gap:12px 16px}.pro-tile-head{grid-area:head;display:flex;align-items:center;gap:10px}.pro-tile-title{margin:0;font:var(--type-brand);color:var(--text-primary);letter-spacing:-.01em}.pro-tile-dismiss{grid-area:dismiss;align-self:start;background:transparent;border:0;color:var(--text-muted);padding:4px;border-radius:var(--radius-sm);cursor:pointer}.pro-tile-dismiss:hover{color:var(--accent);background:#0000000a}.pro-tile-lede{grid-area:lede;margin:0;font-size:var(--text-md);line-height:1.55;color:var(--text-muted)}.pro-tile-features{grid-area:feats;margin:4px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:6px 20px}@media (max-width: 640px){.pro-tile-features{grid-template-columns:1fr}}.pro-tile-features li{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-primary)}.pro-tile-features li svg{color:var(--accent);flex-shrink:0}.pro-tile-actions{grid-area:actions;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:4px}.pro-tile-btn{display:inline-flex;align-items:center;padding:8px 16px;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--w-medium);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .1s ease-out}.pro-tile-btn:hover{transform:translateY(-1px)}.pro-tile-btn--primary{background:var(--accent);color:var(--accent-on)}.pro-tile-btn--primary:hover{filter:brightness(1.05)}.pro-tile-btn--ghost{background:transparent;color:var(--text-primary);border-color:var(--border-subtle)}.pro-tile-btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.static-page{max-width:720px;margin:0 auto;padding:64px clamp(20px,5vw,48px) 96px;color:var(--text-primary);line-height:1.7;font-size:var(--text-md)}.static-page--center{text-align:center;padding-top:120px}.static-eyebrow{margin:0 0 8px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:var(--w-semibold)}.static-h1{margin:0 0 16px;font:var(--type-title);font-size:clamp(32px,4.5vw,44px);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.static-h2{margin:48px 0 12px;font:var(--type-brand);font-size:var(--text-2xl);color:var(--text-primary);scroll-margin-top:80px}.static-lede{margin:0 0 12px;font-size:var(--text-lg);line-height:1.55;color:var(--text-muted)}.static-quiet{color:var(--text-muted);font-size:var(--text-sm)}.static-page p,.static-page ul,.static-page ol{margin:0 0 12px}.static-page ul,.static-page ol{padding-left:24px}.static-page li{margin-bottom:4px}.static-page a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.static-page a:hover{text-decoration-thickness:2px}.static-page code{padding:2px 6px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);font:var(--type-mono);font-size:.9em}.static-cta{display:flex;gap:12px;justify-content:center;margin-top:24px;flex-wrap:wrap}.changelog-entry{padding-bottom:32px;border-bottom:1px solid var(--border-subtle);margin-bottom:32px}.changelog-entry:last-child{border-bottom:0}.changelog-date{margin:4px 0 12px;font:var(--type-mono);color:var(--text-muted);letter-spacing:.02em}.press-fact-grid{display:grid;grid-template-columns:160px 1fr;gap:8px 20px;margin:16px 0 24px}@media (max-width: 560px){.press-fact-grid{grid-template-columns:1fr;gap:0 0}}.press-fact{display:contents}.press-fact-k{font-size:var(--text-sm);color:var(--text-muted);padding-top:6px}.press-fact-v{padding:6px 0;border-bottom:1px dashed var(--border-subtle)}.press-gems{display:flex;gap:20px;flex-wrap:wrap;margin:16px 0 24px}.press-gem{display:flex;flex-direction:column;align-items:center;gap:8px}.press-gem-preview{width:120px;height:120px;padding:20px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}.press-gem-preview--paper{background:var(--bg-page);border:1px solid var(--border-subtle)}.press-gem-preview--dark{background:#0f1419}.press-gem-preview svg{width:100%;height:100%}.press-gem-label{font-size:var(--text-xs);color:var(--text-muted)}.status-table{width:100%;border-collapse:collapse;margin:16px 0 24px;font-size:var(--text-sm)}.status-table th,.status-table td{padding:10px 12px;border:1px solid var(--border-subtle);text-align:left;vertical-align:top}.status-table th{background:var(--bg-surface);font-weight:var(--w-semibold);color:var(--text-primary)}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--w-semibold)}.status-pill:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%}.status-ok{background:#4caf5024;color:#2e7031}.status-ok:before{background:#4caf50}.status-down{background:#c8383824;color:#a12626}.status-down:before{background:#c83838}.status-checking{background:#6b63571f;color:var(--text-muted)}.status-checking:before{background:var(--text-muted);animation:status-pulse 1.2s ease-in-out infinite}@keyframes status-pulse{0%,to{opacity:.4}50%{opacity:1}}.settings-prose--muted{color:var(--text-muted);font-size:var(--text-xs)}.settings-pro-models{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.settings-model-rungs{display:flex;flex-direction:column;gap:var(--space-2)}.settings-model-rung{display:flex;flex-direction:column;gap:4px;width:100%;padding:var(--space-3);text-align:left;cursor:pointer;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font:inherit;transition:border-color .14s ease,background .14s ease}.settings-model-rung:hover:not(:disabled){border-color:var(--accent);background:var(--bg-elevated)}.settings-model-rung:disabled{opacity:.6;cursor:default}.settings-model-rung--active{border-color:var(--accent);background:var(--bg-elevated)}.settings-model-rung-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.settings-model-rung-label{font:var(--type-subhead);font-size:var(--text-md)}.settings-model-rung--active .settings-model-rung-label{color:var(--accent)}.settings-model-rung-size{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.settings-model-rung-blurb{font-size:var(--text-sm);line-height:1.5;color:var(--text-muted)}.pi-quota{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.pi-quota-count{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.pi-quota-link{flex-shrink:0;padding:0;background:none;border:none;cursor:pointer;font:inherit;font-size:var(--text-xs);color:var(--accent);text-decoration:underline;text-underline-offset:2px}.pi-quota-link:hover{opacity:.8}.settings-trial{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);margin-bottom:var(--space-4);background:var(--bg-elevated);border:1px solid var(--accent);border-radius:var(--radius-md)}.settings-trial-head{display:flex;align-items:center;gap:var(--space-2);color:var(--accent)}.settings-trial-title{font:var(--type-subhead);font-size:var(--text-md)}.settings-trial-prose{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.settings-trial-prose--quiet{color:var(--text-muted);font-size:var(--text-xs)}.settings-trial-btn{align-self:flex-start;margin-top:var(--space-1)}.settings-trial-error{margin:0;font-size:var(--text-xs);color:var(--color-danger, #b04040)}.cap-pro{flex-shrink:0;margin-left:auto;padding:2px 6px;font-size:var(--text-2xs);font-weight:var(--w-semibold);letter-spacing:.08em;line-height:1.4;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:var(--radius-sm);transform:translateY(-.5px)}.sidepane-item-meta~.cap-pro,.sidepane-item-shortcut~.cap-pro{margin-left:var(--space-2)}.cap-pro~.sidepane-item-meta,.cap-pro~.sidepane-item-shortcut{margin-left:var(--space-2)}.menu-section{padding:4px var(--space-2) 2px;font:var(--type-micro);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);user-select:none}.menu-section:not(:first-child){margin-top:4px}.menu-note{margin:0;padding:2px var(--space-2) 6px;max-width:30ch;font:var(--type-small);color:var(--text-muted);user-select:none}.menu-item-check{flex-shrink:0;margin-left:auto;display:inline-flex;color:var(--accent)}.menu-item--checked .menu-item-label{color:var(--text-primary);font-weight:var(--w-semibold)}.ribbon-intelligence{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 26%,transparent);background:color-mix(in srgb,var(--accent) 7%,transparent)}.ribbon-intelligence:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.ribbon-intelligence--active{color:var(--bg-page);background:var(--accent);border-color:var(--accent)}#home{justify-content:flex-start;padding-top:var(--space-6)}.lib-open-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:9px var(--space-4);font:inherit;font-size:var(--text-sm);font-weight:var(--w-medium);color:var(--bg-page);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:filter .14s ease,transform .14s ease}.lib-open-btn:hover{filter:brightness(1.06)}.lib-open-btn:active{transform:translateY(1px)}.lib-open-btn--lg{padding:13px var(--space-6);font-size:var(--text-md);border-radius:var(--radius-lg, 12px)}.lib-resume{width:100%;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);text-align:left;font:inherit;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg, 12px);cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.lib-resume:hover{border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:var(--bg-elevated)}.lib-resume:active{transform:translateY(1px)}.lib-resume-text{display:flex;flex-direction:column;gap:2px;min-width:0;margin-right:auto}.lib-resume-label{font-size:var(--text-2xs);font-weight:var(--w-semibold);letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.lib-resume-name{font:var(--type-brand);font-size:var(--text-lg);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-resume:hover .lib-resume-arrow{color:var(--accent)}.lib-grid3{grid-template-columns:minmax(0,2.4fr) minmax(220px,1fr)}.lib-elsewhere{display:flex;flex-direction:column;gap:var(--space-2)}.lib-firstrun{width:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-10) var(--space-4);text-align:center}.lib-firstrun-mark{width:var(--brand-mark-lg);height:var(--brand-mark-lg);margin-bottom:var(--space-3);filter:drop-shadow(var(--filter-drop-lg))}.lib-firstrun-mark svg{width:100%;height:100%;display:block}.lib-firstrun-title{margin:0;font:var(--type-display);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.lib-firstrun-sub{margin:0 0 var(--space-3);max-width:420px;font-size:var(--text-lg);line-height:var(--lh-relaxed);color:var(--text-muted)}.lib-firstrun-hint{font-size:var(--text-sm);color:var(--text-faint)}@media (max-width: 900px){.lib-grid3{grid-template-columns:minmax(0,1fr)}.lib-bar{gap:var(--space-3)}.lib-bar-brand{margin-right:0;width:100%}.lib-bar-actions{width:100%}.lib-open-btn{flex:1;justify-content:center}}@media (max-width: 560px){.lib-resume{flex-wrap:wrap}.lib-resume-page{margin-left:auto}.lib-bar-btn span{display:none}.lib-bar-btn{padding:8px 10px}}.shelf{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,176px));justify-content:start;gap:var(--space-6) var(--space-5)}.shelf-item{position:relative;display:flex;flex-direction:column;gap:10px}.shelf-open{position:relative;display:block;width:100%;padding:0;background:none;border:0;cursor:pointer;border-radius:var(--radius-md);transition:transform .22s cubic-bezier(.2,.7,.3,1),filter .22s ease}.shelf-open:hover{transform:translateY(-4px);filter:brightness(1.02)}.shelf-open:active{transform:translateY(-1px)}.shelf-open:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.cover{position:relative;width:100%;aspect-ratio:3 / 4;overflow:hidden;border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:0 1px 2px #0000001a,0 8px 20px -6px #00000029;transition:box-shadow .22s ease}.shelf-open:hover .cover{box-shadow:0 2px 4px #0000001f,0 18px 36px -10px #00000042}.cover-img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.cover-pending{width:100%;height:100%;background:linear-gradient(170deg,var(--bg-elevated) 0%,var(--bg-surface) 100%)}.cover-fallback{width:100%;height:100%;display:flex;align-items:flex-end;padding:var(--space-3);background:linear-gradient(160deg,hsl(var(--cover-hue) 22% 92%),hsl(var(--cover-hue) 18% 84%))}.cover-fallback-title{font:var(--type-brand);font-size:var(--text-sm);color:hsl(var(--cover-hue) 30% 26%);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.shelf-pin-badge{position:absolute;top:8px;left:8px;display:flex;padding:4px;color:var(--accent);background:color-mix(in srgb,var(--bg-page) 88%,transparent);border-radius:var(--radius-sm);backdrop-filter:blur(4px)}.shelf-progress{position:absolute;left:0;right:0;bottom:0;padding:18px 8px 6px;display:flex;justify-content:flex-end;background:linear-gradient(to top,rgba(0,0,0,.45),transparent)}.shelf-progress-label{font-size:var(--text-2xs);font-weight:var(--w-medium);letter-spacing:.02em;color:#fff;font-variant-numeric:tabular-nums}.shelf-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.shelf-name{font-size:var(--text-sm);line-height:1.35;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.shelf-sub{font-size:var(--text-xs);color:var(--text-muted)}.shelf-actions,.shelf-act--coll{position:absolute;top:8px;right:8px;opacity:0;transform:translateY(-2px);transition:opacity .16s ease,transform .16s ease}.shelf-actions{display:flex;gap:2px}.shelf-act--coll{right:8px;top:40px}.shelf-item:hover .shelf-actions,.shelf-item:hover .shelf-act--coll,.shelf-item:focus-within .shelf-actions,.shelf-item:focus-within .shelf-act--coll{opacity:1;transform:translateY(0)}.shelf-act{display:inline-flex;padding:5px;color:var(--text-primary);background:color-mix(in srgb,var(--bg-page) 88%,transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 6px);cursor:pointer;backdrop-filter:blur(4px);transition:color .14s ease,background .14s ease}.shelf-act:hover:not(:disabled){color:var(--accent);background:var(--bg-page)}.shelf-act:disabled{opacity:.35;cursor:default}.shelf-tags{display:flex;flex-wrap:wrap;gap:4px}.shelf-item--pinned .cover{outline:1px solid color-mix(in srgb,var(--accent) 32%,transparent)}.shelf-item--editing .shelf-actions{opacity:1;transform:none}.lib-resume-cover{flex-shrink:0;width:54px;display:block}@media (hover: none){.shelf-actions,.shelf-act--coll{opacity:1;transform:none}}.lib-stage{width:100%;display:flex;flex-direction:column;gap:var(--space-7);text-align:left}.lib-footer{display:flex;flex-direction:column;gap:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}.lib-footer .lib-section-label{margin-bottom:var(--space-2)}.lib-footer .lib-closed-list{display:flex;flex-wrap:wrap;gap:6px}.lib-footer .lib-closed-row{width:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding-right:2px}.lib-footer .lib-closed-btn{padding:5px var(--space-2)}.menubar-actions{display:flex;align-items:center;gap:2px}.menubar-primary,.menubar-action{display:inline-flex;align-items:center;gap:6px;height:var(--control-h);padding:0 10px;font:inherit;font-size:var(--text-xs);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:color .14s ease,background .14s ease,border-color .14s ease}.menubar-primary{color:var(--bg-page);background:var(--accent);border:1px solid var(--accent);font-weight:var(--w-medium)}.menubar-primary:hover{filter:brightness(1.06)}.menubar-action{color:var(--text-muted);background:transparent;border:1px solid transparent}.menubar-action:hover{color:var(--text-primary);background:var(--bg-elevated)}.menubar-action--life:hover{color:var(--accent)}.menubar-action--pro{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,transparent)}.menubar-action--pro:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}@media (max-width: 1040px){.menubar-btn-label{display:none}.menubar-action--pro .menubar-btn-label{display:inline}}@media (max-width: 720px){.menubar-action--life,.menubar-action--pro{display:none}}.rl-scrim{position:fixed;inset:0;z-index:100000;display:flex;align-items:flex-start;justify-content:center;padding:var(--space-6) var(--space-4);overflow-y:auto;background:#140e0a8c}.rl{width:100%;max-width:940px;background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 24px 64px -16px #00000073;opacity:0;transform:translateY(8px);transition:opacity .26s ease,transform .26s cubic-bezier(.2,.7,.3,1)}.rl--in{opacity:1;transform:none}.rl-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--border-subtle)}.rl-title{margin:0;font:var(--type-brand);font-size:26px;letter-spacing:var(--tracking-tight)}.rl-sub{margin:4px 0 0;font-size:var(--text-xs);color:var(--text-muted)}.rl-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-7)}.rl-core{display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap}.rl-dial{position:relative;width:160px;height:160px;flex-shrink:0}.rl-dial-svg{width:100%;height:100%;transform:rotate(-90deg)}.rl-dial-ticks line{stroke:var(--text-faint);stroke-width:1;opacity:.4}.rl-dial-track{fill:none;stroke:var(--border-subtle);stroke-width:6}.rl-dial-arc{fill:none;stroke:var(--accent);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.2,.7,.2,1)}.rl-dial-centre{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.rl-dial-label{font-size:var(--text-2xs);font-weight:var(--w-semibold);letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted)}.rl-core-read{display:flex;flex-direction:column;gap:2px}.rl-core-num{font:var(--type-brand);font-size:56px;font-variant-numeric:tabular-nums;color:var(--text-primary)}.rl-core-unit{font-size:var(--text-sm);color:var(--text-muted)}.rl-core-next{margin-top:6px;font-size:var(--text-sm);color:var(--accent)}.rl-praise{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);line-height:1.5;color:var(--text-primary);background:color-mix(in srgb,var(--accent) 7%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:var(--radius-md)}.rl-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3)}.rl-tier{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-4) var(--space-3);text-align:center;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface)}.rl-tier--held{border-color:color-mix(in srgb,var(--accent) 30%,transparent);background:var(--bg-elevated)}.tier-gem-locked{display:block;opacity:.32;filter:saturate(.2)}.rl-tier-name{font:var(--type-brand);font-size:var(--text-md)}.rl-tier-req{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.rl-tier-times{font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-faint)}.rl-tier--held .rl-tier-times{color:var(--accent)}.rl-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3)}.rl-kpi{display:flex;flex-direction:column;padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface)}.rl-kpi-num{font:var(--type-brand);font-size:34px;font-variant-numeric:tabular-nums;color:var(--text-primary)}.rl-kpi-unit{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.rl-kpi-label{margin-top:var(--space-2);font-size:var(--text-2xs);font-weight:var(--w-semibold);letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint)}.rl-hours{display:flex;justify-content:center}.rl-hours-svg{width:260px;height:260px;max-width:100%}.rl-hours-ring{fill:none;stroke:var(--border-subtle);stroke-width:1}.rl-hours-spoke{stroke:var(--accent);stroke-width:5;stroke-linecap:round;opacity:.55;transition:all .62s cubic-bezier(.2,.7,.2,1)}.rl-hours-spoke[data-peak=true]{opacity:1;stroke-width:6}.rl-hours-tick{fill:var(--text-faint);font-size:var(--text-2xs);text-anchor:middle;font-variant-numeric:tabular-nums}.rl-h3{margin:0;font-size:var(--text-2xs);font-weight:var(--w-semibold);letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted)}.rl-insight{margin:0;font-size:var(--text-md);color:var(--text-primary);text-align:center}.rl-note,.rl-empty{margin:0;font-size:var(--text-xs);color:var(--text-muted);line-height:1.55}.rl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.rl-row{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-3);text-align:left;font:inherit;font-size:var(--text-sm);color:var(--text-primary);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}.rl-row:hover{background:var(--bg-elevated)}.rl-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rl-row-meta{flex-shrink:0;font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.rl-row-est{flex-shrink:0;font-size:var(--text-xs);color:var(--accent)}@media (max-width: 640px){.rl-body{padding:var(--space-4);gap:var(--space-6)}.rl-core{justify-content:center}.rl-core-num{font-size:44px}}@media (prefers-reduced-motion: reduce){.rl,.rl-dial-arc,.rl-hours-spoke{transition:none}}.rl-page{flex:1;overflow-y:auto;padding:var(--space-6) var(--space-6) var(--space-10);background:var(--bg-page);opacity:0;transition:opacity .24s ease}.rl-page.rl--in{opacity:1}.rl-wrap{width:100%;max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-6)}.rl-head{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:0 0 var(--space-4);border-bottom:1px solid var(--border-subtle)}.rl-back{display:inline-flex;align-items:center;gap:4px;padding:6px 10px 6px 6px;font:inherit;font-size:var(--text-sm);color:var(--text-muted);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:color .14s ease,border-color .14s ease}.rl-back:hover{color:var(--text-primary);border-color:var(--text-faint)}.rl-headings{display:flex;flex-direction:column;gap:2px}.rl-title{margin:0;font:var(--type-display);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.rl-sub{margin:0;font-size:var(--text-sm);color:var(--text-muted)}.rl-body{display:flex;flex-direction:column;gap:var(--space-6);padding:0}.rl-band{padding:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface)}.rl-band--now{display:flex;flex-direction:column;gap:var(--space-6)}.rl-core{display:grid;grid-template-columns:auto minmax(160px,1fr) minmax(280px,1.2fr);align-items:center;gap:var(--space-6)}.rl-sub-block{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}.rl-band--patterns,.rl-band--books{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-6);padding:0;border:0;background:transparent}.rl-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface)}.rl-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.rl-kpi{padding:var(--space-3) var(--space-4);background:var(--bg-elevated)}.rl-kpi-num{font-size:28px}.rl-tiers{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.rl-tier{background:var(--bg-elevated)}.rl-hours-svg{width:240px;height:240px}@media (max-width: 1040px){.rl-core{grid-template-columns:auto 1fr}.rl-kpis{grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 720px){.rl-page{padding:var(--space-4) var(--space-4) var(--space-8)}.rl-band,.rl-panel{padding:var(--space-4)}.rl-core{grid-template-columns:1fr;justify-items:center;text-align:center}.rl-core-read{align-items:center}.rl-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.lib-stage{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:var(--space-7);align-items:start;text-align:left}.shelf{grid-template-columns:repeat(4,minmax(0,1fr));justify-content:stretch;gap:var(--space-5) var(--space-4)}.shelf-name{font-size:var(--text-xs);line-height:1.3}.shelf-sub{font-size:var(--text-2xs)}.lib-side .lib-closed-list{display:flex;flex-direction:column;gap:2px}.lib-side .lib-closed-row{width:100%;border:0;border-radius:var(--radius-sm);padding-right:0}.lib-side .lib-closed-btn{padding:6px var(--space-2)}.lib-cloud{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}.lib-cloud-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.lib-cloud-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:9px var(--space-4);font:inherit;font-size:var(--text-sm);color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:color .14s ease,border-color .14s ease,background .14s ease,transform .14s ease}.lib-cloud-btn:hover{color:var(--text-primary);background:var(--bg-elevated);border-color:color-mix(in srgb,var(--accent) 32%,transparent);transform:translateY(-1px)}.lib-cloud-btn:active{transform:none}.lib-cloud-logo{display:flex;flex-shrink:0;opacity:.85}.lib-cloud-btn:hover .lib-cloud-logo{opacity:1}.lib-cloud-name{white-space:nowrap}@media (max-width: 1100px){.lib-stage{grid-template-columns:minmax(0,1fr) 220px}.shelf{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 820px){.lib-stage{grid-template-columns:minmax(0,1fr)}.lib-side{order:2}.shelf{grid-template-columns:repeat(4,minmax(0,1fr))}.lib-cloud-hint{margin-left:0;width:100%}}@media (max-width: 520px){.shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.lib-cloud-btn{flex:1;justify-content:center}}.shelf-item{width:100%;max-width:156px;margin-inline:auto}.lib-stage{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:var(--space-5)}.lib-col-recents{padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface)}.lib-col-recents:before{content:none}.shelf-item{max-width:150px}.lib-collection-chip--add{border-style:solid;border-color:var(--border-subtle);background:var(--bg-elevated);color:var(--text-muted);font-weight:var(--w-medium);gap:4px;transition:color .14s ease,border-color .14s ease,background .14s ease}.lib-collection-chip--add:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 38%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.lib-collection-chip--add .lib-collection-chip-main{padding:6px var(--space-3);gap:4px}.lib-collection-bar{align-items:center;padding:0;margin:0 0 var(--space-3)}.lib-collection-bar--empty{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated)}.lib-collection-hint{flex:1;min-width:180px;font-size:var(--text-xs);line-height:1.5;color:var(--text-muted)}.lib-cloud{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface)}.lib-cloud-row{gap:var(--space-3);row-gap:var(--space-3)}.lib-cloud-btn{padding:10px var(--space-4);min-width:132px;justify-content:center}@media (max-width: 1100px){.lib-stage{grid-template-columns:repeat(2,minmax(0,1fr))}.shelf{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 860px){.lib-stage{grid-template-columns:minmax(0,1fr)}.shelf{grid-template-columns:repeat(4,minmax(0,1fr))}.lib-cloud-hint{margin-left:0;padding-left:0;max-width:none;text-align:left}.lib-cloud-btn{min-width:0;flex:1}}@media (max-width: 520px){.shelf{grid-template-columns:repeat(2,minmax(0,1fr))}}.lib-collection-chip--add{align-items:center;padding:6px var(--space-3);font:var(--type-label);cursor:pointer}.lib{gap:var(--space-5);align-items:stretch}.lib-resume{gap:var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000d,0 10px 26px -14px #00000038}.lib-resume:hover{box-shadow:0 2px 4px #00000012,0 18px 38px -16px #0000004d;transform:translateY(-1px)}.lib-resume-cover{width:46px}.lib-resume-cover .cover{box-shadow:0 1px 3px #0000002e}.lib-resume-label{font-size:var(--text-2xs);font-weight:var(--w-semibold);letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}.lib-resume-name{font-size:var(--text-lg);line-height:1.25}.lib-resume-meta{font-size:var(--text-xs);color:var(--text-muted)}.lib-resume-cta{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:8px var(--space-4);font-size:var(--text-sm);font-weight:var(--w-medium);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:var(--radius-sm);transition:color .16s ease,background .16s ease,border-color .16s ease}.lib-resume:hover .lib-resume-cta{color:var(--bg-page);background:var(--accent);border-color:var(--accent)}.lib-stage{display:block}.lib-col-recents{padding:var(--space-5) var(--space-5) var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface)}.lib-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.lib-head-title{margin:0;font:var(--type-brand);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.lib-head-count{padding:2px 8px;font-size:var(--text-xs);color:var(--text-muted);background:var(--bg-elevated);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums}.lib-head .lib-filter{margin-left:auto;width:min(260px,40%)}.shelf{grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-5) var(--space-4)}.shelf-item{max-width:none;margin-inline:0}.shelf-name{font-size:var(--text-xs)}.lib-minor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);align-items:stretch}.lib-minor-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface)}.lib-minor-head{display:flex;align-items:center;gap:var(--space-2)}.lib-soon{padding:2px 7px;font-size:var(--text-2xs);font-weight:var(--w-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.lib-minor-empty{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--text-xs);line-height:1.5;color:var(--text-faint);text-align:left}.lib-minor-panel .lib-closed-list{display:flex;flex-wrap:wrap;gap:6px}.lib-minor-panel .lib-closed-row{width:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding-right:2px}.lib-minor-panel .lib-closed-btn{padding:5px var(--space-2);font-size:var(--text-xs)}.lib-minor-panel .lib-closed-name{max-width:150px}.lib-cloud-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.lib-cloud-btn{flex:1;min-width:0;padding:9px var(--space-3);justify-content:center;font-size:var(--text-xs)}.lib-cloud-name{overflow:hidden;text-overflow:ellipsis}.lib-priv{opacity:.75;font-size:var(--text-xs)}@media (max-width: 1240px){.shelf{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width: 1040px){.shelf{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 820px){.lib-minor{grid-template-columns:minmax(0,1fr)}.shelf{grid-template-columns:repeat(3,minmax(0,1fr))}.lib-head{flex-wrap:wrap}.lib-head .lib-filter{width:100%;margin-left:0;order:3}}@media (max-width: 520px){.shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.lib-resume{flex-wrap:wrap}.lib-resume-cta{margin-left:auto}}.shelf{grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--space-4) var(--space-3);max-height:368px;overflow-y:auto;padding-right:2px}.shelf::-webkit-scrollbar{width:6px}.shelf::-webkit-scrollbar-track{background:transparent}.shelf::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:999px}.shelf::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.shelf{scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.shelf-item{gap:6px}.shelf-name{font-size:var(--text-2xs);line-height:1.25;-webkit-line-clamp:2}.shelf-sub{display:none}.shelf-open:hover{transform:translateY(-3px)}.shelf-pin-badge{top:5px;left:5px;padding:3px}.shelf-progress{padding:14px 6px 4px}.shelf-progress-label{font-size:var(--text-2xs)}.shelf-actions{top:5px;right:5px;gap:1px}.shelf-act{padding:4px}.shelf-act--coll{top:32px;right:5px}.lib-col-recents{padding:var(--space-4) var(--space-5) var(--space-5)}.lib-head{margin-bottom:var(--space-3)}@media (max-width: 1240px){.shelf{grid-template-columns:repeat(7,minmax(0,1fr))}}@media (max-width: 1040px){.shelf{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width: 820px){.shelf{grid-template-columns:repeat(5,minmax(0,1fr));max-height:320px}}@media (max-width: 520px){.shelf{grid-template-columns:repeat(3,minmax(0,1fr));max-height:300px}}.lib-collection-chip{display:inline-flex;align-items:stretch;min-height:var(--control-h);overflow:visible;position:relative;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:border-color .14s ease,background .14s ease}.lib-collection-chip:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.lib-collection-chip--btn{align-items:center;gap:6px;padding-inline:var(--space-3);font:var(--type-label);color:var(--text-muted);cursor:pointer}.lib-collection-chip--btn:hover{color:var(--text-primary)}.lib-collection-chip--btn svg{opacity:.55;flex-shrink:0}.lib-collection-chip--btn:hover svg{opacity:.8}.lib-collection-chip-main{display:inline-flex;align-items:center;gap:6px;padding:0 var(--space-3);border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:transparent;border:0;color:var(--text-muted);font:var(--type-label);cursor:pointer}.lib-collection-chip:hover .lib-collection-chip-main{color:var(--text-primary)}.lib-collection-chip-main .sym,.lib-collection-chip-main svg{opacity:.55;flex-shrink:0}.lib-collection-chip-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-collection-count{padding:1px 6px;font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:var(--text-muted);background:var(--bg-elevated);border-radius:var(--radius-sm);opacity:1}.lib-collection-chip--active{background:var(--accent);border-color:var(--accent)}.lib-collection-chip--active:hover{border-color:var(--accent)}.lib-collection-chip--active .lib-collection-chip-main,.lib-collection-chip--active:hover .lib-collection-chip-main,.lib-collection-chip--active .lib-collection-chip-name,.lib-collection-chip--active.lib-collection-chip--btn,.lib-collection-chip--active.lib-collection-chip--btn:hover{color:var(--accent-on)}.lib-collection-chip--active.lib-collection-chip--btn svg,.lib-collection-chip--active.lib-collection-chip--btn:hover svg{opacity:1}.lib-collection-chip--active .lib-collection-chip-main svg{opacity:.9}.lib-collection-chip--active .lib-collection-count{color:var(--accent-on);background:#ffffff38}.lib-collection-chip-menu{display:inline-flex;align-items:center;justify-content:center;padding:0 8px;border:0;border-left:1px solid var(--border-subtle);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .14s ease}.lib-collection-chip-menu:hover{color:var(--accent)}.lib-collection-chip--active .lib-collection-chip-menu{border-left-color:#ffffff57;color:var(--accent-on)}.lib-collection-chip--active .lib-collection-chip-menu:hover{color:var(--accent-on);opacity:.85}.lib-collection-chip .menu{z-index:400}.lib-collection-chip--add{align-items:center;padding:6px var(--space-3);gap:5px;border:1px solid var(--border-subtle);border-style:solid;border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-muted);font:var(--type-label);cursor:pointer;transition:color .14s ease,border-color .14s ease,background .14s ease}.lib-collection-chip--add:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.lib-collection-chip--add svg{opacity:.8}.lib-collection-chip--editing{padding:0 var(--space-3);background:var(--bg-page);border-color:var(--accent)}.lib-collection-rename-input{background:transparent;border:0;outline:none;color:var(--text-primary);font:var(--type-label);padding:0;min-width:150px}.shelf-act--coll .menu{z-index:400}.shelf-act--coll{display:inline-flex;align-items:center;justify-content:center}.shelf-item .menu-root{position:absolute;top:34px;right:5px;opacity:0;transform:translateY(-2px);transition:opacity .16s ease,transform .16s ease;z-index:3}.shelf-item:hover .menu-root,.shelf-item:focus-within .menu-root{opacity:1;transform:none}.shelf-act--coll{position:static;top:auto;right:auto;opacity:1;transform:none}@media (hover: none){.shelf-item .menu-root{opacity:1;transform:none}}:root{--accent-ink: #17110c}html[data-accent=amber],html[data-theme=dark]{--accent-on: var(--accent-ink)}html[data-accent=cyan]{--accent: #0e7490;--accent-on: var(--pure-white);--ring: #0e7490;--ring-glow: rgba(14, 116, 144, .22)}html[data-theme=dark][data-accent=cyan]{--accent: #4fd1e5;--accent-on: var(--accent-ink);--ring: #4fd1e5;--ring-glow: rgba(79, 209, 229, .3)}.settings-swatch-dot{box-shadow:inset 0 0 0 1px #00000024}body{font:var(--type-body)}button,input,select,textarea{font:inherit}.pi-answer,.pi-summary,.rl-insight,.lib-firstrun-sub,.watch-dlg-prose,.ai-setup-prose,blockquote,.timeline-row-quote{font:var(--type-prose)}.rl-title,.lib-head-title,.lib-firstrun-title,.heroName,.lib-bar-name,.rl-core-num,.rl-kpi-num,.lib-resume-name,.rl-tier-name,.cover-fallback-title,.settings-section-title{font:var(--type-brand)}.rl-title{font-size:26px}.rl-core-num{font-size:56px}.rl-kpi-num{font-size:34px}.lib-resume-name{font-size:var(--text-lg)}.cover-fallback-title{font-size:var(--text-sm)}.lib-section-label,.rl-h3,.shelf-name,.menubar-btn-label,.lib-cloud-name,.pro-hint-message{font-weight:var(--w-medium)}.chrome-btn,.lib-open-btn,.lib-cloud-btn,.menubar-primary,.menubar-action,.lib-bar-btn,.rl-back,.pro-hint-link,.pro-hint-submit,.settings-trial-btn,.lib-collection-chip,.lib-collection-chip--add,.lib-collection-chip-main,.lib-collection-chip-menu,.lib-tag-chip,.lib-resume-cta,.lib-closed-row,.shelf-act,.tier-pill{border-radius:var(--radius-md)}.lib-collection-chip-main{border-radius:var(--radius-md) 0 0 var(--radius-md)}.lib-collection-chip-menu{border-radius:0 var(--radius-md) var(--radius-md) 0}.cap-pro,.lib-head-count,.lib-collection-count,.lib-soon,.shelf-pin-badge,.pro-badge{border-radius:var(--radius-sm)}.pro-hint-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-2)}.pro-hint-form{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);width:100%}.pro-hint-input{flex:1;min-width:160px;padding:7px var(--space-3);font:inherit;font-size:var(--text-xs);color:var(--text-primary);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.pro-hint-input:focus{outline:none;border-color:var(--accent)}.pro-hint-submit{padding:7px var(--space-3);font:inherit;font-size:var(--text-xs);font-weight:var(--w-medium);color:var(--accent-on);background:var(--accent);border:1px solid var(--accent);cursor:pointer}.pro-hint-submit:hover:not(:disabled){filter:brightness(1.06)}.pro-hint-submit:disabled{opacity:.6;cursor:default}.pro-hint-done{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);color:var(--accent)}.pro-hint-error{width:100%;font-size:var(--text-xs);color:var(--color-danger, #b04040)}.pro-hint-privacy{width:100%;font-size:var(--text-2xs);line-height:1.45;color:var(--text-faint)}.export-mode-opt{flex-direction:column;align-items:flex-start;gap:2px;padding:var(--space-3);text-align:left;width:100%;font:var(--type-body)}.export-mode-title{font-size:var(--text-sm);font-weight:var(--w-semibold);color:var(--text-primary)}.export-mode-opt:disabled{opacity:.5;cursor:not-allowed}.export-mode-desc{font-size:var(--text-xs);color:var(--text-muted);line-height:1.45}.epub-stage .pi-panel,.epub-stage .outline{position:absolute;top:0;bottom:0;right:0;z-index:5}.epub-mark--focused{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.comic-view{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;background:var(--bg-page)}.comic-bar-title{font:var(--type-subhead);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40ch}.comic-bar-spacer{flex:1}.comic-bar-count{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:9ch;text-align:right}.comic-dir,.comic-fit{font-size:var(--text-xs);font-weight:var(--w-semibold);letter-spacing:var(--tracking-wide)}.comic-body{position:relative;flex:1;min-width:0;min-height:0}.comic-stage{position:absolute;inset:0;overflow:auto;background:#16130f;display:block}.comic-pages{display:flex;gap:0;width:fit-content;min-width:min-content;margin:0 auto;padding:var(--space-3)}.comic-page{margin:0;display:flex;align-items:flex-start;justify-content:center}.comic-img{display:block;max-width:calc(100% * var(--comic-zoom, 1));height:auto;box-shadow:0 0 0 1px #ffffff0f,var(--shadow-md)}.comic-stage[data-fit=width] .comic-img{width:calc(100% * var(--comic-zoom, 1));height:auto}.comic-stage[data-fit=height] .comic-img{max-height:calc((100vh - 190px) * var(--comic-zoom, 1));width:auto}.comic-stage[data-fit=page] .comic-img{max-height:calc((100vh - 190px) * var(--comic-zoom, 1));max-width:calc(100% * var(--comic-zoom, 1));width:auto}.comic-stage[data-fit=width] .comic-pages{width:100%;min-width:0}.comic-stage[data-zoomed]{cursor:grab}.comic-stage[data-zoomed]:active{cursor:grabbing}.comic-stage[data-zoomed] .comic-pages{min-width:max-content}.comic-page-pending{width:40vw;max-width:560px;aspect-ratio:2 / 3;background:#ffffff08}.comic-zone{position:absolute;top:0;bottom:0;width:18%;max-width:180px;border:none;background:transparent;cursor:pointer;z-index:2;padding:0;display:flex;align-items:center;justify-content:center;transition:background var(--motion-fast) var(--ease-warm)}.comic-zone--left{left:0}.comic-zone--right{right:0}.comic-zone:disabled{cursor:default}.comic-zone-arrow{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#0000008c;color:#fff;opacity:0;transform:scale(.9);transition:opacity var(--motion-fast) var(--ease-warm),transform var(--motion-fast) var(--ease-warm);pointer-events:none}.comic-zone:hover:not(:disabled){background:#00000024}.comic-zone:hover:not(:disabled) .comic-zone-arrow{opacity:1;transform:scale(1)}.comic-zone:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.comic-msg{margin:auto;padding:var(--space-6);color:var(--text-muted);font-size:var(--text-sm);text-align:center;max-width:48ch}.comic-msg--error{color:var(--accent)}.comic-foot{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-top:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-faint);font-size:var(--text-xs);flex-shrink:0}.comic-pager{align-items:center}.comic-page-input{width:4.5ch;text-align:center;font:var(--type-small);font-variant-numeric:tabular-nums;background:var(--bg-surface);color:var(--text-primary);border:1px solid transparent;border-radius:var(--radius-sm);padding:3px 2px;margin:0 2px}.comic-page-input:hover:not(:disabled){border-color:var(--border-subtle)}.comic-page-input:focus{outline:none;border-color:var(--accent);background:var(--bg-page)}.comic-page-input:disabled{opacity:.5}.comic-page-total{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;padding-right:var(--space-1)}.comic-foot-hint{margin-left:auto;color:var(--text-faint);white-space:nowrap}.pdf-tools-word-result{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text-muted);font-size:var(--text-xs);line-height:1.45}.comic-fit,.comic-dir{font-size:var(--text-xs);font-weight:var(--w-semibold);letter-spacing:var(--tracking-wide);padding:0 var(--space-1);white-space:nowrap}.menubar-tabs{flex:1;gap:var(--chrome-gap);min-width:0;display:flex;align-items:stretch;align-self:stretch;margin-block:calc(-1 * var(--space-2));overflow:visible}.menubar-tabs .tab-strip{padding:0;background:transparent;border-bottom:none;flex:1;min-width:0;align-items:stretch;overflow-x:auto;scrollbar-width:none}.menubar-tabs .tab-strip-tabs{align-items:stretch}.menubar-tabs .tab-strip::-webkit-scrollbar{display:none}.menubar-tabs .doc-tab{flex:1 1 0;min-width:96px;max-width:260px;padding:0 var(--space-3);align-items:center;background:transparent;border:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.menubar-tabs .doc-tab:hover{background:var(--bg-surface)}.menubar-tabs .doc-tab--active{background:var(--bg-page);box-shadow:none}.menubar-tabs .doc-tab--active:after{inset:auto 0 0;border-radius:0}.menubar{padding:var(--space-2) var(--space-3)}.ribbon,.epub-bar,.comic-bar{padding:var(--space-1) var(--space-3)}.ribbon-pages{display:inline-flex;align-items:center;gap:6px;padding-inline:var(--space-2) var(--space-3);white-space:nowrap}.ribbon-pages-label{font-size:var(--text-xs);font-weight:var(--w-semibold);letter-spacing:var(--tracking-wide)}.ribbon-pages--active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 26%,transparent);background:color-mix(in srgb,var(--accent) 7%,transparent)}@media (max-width: 900px){.ribbon-pages-label{display:none}.ribbon-pages{padding-inline:var(--space-2)}}.pi-tab .pro-badge{flex-shrink:0;font-size:var(--text-2xs);padding:1px 4px;letter-spacing:.02em}.pi-tab>span:not(.pro-badge){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pi-tabs .pi-tab{flex:0 1 auto;justify-content:flex-start;padding:var(--space-2) var(--space-2)}.settings-prose--quiet{color:var(--text-faint)}.settings-pro-status--active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.epub-mark-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text-muted);font-size:var(--text-sm);line-height:1.45}.reading-heatmap-label{font-size:var(--text-xs);font-weight:var(--w-semibold);letter-spacing:var(--tracking-wide);color:var(--text-faint)}.sign-typed{display:flex;flex-direction:column;gap:var(--space-2)}.tier-gem{display:block}.ribbon>.ribbon-group,.ribbon>.ribbon-sep,.ribbon>.ribbon-intelligence,.ribbon>.ribbon-dropdown,.ribbon>.ribbon-pages{flex-shrink:0}@media (max-width: 1180px){.ribbon>.reading-time{display:none}}@media (max-width: 1040px){.ribbon>.reading-session{display:none}}.ribbon-dropdown{font-size:var(--text-xs);padding-inline:var(--space-2);gap:4px;max-width:116px;white-space:nowrap}.ribbon-dropdown>span:first-child{overflow:hidden;text-overflow:ellipsis}.lib-watermark{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);pointer-events:none;z-index:1;opacity:.045;user-select:none}.lib-watermark-mark{width:clamp(180px,26vw,360px);height:clamp(180px,26vw,360px)}.lib-watermark-mark svg{width:100%;height:100%;display:block}.lib-watermark-name{font:var(--type-display);font-size:clamp(2rem,5vw,4rem);font-feature-settings:var(--ff-display);font-variation-settings:var(--fv-display);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.lib-stage,.pro-tile{position:relative}.shelf-item,.lib-resume-cover{position:relative;z-index:2}.menubar{position:relative;z-index:3}.chrome-btn:hover,.chrome-btn:focus-visible{z-index:300}.menubar-action--icon{padding-inline:var(--space-2);min-width:34px;justify-content:center}.ribbon{gap:var(--chrome-gap)}.pagebox{padding:0 2px;gap:0}.pagebox-input{width:4ch;text-align:center;font:var(--type-small);font-variant-numeric:tabular-nums;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-primary);padding:2px 0}.pagebox-input:hover{border-color:var(--border-subtle)}.pagebox-input:focus{outline:none;border-color:var(--accent);background:var(--bg-page)}.pagebox-input::-webkit-outer-spin-button,.pagebox-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pagebox-sep{margin:0 3px}.ribbon-zoom{min-width:44px;padding-inline:2px}.ribbon .chrome-btn,.epub-bar .chrome-btn,.comic-bar .chrome-btn{min-width:30px;padding-inline:var(--space-1)}.compare-head,.listen-head,.outline-head,.thumbs-head,.find-head,.epub-side-head,.pi-head{display:flex;align-items:center;justify-content:space-between}.panel-head-title{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.panel-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin-inline-start:var(--space-2);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background var(--motion-base) var(--ease-warm),border-color var(--motion-base) var(--ease-warm),color var(--motion-base) var(--ease-warm)}.panel-close:hover{background:var(--bg-page);border-color:var(--border-subtle);color:var(--text-primary)}.panel-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ribbon,.epub-bar,.comic-bar{gap:var(--chrome-gap);padding-inline:var(--space-3)}.ribbon-dropdown{min-width:0}.ribbon-group--icons .chrome-btn--icon{min-width:30px;padding-inline:var(--space-1)}.ribbon-pages{padding-inline:var(--space-2)}:root{--pg-dark-lift: .82;--pg-invert: invert(0);--pg-tint: saturate(1);--pg-theme-dim: 1;--pg-user-bright: 1;--pg-bright: calc(var(--pg-theme-dim) * var(--pg-user-bright));--pg-user-contrast: 1;--pg-contrast: var(--pg-user-contrast)}html[data-page-dark=on] .pdf-page canvas,html[data-page-dark=on] .thumb-canvas canvas,html[data-paper=tinted]:not([data-page-tint=default]) .pdf-page canvas,html[data-paper=tinted]:not([data-page-tint=default]) .thumb-canvas canvas,html[data-page-bright]:not([data-page-bright="100"]) .pdf-page canvas,html[data-page-contrast]:not([data-page-contrast="100"]) .pdf-page canvas{filter:var(--pg-invert) var(--pg-tint) brightness(var(--pg-bright)) contrast(var(--pg-contrast))}html[data-page-dark=on]{--pg-invert: invert(1) hue-rotate(180deg) contrast(var(--pg-dark-lift));--pg-tint: saturate(1)}.page-img-keep{position:absolute;pointer-events:none;backdrop-filter:contrast(calc(1 / var(--pg-contrast))) contrast(calc(1 / var(--pg-dark-lift))) hue-rotate(180deg) invert(1);-webkit-backdrop-filter:contrast(calc(1 / var(--pg-contrast))) contrast(calc(1 / var(--pg-dark-lift))) hue-rotate(180deg) invert(1);z-index:2}html:not([data-page-dark=on]) .page-img-keep{display:none}html[data-page-dark=on] .hl-rect{mix-blend-mode:screen}html[data-page-dark=on]{--find-mark-bg: rgba(240, 196, 32, .38)}.settings-seg[data-disabled=true]{opacity:.45;cursor:not-allowed}.settings-seg[data-disabled=true] .settings-seg-btn{cursor:not-allowed}.focus-dim{position:absolute;right:var(--space-4);bottom:var(--space-4);z-index:13;display:flex;align-items:center;gap:var(--space-2)}.focus-dim-toggle{width:30px;height:30px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow-sm);transition:color var(--motion-base) var(--ease-warm),border-color var(--motion-base) var(--ease-warm)}.focus-dim-toggle:hover{color:var(--text-primary);border-color:var(--text-faint)}.focus-dim-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.focus-dim[data-open=true] .focus-dim-toggle{color:var(--accent);border-color:var(--accent)}.focus-dim-body{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface);box-shadow:var(--shadow-sm)}.focus-dim-label{font:var(--type-micro);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}.focus-dim-val{font:var(--type-label);font-variant-numeric:tabular-nums;color:var(--text-muted);min-width:4ch;text-align:right}.focus-dim-range{width:110px}.focus-dim-body{order:0}.focus-dim-toggle{order:1}.menubar-theme{gap:2px;padding-inline:var(--space-1)}.toast-action{font:var(--type-label);color:var(--accent);background:transparent;border:0;padding:0;margin-inline-start:var(--space-3);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.toast-action:hover{text-decoration-thickness:2px}.toast-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toast{display:flex;align-items:baseline;gap:0}.ocrTextLayer{position:absolute;inset:0;overflow:hidden;line-height:1;z-index:1}.ocrWord{position:absolute;color:transparent;font-size:1em;white-space:pre;transform-origin:0 0;cursor:text;user-select:text}.ocrWord::selection{background:color-mix(in srgb,var(--accent) 38%,transparent);color:transparent}.ocrTextLayer{container-type:size}.comic-strip{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:100%;padding-block:var(--space-2)}.comic-page--strip{width:100%;max-width:100%;margin:0;display:flex;justify-content:center}.comic-stage[data-mode=strip] .comic-img{width:calc(100% * var(--comic-zoom, 1));height:auto;max-height:none}.comic-stage[data-mode=strip] .comic-page-pending{width:100%;max-width:none;aspect-ratio:2 / 3}.comic-stage[data-mode=strip]{overflow-y:auto;overflow-x:hidden}.landing-price-was{font-size:.5em;font-weight:var(--w-regular);color:var(--text-muted, #8a8a8a);text-decoration:line-through;text-decoration-thickness:1px;margin-right:.35em;vertical-align:middle}.landing-price-badge[data-offer]{font-weight:var(--w-semibold);letter-spacing:.04em;font-variant-numeric:tabular-nums;box-shadow:0 0 0 3px var(--bg-page)}.landing-price-until{margin:0;font-size:var(--text-xs);color:var(--text-muted, #8a8a8a);font-variant-numeric:tabular-nums}.landing-pricing-stale{margin-top:.5rem;opacity:.75;font-style:italic}.activate{display:flex;flex-direction:column;gap:var(--space-3);max-width:34rem;padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface)}.activate[data-compact]{padding:var(--space-4) 0 0;border:none;border-top:1px solid var(--border-subtle);border-radius:0;background:none;max-width:none}.activate-title{margin:0;font:var(--type-title)}.activate-prose{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--text-primary)}.activate-prose--muted{color:var(--text-muted)}.activate-field{display:flex;flex-direction:column;gap:4px}.activate-label{font-size:var(--text-2xs);font-weight:var(--w-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.activate-input{font:var(--type-mono);font-size:var(--text-lg);letter-spacing:.06em;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-page);color:var(--text-primary)}.activate-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.activate-field+.activate-field .activate-input{font:var(--type-body);letter-spacing:normal}.activate-hint{font-size:var(--text-2xs);color:var(--text-muted)}.activate-suffix{font:var(--type-mono);letter-spacing:.06em}.activate-error{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:var(--space-3);border-radius:var(--radius-md);border-left:3px solid var(--accent);background:var(--bg-page);font-size:var(--text-sm);line-height:1.5;color:var(--text-primary)}.activate-error p{margin:0}.activate-error-more{color:var(--text-muted)}.activate-btn{align-self:flex-start;padding:var(--space-3) var(--space-5);border:1px solid transparent;border-radius:var(--radius-md);background:var(--accent);color:var(--accent-on);font:inherit;font-size:var(--text-md);font-weight:var(--w-medium);cursor:pointer}.activate-btn:disabled{opacity:.45;cursor:default}.activate-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.activate-btn--quiet{background:none;color:var(--text-muted);border-color:var(--border-subtle)}.activate-btn--quiet:hover:not(:disabled){color:var(--text-primary)}.activate-btn--danger{background:none;border-color:var(--accent);color:var(--accent)}.activate-confirm{display:flex;flex-direction:column;gap:var(--space-3)}.activate-confirm-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.activate-page{display:flex;flex-direction:column;gap:var(--space-5);align-items:center}.activate-page-head{display:flex;flex-direction:column;gap:var(--space-2);align-items:center;text-align:center;max-width:34rem}.activate-page-gem{width:56px;height:56px}.activate-page-foot{margin:0;font-size:var(--text-sm);color:var(--text-muted);text-align:center;max-width:34rem}.ai-notice{margin:0;font-size:var(--text-2xs);line-height:1.5;color:var(--text-muted);padding-left:var(--space-3);border-left:2px solid var(--border-subtle);text-wrap:pretty}.ocr-range-ai{margin-top:var(--space-2);padding-left:0;border-left:none}.outline-abstract-ai{margin:var(--space-1) 0 0;font-size:var(--text-2xs);line-height:1.45;color:var(--text-muted)}.pi-ai-foot{flex-shrink:0;padding:var(--space-3) var(--space-5);border-left:none;border-top:1px solid var(--border-subtle);background:var(--bg-surface)}.vn-foot--ai{text-transform:none;letter-spacing:0;line-height:1.45;padding:var(--space-2) var(--space-3)}.landing-section-sub{margin:var(--space-3) auto 0;max-width:62ch;font-size:var(--text-sm);line-height:1.6;color:var(--text-muted);text-wrap:pretty}.landing-section-sub strong{color:var(--text-primary);font-weight:var(--w-medium)}.gpu-check{display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--space-2);max-width:68ch;margin:var(--space-5) auto 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-subtle);font-size:var(--text-sm);line-height:1.55;color:var(--text-muted);text-align:left;text-wrap:pretty}.gpu-check strong{color:var(--text-primary);font-weight:var(--w-medium)}.gpu-check>span{flex:1 1 24ch;min-width:0}.gpu-check svg{flex-shrink:0;margin-top:2px}.gpu-check[data-state=ready]{border-color:var(--ok-border, var(--border-subtle))}.gpu-check[data-state=ready] svg{color:var(--ok, var(--accent))}.gpu-check--block{display:block}.gpu-check-line{display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--space-2);margin:0}.gpu-check-line>span{flex:1 1 24ch;min-width:0}.gpu-check-dot{width:7px;height:7px;margin-top:7px;border-radius:50%;background:var(--text-muted);flex-shrink:0;animation:gpu-check-pulse 1.4s ease-in-out infinite}@keyframes gpu-check-pulse{0%,to{opacity:.25}50%{opacity:.9}}@media (prefers-reduced-motion: reduce){.gpu-check-dot{animation:none;opacity:.6}}.gpu-check-why{margin-top:var(--space-2);padding:0;border:0;background:none;font:inherit;font-size:var(--text-xs);color:var(--text-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.gpu-check-why:hover{color:var(--text-primary)}.gpu-check-reason{margin:var(--space-2) 0 0;font-size:var(--text-xs);line-height:1.55;color:var(--text-muted)}.settings-device-count{margin-left:var(--space-2);font-size:var(--text-xs);font-weight:var(--w-medium);color:var(--text-muted);font-variant-numeric:tabular-nums}.settings-device-full{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border-left:2px solid var(--accent);font-size:var(--text-sm);line-height:1.5;color:var(--text-muted);text-wrap:pretty}.signin-dev{margin-top:var(--space-4);padding:var(--space-3);border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-page)}.signin-dev-label{margin:0 0 var(--space-2);font-size:var(--text-xs);line-height:1.45;color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.signin-dev-link{display:block;font:var(--type-mono);color:var(--accent);word-break:break-all}.signin-dev-copy{margin-top:var(--space-2)}.pdfb-seg{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-4)}.pdfb-seg--quiet{margin:var(--space-3) 0}.pdfb-seg-btn{flex:0 1 auto;padding:var(--space-2) var(--space-3);font:var(--type-small);color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.pdfb-seg-btn:hover:not(:disabled){color:var(--text-primary);background:var(--bg-elevated)}.pdfb-seg-btn:disabled{opacity:.5;cursor:default}.pdfb-seg-btn--on{color:var(--accent-on);background:var(--accent);border-color:var(--accent)}.pdfb-seg-btn--on:hover:not(:disabled){color:var(--accent-on);background:var(--accent)}.pdfb-plan{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:2px;font:var(--type-small);color:var(--text-muted)}.pdfb-plan li{display:flex;align-items:baseline;gap:var(--space-2)}.pdfb-plan-n{min-width:1.5em;color:var(--text-faint);font-variant-numeric:tabular-nums}.pdfb-plan-more{color:var(--text-faint);font-style:italic}.pdfb-pill{position:fixed;left:var(--space-5);bottom:var(--space-5);z-index:60;display:flex;align-items:center;gap:var(--space-3);max-width:min(22rem,calc(100vw - 2 * var(--space-5)));padding:var(--space-3);color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.pdfb-pill-text{display:flex;flex-direction:column;gap:1px;min-width:0;font:var(--type-small)}.pdfb-pill-sub{overflow:hidden;color:var(--text-muted);font:var(--type-micro);text-overflow:ellipsis;white-space:nowrap}.pdfb-pill-btn{flex:0 0 auto;padding:var(--space-2) var(--space-3);font:var(--type-small);color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer}.pdfb-pill-btn:hover{color:var(--text-primary);background:var(--bg-page)}.pdfb-pill-btn--go{color:var(--accent-on);background:var(--accent);border-color:var(--accent)}@media (max-width: 640px){.pdfb-pill{left:var(--space-4);right:var(--space-4);bottom:var(--space-4);max-width:none}}.print-dialog{width:min(720px,96vw)}.print-dialog-foot{justify-content:space-between;align-items:center}.print-dialog-foot-actions{display:flex;gap:var(--space-2)}.print-pick-summary{font-size:var(--text-xs);color:var(--text-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.print-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.print-pick-count{font-size:var(--text-xs);color:var(--text-muted)}.print-pick-presets{display:flex;gap:var(--space-2)}.print-pick-btn{padding:var(--space-1) var(--space-3);background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-warm),color var(--motion-fast) var(--ease-warm)}.print-pick-btn:hover:not(:disabled){border-color:var(--text-muted);color:var(--text-primary)}.print-pick-btn--active{border-color:var(--accent);background:var(--bg-surface);color:var(--text-primary)}.print-pick-btn:disabled{opacity:.45;cursor:default}.print-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--print-thumb-w, 140px),1fr));gap:var(--space-3);align-items:start;max-height:46vh;overflow-y:auto;padding:var(--space-1)}.print-pick-wait{margin:0;font-size:var(--text-xs);color:var(--text-faint)}.print-pg{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-1);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;opacity:.42;transition:opacity var(--motion-fast) var(--ease-warm),border-color var(--motion-fast) var(--ease-warm)}.print-pg:hover{opacity:.72}.print-pg--on{opacity:1;border-color:var(--border-subtle)}.print-pg--on:hover{opacity:1;border-color:var(--text-muted)}.print-pg-canvas{display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-xs);box-shadow:0 1px 3px #0000002e;background:#fff}.print-pg-canvas canvas{display:block}.print-pg-bar{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-muted)}.print-pg-mark{display:grid;place-items:center;width:14px;height:14px;color:var(--accent)}.print-toggle-text{display:flex;flex-direction:column;gap:2px;min-width:0}.print-toggle-meta{font-size:var(--text-xs);color:var(--text-faint)}.print-toggle--none .print-toggle-label{color:var(--text-muted)}.print-dialog{max-height:76vh}.print-dialog-body{overflow-y:auto;min-height:0}.ocrSep{position:absolute;left:0;top:0;color:transparent;white-space:pre;pointer-events:none;user-select:text}.pdf-page[data-ocr=on] .textLayer{pointer-events:none;user-select:none;-webkit-user-select:none}.lic-notice{position:fixed;top:var(--space-3);left:50%;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);max-width:min(640px,calc(100vw - 2 * var(--space-3)));background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:0 6px 18px #0000002e;font:var(--type-label);color:var(--text-primary)}.lic-notice[data-kind=offline]{border-color:var(--accent-warm)}.lic-notice[data-kind=revoked]{border-color:var(--danger)}.lic-notice[data-kind=offline] svg{color:var(--accent-warm)}.lic-notice[data-kind=revoked] svg{color:var(--danger)}.lic-notice svg{flex-shrink:0}.lic-notice-text{min-width:0;line-height:1.45}.lic-notice-btn{flex-shrink:0;padding:4px var(--space-3);font-size:var(--text-xs);background:transparent;color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer}.lic-notice-btn:hover:not(:disabled){border-color:var(--accent)}.lic-notice-btn:disabled{opacity:.6;cursor:default}@media (max-width: 560px){.lic-notice{left:var(--space-3);right:var(--space-3);transform:none;max-width:none;flex-wrap:wrap}.lic-notice-btn{width:100%;min-height:44px}}.sign-import-error{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--danger) 8%,transparent);border-left:2px solid var(--danger);border-radius:var(--radius-sm);font-size:var(--text-xs);line-height:1.5;color:var(--text-primary)}
