@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,500;1,6..72,400&display=swap";:root{--font-sans: "Inter", -apple-system, system-ui, sans-serif;--font-serif: "Newsreader", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--bg-color: #FDFBF7;--bg-surface: #FFFFFF;--bg-hover: #F6F4ED;--text-main: #1A1A1A;--text-muted: #666666;--text-faint: #999999;--border-color: rgba(0, 0, 0, .08);--border-hover: rgba(0, 0, 0, .15);--accent-primary: #C05A45;--accent-light: rgba(192, 90, 69, .1);--accent-hover: #A1422E;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .02);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .06), 0 4px 8px rgba(0, 0, 0, .03);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .3s cubic-bezier(.16, 1, .3, 1)}@media(prefers-color-scheme:dark){:root{--bg-color: #121212;--bg-surface: #1E1E1E;--bg-hover: #2A2A2A;--text-main: #ECECEC;--text-muted: #A0A0A0;--text-faint: #666666;--border-color: rgba(255, 255, 255, .1);--border-hover: rgba(255, 255, 255, .2);--accent-primary: #D16B56;--accent-light: rgba(209, 107, 86, .15);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .4)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-smooth),color var(--transition-smooth);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:400;line-height:1.2;color:var(--text-main);margin-bottom:.3em}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}button{font-family:var(--font-sans)}.glass-panel{background:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-md);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media print{@page{size:A4;margin:1.5cm}body{background-color:#fff!important;background:none;color:#000!important}.user-nav,.library-sidebar,.library-header,.topic-selector,.stack-controls,.stack-counter,.page-actions,.header-brand,.public-header{display:none!important}html,body,#root,.App,.app-container,.public-library-wrapper,.public-content,.page-stack-container,.stack-viewport{position:static!important;overflow:visible!important;display:block!important;height:auto!important;width:100%!important;transform:none!important;background:#fff!important}.stacked-page-wrapper{display:none!important}.stacked-page-wrapper.active{display:block!important;position:static!important;height:auto!important;overflow:visible!important;transform:none!important;opacity:1!important}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.35"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.annotation-backdrop{position:fixed;inset:0;z-index:900;background:transparent}.annotation-panel{position:absolute;z-index:950;width:320px;background:#fff;border-radius:14px;border:1px solid var(--border-color);box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;animation:annotationEnter .18s cubic-bezier(.16,1,.3,1) forwards}@keyframes annotationEnter{0%{opacity:0;transform:translate(-8px) scale(.97)}to{opacity:1;transform:translate(0) scale(1)}}.annotation-quote{display:flex;gap:.75rem;padding:.6rem .75rem;background:#00000005;border-radius:8px}.annotation-quote-bar{width:3px;border-radius:3px;background:var(--accent-primary);flex-shrink:0}.annotation-quote p{font-family:var(--font-serif);font-size:.82rem;color:var(--text-muted);line-height:1.5;margin:0;font-style:italic}.annotation-type-row{display:flex;gap:.4rem;flex-wrap:wrap}.annotation-type-btn{padding:.3rem .7rem;border-radius:20px;border:1px solid var(--border-color);background:#fff;font-family:var(--font-sans);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .15s;color:var(--text-muted)}.annotation-type-btn:hover{border-color:currentColor;transform:translateY(-1px)}.annotation-type-btn.active.type-correction{background:#fff1f0;border-color:#ff4d4f;color:#cf1322}.annotation-type-btn.active.type-insight{background:#fffbe6;border-color:#faad14;color:#875400}.annotation-type-btn.active.type-question{background:#e6f7ff;border-color:#1890ff;color:#003a8c}.annotation-type-btn.active.type-connection{background:#f6ffed;border-color:#52c41a;color:#237804}.annotation-textarea{width:100%;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border-color);font-family:var(--font-sans);font-size:.9rem;line-height:1.6;color:var(--text-main);resize:none;transition:border-color .15s,box-shadow .15s}.annotation-textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #c05a4514}.annotation-textarea::placeholder{color:var(--text-faint);font-style:italic}.annotation-actions{display:flex;justify-content:flex-end;gap:.6rem}.annotation-cancel-btn{padding:.45rem 1rem;border-radius:20px;border:1px solid var(--border-color);background:#fff;font-family:var(--font-sans);font-size:.85rem;color:var(--text-muted);cursor:pointer;transition:all .15s}.annotation-cancel-btn:hover{border-color:var(--text-muted)}.annotation-save-btn{padding:.45rem 1.1rem;border-radius:20px;border:none;background:var(--accent-primary);color:#fff;font-family:var(--font-sans);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.annotation-save-btn:hover:not(:disabled){box-shadow:0 4px 12px #c05a454d;transform:translateY(-1px)}.annotation-save-btn:disabled{opacity:.4;cursor:not-allowed}.delta-banner{background:linear-gradient(135deg,#2d5a3c0f,#3b64960d);border:1px solid rgba(45,90,60,.18);border-radius:14px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;animation:deltaReveal .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes deltaReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.delta-banner-header{display:flex;align-items:center;gap:.5rem}.delta-banner-icon{font-size:.9rem;color:#2d5a3c}.delta-banner-title{font-family:var(--font-sans);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#2d5a3c}.delta-rows{display:flex;flex-direction:column;gap:.5rem}.delta-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.delta-concept{font-family:var(--font-sans);font-size:.9rem;font-weight:600;color:var(--text-main);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delta-transition{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.delta-arrow{font-size:.75rem;color:var(--text-faint);opacity:.6}.delta-tier-badge{font-family:var(--font-sans);font-size:.72rem;font-weight:600;padding:.2rem .55rem;border-radius:20px}.delta-tier-badge.tier-gap{background:#0000000d;color:var(--text-faint)}.delta-tier-badge.tier-developing{background:#3b64961a;color:#3b5a8a}.delta-tier-badge.tier-strong{background:#2d5a3c1f;color:#2d5a3c}.delta-tier-badge.tier-after{box-shadow:0 1px 4px #00000014}@media(prefers-color-scheme:dark){.delta-banner{background:linear-gradient(135deg,#50a06414,#648cc80f);border-color:#50a06433}.delta-banner-icon,.delta-banner-title{color:#7ecb90}.delta-tier-badge.tier-developing{background:#648cc826;color:#8ab0d8}.delta-tier-badge.tier-strong{background:#50a06426;color:#7ecb90}}.recall-session{margin-top:2rem;background:var(--bg-primary, #fdfcf7);border:1px solid var(--border-color, #e8e4dc);border-radius:16px;overflow:hidden;font-family:var(--font-sans)}.recall-session-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.25rem;border-bottom:1px solid var(--border-color, #e8e4dc)}.recall-session-title{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint)}.recall-session-close{background:none;border:none;font-size:.9rem;color:var(--text-faint);cursor:pointer;padding:.2rem .4rem;border-radius:4px;transition:color .15s}.recall-session-close:hover{color:var(--text-main)}.recall-progress{display:flex;gap:.5rem;padding:1rem 1.25rem 0}.recall-dot{width:8px;height:8px;border-radius:50%;background:var(--border-color, #e0dcd4);transition:all .2s ease}.recall-dot.done{background:#3a9a58}.recall-dot.active{background:var(--accent-primary, #c05a45);width:24px;border-radius:4px}.recall-card{padding:1.25rem 1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.recall-q-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);margin:0}.recall-question-text{font-family:var(--font-serif);font-size:1.15rem;line-height:1.5;color:var(--text-main);margin:0}.recall-answer-input{width:100%;padding:.85rem 1rem;border:1px solid var(--border-color, #e0dcd4);border-radius:10px;font-family:var(--font-sans);font-size:.95rem;line-height:1.6;color:var(--text-main);background:#fff;resize:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.recall-answer-input:focus{outline:none;border-color:var(--accent-primary, #c05a45);box-shadow:0 0 0 3px #c05a4514}.recall-answer-input::placeholder{color:var(--text-faint);font-style:italic;font-size:.88rem}.recall-card-actions{display:flex;justify-content:flex-end;align-items:center;gap:.75rem}.recall-back-btn{background:none;border:none;font-family:var(--font-sans);font-size:.88rem;color:var(--text-faint);cursor:pointer;padding:.5rem .75rem;border-radius:8px;transition:color .15s}.recall-back-btn:hover{color:var(--text-main)}.recall-next-btn{background:var(--accent-primary, #c05a45);color:#fff;border:none;border-radius:30px;padding:.6rem 1.5rem;font-family:var(--font-sans);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s;letter-spacing:.03em}.recall-next-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #c05a454d}.recall-next-btn:disabled{opacity:.4;cursor:not-allowed}.recall-submitting{padding:3rem 1.25rem;display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-faint);font-size:.9rem}.recall-spinner{width:28px;height:28px;border:2px solid var(--border-color, #e0dcd4);border-top-color:var(--accent-primary, #c05a45);border-radius:50%;animation:spin .8s linear infinite}.recall-results{padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.recall-score-block{border-radius:12px;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1rem}.recall-score-block.perfect{background:#3a9a5814;border:1px solid rgba(58,154,88,.2)}.recall-score-block.good{background:#4a7ac414;border:1px solid rgba(74,122,196,.2)}.recall-score-block.partial{background:#c08c2814;border:1px solid rgba(192,140,40,.2)}.recall-score-block.low{background:#c05a4514;border:1px solid rgba(192,90,69,.2)}.recall-score-num{font-size:1.8rem;font-weight:700;line-height:1;color:var(--text-main)}.recall-score-label{font-size:.9rem;color:var(--text-faint)}.recall-delta-narrative{display:flex;flex-direction:column;gap:.3rem;padding:.85rem 1rem;background:#00000005;border-radius:10px;border-left:3px solid var(--accent-primary, #c05a45)}.recall-delta-item{font-size:.85rem;color:var(--text-faint);line-height:1.5}.recall-delta-concept{font-weight:600;color:var(--text-main)}.recall-delta-tier{font-weight:500}.recall-delta-tier.tier-gap{color:#a0a0a0}.recall-delta-tier.tier-developing{color:#4a7ac4}.recall-delta-tier.tier-strong{color:#3a9a58}.recall-breakdown{display:flex;flex-direction:column;gap:.75rem}.recall-result-row{display:flex;gap:.75rem;padding:.75rem .85rem;border-radius:10px;align-items:flex-start}.recall-result-row.ok{background:#3a9a580d}.recall-result-row.miss{background:#c05a450d}.recall-result-icon{font-size:.85rem;font-weight:700;flex-shrink:0;width:1.2rem;padding-top:.1rem}.recall-result-row.ok .recall-result-icon{color:#3a9a58}.recall-result-row.miss .recall-result-icon{color:var(--accent-primary, #c05a45)}.recall-result-body{display:flex;flex-direction:column;gap:.25rem;flex:1}.recall-result-q{font-size:.85rem;color:var(--text-main);font-weight:500;margin:0;line-height:1.4}.recall-result-hint{font-size:.82rem;color:var(--text-faint);margin:0;line-height:1.5;font-style:italic}.recall-result-your-answer{font-size:.82rem;color:var(--text-faint);margin:0;line-height:1.5}.recall-results-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.25rem}.recall-retry-btn{background:none;border:1px solid var(--border-color);border-radius:30px;padding:.55rem 1.25rem;font-family:var(--font-sans);font-size:.85rem;color:var(--text-muted);cursor:pointer;transition:all .15s}.recall-retry-btn:hover{border-color:var(--text-muted);color:var(--text-main)}.recall-done-btn{background:var(--accent-primary, #c05a45);color:#fff;border:none;border-radius:30px;padding:.55rem 1.5rem;font-family:var(--font-sans);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.recall-done-btn:hover{box-shadow:0 4px 12px #c05a454d;transform:translateY(-1px)}@media(prefers-color-scheme:dark){.recall-session{background:#ffffff08}.recall-answer-input{background:#ffffff0a;color:#ffffffd9;border-color:#ffffff1a}.recall-answer-input:focus{background:#ffffff0f}}.feynman-gate{margin-top:3rem;border-top:2px solid var(--accent-light, #f0d5c8);padding-top:2rem;font-family:var(--font-sans)}.feynman-prompt-header{margin-bottom:1.25rem}.feynman-prompt-eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.14em;color:var(--accent-primary, #c05a45);text-transform:uppercase;display:block;margin-bottom:.4rem}.feynman-prompt-title{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;color:var(--text-main);margin:0 0 .5rem}.feynman-prompt-desc{font-size:.92rem;color:var(--text-faint);line-height:1.6;margin:0}.feynman-prompt-desc strong{color:var(--text-main);font-weight:600}.feynman-textarea{width:100%;padding:1rem 1.25rem;border:1px solid var(--border-color, #e0dcd4);border-radius:12px;font-family:var(--font-sans);font-size:.95rem;line-height:1.65;color:var(--text-main);background:#00000003;resize:vertical;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.feynman-textarea:focus{outline:none;border-color:var(--accent-primary, #c05a45);box-shadow:0 0 0 3px #c05a4512;background:#fff}.feynman-textarea::placeholder{color:var(--text-faint);font-style:italic}.feynman-actions{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem}.feynman-char-hint{font-size:.75rem;color:var(--text-faint);font-style:italic}.feynman-submit-btn{background:var(--accent-primary, #c05a45);color:#fff;border:none;border-radius:30px;padding:.65rem 1.5rem;font-family:var(--font-sans);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s;letter-spacing:.02em}.feynman-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #c05a454d}.feynman-submit-btn:disabled{opacity:.35;cursor:not-allowed}.feynman-gate.submitting{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 0;color:var(--text-faint);font-size:.9rem}.feynman-spinner{width:28px;height:28px;border:2px solid var(--border-color, #e0dcd4);border-top-color:var(--accent-primary, #c05a45);border-radius:50%;animation:feynman-spin .8s linear infinite}@keyframes feynman-spin{to{transform:rotate(360deg)}}.feynman-submitting-label{margin:0;font-style:italic}.feynman-gate.feedback{display:flex;flex-direction:column;gap:1.25rem}.feynman-score-block{padding:1rem 1.25rem;border-radius:12px;display:flex;align-items:center;gap:1rem}.feynman-score-block.strong{background:#3a9a5814;border:1px solid rgba(58,154,88,.2)}.feynman-score-block.good{background:#4a7ac414;border:1px solid rgba(74,122,196,.2)}.feynman-score-block.low{background:#c08c2814;border:1px solid rgba(192,140,40,.2)}.feynman-score-label{font-size:1rem;font-weight:600;color:var(--text-main);margin:0}.feynman-section-label{display:block;font-size:.65rem;font-weight:700;letter-spacing:.12em;color:var(--text-faint);text-transform:uppercase;margin-bottom:.5rem}.feynman-affirmed{display:flex;flex-direction:column;gap:.3rem}.feynman-affirmed-item{font-size:.88rem;color:#2d7a45;margin:0;line-height:1.5}.feynman-gaps{display:flex;flex-direction:column;gap:.3rem}.feynman-gap-item{font-size:.88rem;color:var(--text-faint);margin:0;line-height:1.5}.feynman-misconceptions{display:flex;flex-direction:column;gap:.3rem}.feynman-misconception-item{font-size:.88rem;color:#a05a20;margin:0;line-height:1.5}.feynman-followup{padding:.85rem 1rem;background:#00000005;border-radius:10px;border-left:3px solid var(--accent-primary, #c05a45)}.feynman-followup-text{font-family:var(--font-serif);font-size:.95rem;line-height:1.55;color:var(--text-main);margin:0;font-style:italic}.feynman-deltas{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem;background:#00000005;border-radius:8px}.feynman-delta-item{font-size:.82rem;color:var(--text-faint)}.feynman-delta-concept{font-weight:600;color:var(--text-main)}.feynman-delta-tier{font-weight:500}.feynman-delta-tier.tier-gap{color:#a0a0a0}.feynman-delta-tier.tier-developing{color:#4a7ac4}.feynman-delta-tier.tier-strong{color:#3a9a58}.feynman-done-btn{align-self:flex-end;background:var(--accent-primary, #c05a45);color:#fff;border:none;border-radius:30px;padding:.55rem 1.4rem;font-family:var(--font-sans);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.feynman-done-btn:hover{box-shadow:0 4px 12px #c05a454d;transform:translateY(-1px)}.feynman-gate.done{border-top:1px solid var(--border-color, #e8e4dc);padding-top:1rem}.feynman-done-header{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;padding:.25rem 0;font-family:var(--font-sans)}.feynman-done-label{font-size:.82rem;color:#3a9a58;font-weight:600}.feynman-done-toggle{font-size:.75rem;color:var(--text-faint)}.feynman-done-body{margin-top:.75rem;display:flex;flex-direction:column;gap:.75rem}.feynman-done-text{font-family:var(--font-serif);font-size:.9rem;color:var(--text-faint);font-style:italic;line-height:1.55;margin:0}.feynman-public-block{margin-top:2.5rem;padding:1.5rem 2rem;background:#c05a4508;border:1px solid rgba(192,90,69,.12);border-radius:12px;font-family:var(--font-sans)}.feynman-public-eyebrow{font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-primary, #c05a45);display:block;margin-bottom:.6rem}.feynman-public-text{font-family:var(--font-serif);font-size:1rem;line-height:1.65;color:var(--text-main);margin:0}@media(prefers-color-scheme:dark){.feynman-textarea{background:#ffffff0a;border-color:#ffffff1a;color:#ffffffd9}.feynman-textarea:focus{background:#ffffff12}.feynman-public-block{background:#c05a450d;border-color:#c05a4526}}.feynman-footer-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.feynman-save-page-btn{background:none;border:1px solid rgba(100,80,180,.35);border-radius:30px;padding:.5rem 1.1rem;font-family:var(--font-sans);font-size:.85rem;font-weight:500;color:#6450b4;cursor:pointer;transition:all .15s}.feynman-save-page-btn:disabled{opacity:.5;cursor:not-allowed}.feynman-save-page-btn:not(:disabled):hover{background:#6450b414;border-color:#6450b480}.feynman-saved-confirm{font-size:.82rem;color:#5a9a5a;font-weight:500}.gap-reveal{padding:.85rem 1rem;margin-bottom:.75rem;background:#00000008;border-radius:8px;border:1px solid rgba(0,0,0,.06)}.gap-reveal-label{font-family:var(--font-sans);font-size:.62rem;font-weight:700;letter-spacing:.1em;color:var(--text-faint);text-transform:uppercase;display:block;margin-bottom:.6rem}.gap-reveal-row{display:flex;align-items:center;gap:1.25rem}.gap-reveal-before,.gap-reveal-after{display:flex;flex-direction:column;align-items:center;gap:.15rem}.gap-reveal-num{font-family:var(--font-sans);font-size:1.4rem;font-weight:700;color:var(--text-main);line-height:1}.gap-reveal-desc{font-family:var(--font-sans);font-size:.68rem;color:var(--text-faint)}.gap-reveal-arrow{font-size:1.1rem;color:var(--text-faint);flex:1;text-align:center}.conn-backdrop{position:fixed;inset:0;background:#00000059;z-index:1000;animation:fadeInBackdrop .15s ease}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}.conn-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;width:min(520px,92vw);max-height:80vh;display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 20px 60px #0000002e;overflow:hidden;animation:slideUpModal .2s cubic-bezier(.16,1,.3,1)}@keyframes slideUpModal{0%{opacity:0;transform:translate(-50%,calc(-50% + 16px))}to{opacity:1;transform:translate(-50%,-50%)}}.conn-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem 0}.conn-title{font-family:var(--font-sans);font-size:1rem;font-weight:700;color:var(--text-main);margin:0}.conn-close{background:none;border:none;cursor:pointer;font-size:.85rem;color:var(--text-faint);padding:0;opacity:.5;transition:opacity .15s}.conn-close:hover{opacity:1}.conn-subtitle{font-family:var(--font-sans);font-size:.85rem;color:var(--text-faint);line-height:1.55;padding:.5rem 1.5rem 0;margin:0}.conn-search{margin:1rem 1.5rem .5rem;padding:.6rem .9rem;border:1px solid rgba(0,0,0,.12);border-radius:10px;font-family:var(--font-sans);font-size:.88rem;outline:none;background:#00000005}.conn-search:focus{border-color:#6450b466}.conn-loading{padding:1.5rem;text-align:center;color:var(--text-faint);font-size:.88rem}.conn-list{overflow-y:auto;flex:1;padding:0 1rem 1rem;display:flex;flex-direction:column;gap:.3rem}.conn-empty{text-align:center;color:var(--text-faint);font-size:.85rem;padding:1.5rem 0}.conn-list-item{display:flex;flex-direction:column;gap:.15rem;padding:.65rem .9rem;border:1px solid rgba(0,0,0,.07);border-radius:10px;background:none;text-align:left;cursor:pointer;transition:all .12s}.conn-list-item:hover{background:#6450b40a;border-color:#6450b440}.conn-item-topic{font-family:var(--font-sans);font-size:.88rem;font-weight:600;color:var(--text-main)}.conn-item-title{font-family:var(--font-serif);font-size:.8rem;color:var(--text-faint);font-style:italic}.conn-selected-pill{display:flex;align-items:center;gap:.75rem;margin:1rem 1.5rem 0;padding:.5rem .85rem;background:#6450b40f;border:1px solid rgba(100,80,180,.2);border-radius:10px}.conn-change{background:none;border:none;cursor:pointer;font-size:.78rem;color:#6450b4;padding:0;font-family:var(--font-sans);opacity:.7;white-space:nowrap}.conn-change:hover{opacity:1}.conn-selected-topic{font-family:var(--font-sans);font-size:.88rem;font-weight:600;color:var(--text-main)}.conn-desc-prompt{font-family:var(--font-serif);font-size:.88rem;color:var(--text-faint);font-style:italic;padding:.75rem 1.5rem 0;margin:0;line-height:1.5}.conn-textarea{margin:.75rem 1.5rem 0;padding:.75rem .9rem;border:1px solid rgba(0,0,0,.1);border-radius:10px;font-family:var(--font-sans);font-size:.9rem;line-height:1.6;resize:vertical;background:#fff;color:var(--text-main);outline:none}.conn-textarea:focus{border-color:#6450b466}.conn-actions{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem 1.25rem}.conn-hint{font-size:.75rem;color:var(--text-faint)}.conn-submit{background:#6450b41a;border:1px solid rgba(100,80,180,.3);border-radius:30px;padding:.5rem 1.1rem;font-family:var(--font-sans);font-size:.85rem;font-weight:500;color:#6450b4;cursor:pointer;transition:all .15s}.conn-submit:disabled{opacity:.4;cursor:not-allowed}.conn-submit:not(:disabled):hover{background:#6450b42e}.ct-backdrop{position:fixed;inset:0;background:#00000059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000}.ct-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(680px,92vw);max-height:80vh;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000002e;z-index:1001;display:flex;flex-direction:column;overflow:hidden}.ct-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.4rem 1.6rem 1rem;border-bottom:1px solid rgba(0,0,0,.07);gap:1rem}.ct-title-row{display:flex;align-items:center;gap:.55rem;color:var(--text-muted)}.ct-title{font-family:var(--font-serif, Georgia, serif);font-size:1rem;font-weight:500;color:var(--text-main);margin:0}.ct-title em{font-style:italic;color:var(--accent-primary, #c17a6a)}.ct-close{background:none;border:none;font-size:1rem;cursor:pointer;color:var(--text-faint);flex-shrink:0;padding:.1rem .3rem}.ct-close:hover{color:var(--text-main)}.ct-loading,.ct-empty{padding:3rem 2rem;text-align:center;color:var(--text-muted);font-family:var(--font-sans);font-size:.88rem}.ct-entries{overflow-y:auto;padding:1.25rem 1.6rem 1.6rem;display:flex;flex-direction:column;gap:0}.ct-entry{padding:1.25rem 0;border-bottom:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;gap:.6rem}.ct-entry:last-child{border-bottom:none}.ct-entry-meta{display:flex;align-items:center;gap:.6rem}.ct-entry-date{font-family:var(--font-sans);font-size:.72rem;font-weight:600;color:var(--text-faint);letter-spacing:.04em;text-transform:uppercase}.ct-entry-badge{font-family:var(--font-sans);font-size:.64rem;font-weight:600;padding:.15rem .5rem;border-radius:20px;background:#c17a6a1f;color:var(--accent-primary, #c17a6a);letter-spacing:.04em;text-transform:uppercase}.ct-entry-badge-first{background:#0000000f;color:var(--text-muted)}.ct-entry-text{font-family:var(--font-serif, Georgia, serif);font-size:.95rem;line-height:1.7;color:var(--text-main);font-style:italic;margin:0}.ct-entry-feedback{font-family:var(--font-sans);font-size:.78rem;color:var(--text-muted);line-height:1.5;margin:0;padding:.5rem .75rem;background:#00000008;border-radius:6px;border-left:2px solid rgba(0,0,0,.08)}.knowledge-page{width:100%;max-width:1800px;min-height:88vh;height:auto;margin:0 auto;border-radius:4px;padding:2.5rem 3.5rem 10rem 4.5rem;display:block;background:#fdfcf7;position:relative;box-shadow:-1px 0 2px #0000000d,2px 0 5px #0000001a,15px 20px 60px #0000001f;transition:box-shadow var(--transition-smooth);animation:pageIn var(--transition-smooth) forwards;contain:layout paint}.knowledge-page:after{content:"";position:absolute;inset:0;border-radius:4px;background:linear-gradient(to right,rgba(0,0,0,.07) 0%,rgba(0,0,0,.015) 2%,transparent 8%,transparent 95%,rgba(0,0,0,.02) 100%);pointer-events:none;z-index:0}.knowledge-page:before{display:block;content:"";position:absolute;left:20px;top:60px;bottom:60px;width:12px;background-image:radial-gradient(circle,rgba(0,0,0,.08) 3px,transparent 4px);background-size:12px 60px;background-repeat:repeat-y;opacity:.8;pointer-events:none;z-index:2}@keyframes pageIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.knowledge-page.active{box-shadow:var(--shadow-lg);border:1px solid var(--border-hover)}.clip-citation-banner{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .9rem;background:#c17a6a0f;border:1px solid rgba(193,122,106,.18);border-radius:8px;margin-bottom:1rem;animation:fadeIn .4s ease forwards}.clip-citation-icon{font-size:.8rem;color:var(--accent-primary, #c17a6a);flex-shrink:0;margin-top:1px}.clip-citation-text{font-family:var(--font-sans);font-size:.78rem;color:var(--text-muted);line-height:1.5}.clip-citation-quote{font-style:italic;color:var(--text-main)}.personalization-banner{display:flex;align-items:center;gap:.5rem;padding:.45rem .85rem;background:#3b5a780d;border:1px solid rgba(59,90,120,.12);border-radius:8px;margin-bottom:1rem;animation:fadeIn .4s ease forwards}.personalization-icon{font-size:.75rem;color:#3b5a8a;opacity:.7;flex-shrink:0}.personalization-text{font-family:var(--font-sans);font-size:.75rem;color:#3b5a8a;opacity:.85;line-height:1.4}.page-header{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid var(--accent-primary);padding-bottom:.3rem;margin-bottom:.5rem}.topic-title{font-size:1rem;font-weight:600;color:var(--accent-primary);margin:0;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em}.timestamp{font-family:var(--font-sans);font-size:.85rem;color:var(--text-faint);font-variant-numeric:tabular-nums}.page-content{width:100%;position:relative;z-index:1;display:block}.page-content h1{font-size:2.2rem;margin-bottom:.3rem;letter-spacing:-.02em;color:var(--accent-primary);text-align:center;border-bottom:1px solid var(--border-color);padding-bottom:.2rem;flex-shrink:0}.prose{font-size:.95rem;line-height:1.45;letter-spacing:.01em;color:var(--text-main);white-space:pre-wrap;position:relative;column-count:3;column-fill:balance;column-gap:2rem;overflow:visible;word-break:break-word}.prose>*{margin-bottom:.4rem}.prose blockquote,.prose ul,.prose img{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid}.keep-together{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;break-after:avoid;-webkit-column-break-after:avoid;page-break-after:avoid;display:inline-block;width:100%}.prose>p,.prose .keep-together>p,.prose>ul,.prose .keep-together>ul{background:transparent;padding:0;box-shadow:none;border:none;margin-top:0;margin-bottom:.6rem}.prose>h2,.prose .keep-together>h2,.prose>h3,.prose .keep-together>h3{background:transparent;padding:0;box-shadow:none;border:none;margin-top:1.5rem;margin-bottom:.2rem;break-after:avoid;-webkit-column-break-after:avoid;page-break-after:avoid;display:block}.prose>h1{background:transparent;padding:0;box-shadow:none;border:none}.prose:after{content:"▋";display:inline-block;margin-left:2px;color:var(--accent-primary);animation:blink 1s step-end infinite}.knowledge-page:not(:last-child) .prose:after{display:none}.prose h2{font-size:1.25rem;color:var(--text-main);border-bottom:2px solid #8e1515;padding-bottom:.2rem;text-transform:uppercase;letter-spacing:.05em;break-after:avoid;page-break-after:avoid;-webkit-column-break-after:avoid}.prose h3{font-size:.95rem;color:#8e1515;text-transform:uppercase;break-after:avoid;page-break-after:avoid;-webkit-column-break-after:avoid}.prose ul{padding-left:1.5rem;margin:0}.prose li{margin-bottom:.25rem}.prose li p{margin:0;display:inline}.prose blockquote{background:#8e1515!important;border-left:none;padding:1rem!important;font-size:.95rem;line-height:1.5;color:#fff;box-shadow:0 6px 15px #8e151526!important;border-radius:6px;margin-top:1rem;margin-bottom:1rem}.prose blockquote strong{display:block;color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:.8em;margin-bottom:.5rem;opacity:.9}.prose img{max-width:100%;max-height:380px;object-fit:contain;border-radius:var(--radius-sm);box-shadow:0 4px 20px #0000002e;margin:1.25rem auto;display:block}.page-actions{display:flex;gap:.75rem;flex-wrap:wrap;padding:1.25rem 2.5rem;border-top:1px solid var(--border-color);background:#fffffff2;border-radius:0 0 var(--radius-lg) var(--radius-lg);justify-content:flex-end;z-index:50}.action-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-muted);padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;transition:all var(--transition-fast)}.action-btn:hover{background:var(--bg-hover);color:var(--text-main);border-color:var(--text-muted)}.page-actions button{cursor:pointer}@media print{.knowledge-page{box-shadow:none!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important;min-height:0!important;background-color:#fff!important;width:100%!important;max-width:100%!important;animation:none!important;page-break-inside:avoid}.prose{column-count:2!important;column-gap:3rem!important;color:#000!important}.prose blockquote{border-left-color:#000!important;background:transparent!important}.keep-together,.prose img{page-break-inside:avoid!important;break-inside:avoid!important}}.sticker-wrapper{cursor:grab}.sticker-wrapper:active{cursor:grabbing}.sticker-cutout{position:relative;display:inline-flex;flex-direction:column;align-items:center;max-width:150px;transition:transform .1s ease;filter:drop-shadow(2px 5px 8px rgba(0,0,0,.35))}.sticker-cutout img{max-width:100%;max-height:150px;object-fit:contain;pointer-events:none}.sticker-label{font-size:.75rem;font-family:var(--font-sans);color:var(--text-faint);margin-top:.3rem;text-align:center;font-style:italic}.masking-tape{position:absolute;top:-12px;left:50%;transform:translate(-50%) rotate(-3deg);width:60px;height:25px;background-color:#ffffc899;box-shadow:0 1px 3px #0000001a;z-index:2;pointer-events:none}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.page-skeleton{width:100%;padding:1rem 0;display:flex;flex-direction:column;gap:.75rem;animation:fadeUp .3s ease forwards}.skeleton-line,.skeleton-block{border-radius:4px;background:linear-gradient(90deg,var(--bg-hover) 25%,var(--border-color) 50%,var(--bg-hover) 75%);background-size:600px 100%;animation:shimmer 1.4s infinite linear}.skeleton-line{height:14px}.skeleton-line.wide{width:90%}.skeleton-line.medium{width:72%}.skeleton-line.narrow{width:50%}.skeleton-block{height:80px;width:95%;border-radius:6px;margin:.5rem 0}.notes-section{margin-top:3rem;padding:2rem 2.5rem;border-top:1px solid var(--border-color);background:#00000003;break-inside:avoid;position:relative;z-index:200}.notes-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.notes-label{font-family:var(--font-sans);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}.notes-textarea{width:100%;min-height:120px;padding:1rem 1.25rem;border-radius:10px;border:1px solid var(--border-color);background:#fff;font-family:var(--font-sans);font-size:.95rem;line-height:1.65;color:var(--text-main);resize:vertical;transition:border-color .2s,box-shadow .2s;box-shadow:inset 0 1px 3px #0000000a}.notes-textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #c05a4514}.notes-textarea::placeholder{color:var(--text-faint);font-style:italic}.refine-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border-radius:20px;border:1px solid var(--accent-primary);background:#fff;color:var(--accent-primary);font-family:var(--font-sans);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:.02em}.refine-btn:hover:not(:disabled){background:var(--accent-primary);color:#fff;box-shadow:0 4px 12px #c05a4540;transform:translateY(-1px)}.refine-btn:disabled{opacity:.5;cursor:not-allowed}.annotatable-para{position:relative}.annotate-trigger-btn{position:absolute;right:-88px;top:50%;transform:translateY(-50%);padding:.28rem .65rem;border-radius:20px;border:1px solid var(--accent-primary);background:#fff;color:var(--accent-primary);font-family:var(--font-sans);font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap;opacity:0;transition:opacity .15s 0s,transform .15s;z-index:50;margin-left:-12px;padding-left:18px}.annotatable-para.hovered .annotate-trigger-btn,.annotatable-para:hover .annotate-trigger-btn{opacity:1;transition:opacity .1s 0s,transform .15s;transform:translateY(-50%) translate(2px)}.annotate-trigger-btn:hover{opacity:1!important;background:var(--accent-primary);color:#fff}.annotatable-para:after{content:"";position:absolute;top:0;right:-96px;width:96px;height:100%}.annotations-list{margin:2rem 2.5rem 0;padding:1.5rem;background:#00000004;border-radius:12px;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:.75rem}.annotations-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.annotations-list-label{font-family:var(--font-sans);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}.restore-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:20px;border:1px solid var(--border-color);background:#fff;font-family:var(--font-sans);font-size:.78rem;color:var(--text-muted);cursor:pointer;transition:all .15s}.restore-btn:hover{border-color:var(--text-muted);background:#00000008}.annotation-chip{display:flex;align-items:flex-start;gap:.75rem;padding:.8rem 1rem;border-radius:10px;border-left:3px solid transparent;background:#fff;box-shadow:0 1px 4px #0000000f}.annotation-chip.type-correction{border-left-color:#ff4d4f;background:#fff9f9}.annotation-chip.type-insight{border-left-color:#faad14;background:#fffdf5}.annotation-chip.type-question{border-left-color:#1890ff;background:#f5fbff}.annotation-chip.type-connection{border-left-color:#52c41a;background:#f7fff5}.annotation-chip-emoji{font-size:1.1rem;flex-shrink:0}.annotation-chip-body{flex:1;display:flex;flex-direction:column;gap:.3rem}.annotation-chip-quote{font-family:var(--font-serif);font-size:.8rem;color:var(--text-faint);font-style:italic}.annotation-chip-text{font-family:var(--font-sans);font-size:.9rem;color:var(--text-main);line-height:1.5;margin:0}.annotation-chip-delete{background:transparent;border:none;color:var(--text-faint);font-size:.9rem;cursor:pointer;padding:0 .2rem;line-height:1;transition:color .15s;flex-shrink:0}.annotation-chip-delete:hover{color:#ef4444}.selection-toolbar{position:absolute;display:flex;align-items:center;gap:.25rem;background:#fff;border:1px solid var(--border-color);border-radius:10px;padding:.4rem .6rem;box-shadow:0 4px 20px #0000001a,0 1px 4px #0000000f;transform:translate(-50%);z-index:400;white-space:nowrap;animation:annotationEnter .15s cubic-bezier(.16,1,.3,1) forwards;pointer-events:all}.selection-toolbar-label{font-family:var(--font-sans);font-size:.72rem;font-weight:500;color:var(--text-faint);margin-right:.3rem;letter-spacing:.06em;text-transform:uppercase}.selection-toolbar-label:after{content:"";display:inline-block;width:1px;height:12px;background:var(--border-color);margin-left:.5rem;vertical-align:middle}.selection-type-btn{padding:.28rem .7rem;border-radius:20px;border:1px solid var(--border-color);background:transparent;font-family:var(--font-sans);font-size:.76rem;font-weight:500;letter-spacing:.03em;color:var(--text-muted);cursor:pointer;transition:all .15s;white-space:nowrap}.selection-type-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.selection-toolbar-arrow{position:absolute;bottom:-7px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid white;filter:drop-shadow(0 2px 1px rgba(0,0,0,.08))}.selection-toolbar-divider{display:inline-block;width:1px;height:16px;background:var(--border-color);margin:0 .25rem;vertical-align:middle;flex-shrink:0}.selection-expand-btn{background:var(--accent-primary)!important;border-color:var(--accent-primary)!important;color:#fff!important;font-weight:600!important}.selection-expand-btn:hover{filter:brightness(.9)}.book-selector-wrapper{position:relative}.book-selector-pill{display:inline-flex;align-items:center;gap:5px;padding:.18rem .55rem .18rem .65rem;background:transparent;border:1px solid #ddd5cb;border-radius:20px;font-size:.7rem;font-weight:600;font-family:var(--font-sans);color:#999;cursor:pointer;transition:all .15s ease;white-space:nowrap;max-width:150px;letter-spacing:.03em;text-transform:uppercase}.book-selector-pill:hover,.book-selector-pill.open{border-color:var(--accent-primary);color:var(--accent-primary);background:#a0321e0a}.book-selector-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:110px}.book-selector-chevron{flex-shrink:0;transition:transform .15s ease}.book-selector-pill.open .book-selector-chevron{transform:rotate(180deg)}.book-selector-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:160px;background:#fff;border:1px solid #e8e0d8;border-radius:10px;box-shadow:0 8px 24px #0000001a;z-index:500;padding:4px;animation:dropdownIn .12s ease forwards}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.book-selector-option{display:block;width:100%;text-align:left;padding:.45rem .75rem;font-size:.82rem;font-family:var(--font-sans);background:none;border:none;border-radius:7px;color:#555;cursor:pointer;transition:background .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-selector-option:hover{background:#f5f0eb;color:#333}.book-selector-option.active{color:var(--accent-primary);font-weight:600;background:#a0321e0f}.peripheral-toggle{display:flex;align-items:center;gap:.4rem;padding:.2rem .5rem;background:#fafaf8;border:1px solid #e0d9d0;border-radius:4px;color:#999;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:var(--font-sans);font-weight:500}.peripheral-toggle:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#fff;transform:translateY(-1px)}.peripheral-toggle.active{background:var(--accent-light, #fff6f2);border-color:var(--accent-primary, #c44500);color:var(--accent-primary, #c44500);box-shadow:0 2px 8px #c445001a}.toggle-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.synthesis-gate{position:absolute;inset:0;background:#fdfcf7f7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:4rem 3rem 3rem;overflow-y:auto}.synth-gate-inner{max-width:560px;width:100%;display:flex;flex-direction:column;gap:1.25rem;animation:fadeUp .6s cubic-bezier(.16,1,.3,1) forwards}.synth-gate-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-primary);margin:0}.synth-gate-heading{font-family:var(--font-serif);font-size:2rem;font-weight:400;color:var(--text-main);margin:0;letter-spacing:-.02em;line-height:1.2}.synth-gate-sub{font-size:.95rem;color:var(--text-muted);line-height:1.65;margin:0}.synth-headers-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;border-left:2px solid var(--accent-light, #f0d5c8);padding-left:1rem}.synth-header-item{font-family:var(--font-serif);font-size:1rem;color:var(--text-muted);font-style:italic}.synth-textarea{width:100%;padding:1rem 1.25rem;border-radius:12px;border:1px solid var(--accent-light, #f0d5c8);background:#fff;font-family:var(--font-sans);font-size:.95rem;line-height:1.6;color:var(--text-main);resize:vertical;outline:none;transition:border-color .2s;box-sizing:border-box}.synth-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #c4450012}.synth-gate-actions{display:flex;align-items:center;gap:1rem}.synth-reveal-btn{padding:.85rem 2rem;background:var(--accent-primary);color:#fff;border:none;border-radius:30px;font-family:var(--font-sans);font-size:.95rem;font-weight:500;cursor:pointer;transition:opacity .15s}.synth-reveal-btn:hover{opacity:.88}.synth-skip-btn{background:none;border:none;color:var(--text-faint);font-size:.85rem;cursor:pointer;font-family:var(--font-sans);transition:color .15s}.synth-skip-btn:hover{color:var(--text-muted)}.content-blurred{filter:blur(6px);pointer-events:none;-webkit-user-select:none;user-select:none}.page-split-editor{display:flex;flex-direction:column;height:calc(100vh - 120px);min-height:600px;margin:-2.5rem -3.5rem -10rem -4.5rem;animation:fadeIn .15s ease forwards}.page-edit-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:#faf9f5;border-bottom:1px solid var(--border-color, #e0dcd4);flex-shrink:0}.page-edit-bar-label{font-family:var(--font-sans);font-size:.82rem;color:var(--text-faint)}.page-edit-bar-label strong{color:var(--text-main);font-weight:600}.page-edit-bar-actions{display:flex;gap:.6rem;align-items:center}.page-split-panes{display:grid;grid-template-columns:1fr 1fr;flex:1;overflow:hidden;border-top:none}.page-split-left{display:flex;flex-direction:column;border-right:1px solid var(--border-color, #e0dcd4);overflow:hidden}.page-split-left:before{content:"MARKDOWN";display:block;padding:.4rem 1rem;font-size:.65rem;font-weight:700;letter-spacing:.12em;color:var(--text-faint);background:#00000005;border-bottom:1px solid var(--border-color, #e8e4dc);flex-shrink:0}.page-edit-textarea{flex:1;width:100%;padding:1.25rem 1.5rem;font-family:Courier New,Courier,monospace;font-size:.85rem;line-height:1.7;color:var(--text-main);background:#fdfcf7;border:none;resize:none;box-sizing:border-box;height:100%}.page-edit-textarea:focus{outline:none;background:#fff}.page-split-right{display:flex;flex-direction:column;overflow:hidden;background:#fdfcf7}.page-split-right:before{content:"PREVIEW";display:block;padding:.4rem 1rem;font-size:.65rem;font-weight:700;letter-spacing:.12em;color:var(--text-faint);background:#00000005;border-bottom:1px solid var(--border-color, #e8e4dc);flex-shrink:0}.page-split-preview{flex:1;overflow-y:auto;padding:1.5rem 2rem}.page-edit-cancel{background:none;border:1px solid var(--border-color, #e0dcd4);border-radius:20px;padding:.4rem 1rem;font-family:var(--font-sans);font-size:.82rem;color:var(--text-faint);cursor:pointer;transition:all .15s}.page-edit-cancel:hover{color:var(--text-main);border-color:var(--text-muted)}.page-edit-save{background:var(--accent-primary, #c05a45);color:#fff;border:none;border-radius:20px;padding:.4rem 1.1rem;font-family:var(--font-sans);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s}.page-edit-save:hover:not(:disabled){box-shadow:0 3px 10px #c05a454d}.page-edit-save:disabled{opacity:.5;cursor:not-allowed}.recall-section{margin-top:2rem;padding:1.75rem 2.5rem;border-top:2px solid var(--accent-light, #f0d5c8);background:#fdf8f499;break-inside:avoid;position:relative;z-index:200;animation:fadeUp .3s ease forwards}.recall-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.recall-label{font-family:var(--font-sans);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-primary)}.recall-close-btn{background:none;border:none;color:var(--text-faint);font-size:.9rem;cursor:pointer;padding:0 .2rem;transition:color .15s;line-height:1}.recall-close-btn:hover{color:var(--text-muted)}.recall-loading{font-family:var(--font-sans);font-size:.9rem;color:var(--text-faint);font-style:italic;animation:pulse 1.5s infinite ease-in-out}.recall-question-block{margin-bottom:1.25rem}.recall-question{font-family:var(--font-serif);font-size:1rem;color:var(--text-main);line-height:1.55;margin:0 0 .6rem;font-style:italic}.recall-answer{width:100%;padding:.65rem .9rem;border-radius:8px;border:1px solid var(--accent-light, #f0d5c8);background:#fff;font-family:var(--font-sans);font-size:.9rem;line-height:1.5;color:var(--text-main);resize:none;outline:none;transition:border-color .2s;box-sizing:border-box}.recall-answer:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #c4450012}.recall-answer::placeholder{color:var(--text-faint);font-style:italic}.recall-feedback{display:flex;align-items:flex-start;gap:.6rem;padding:.65rem .9rem;border-radius:8px;font-family:var(--font-sans);font-size:.88rem;line-height:1.5;color:var(--text-main);animation:fadeUp .25s ease forwards}.recall-feedback.ok{background:#f0faf4;border:1px solid #86efac;color:#166534}.recall-feedback.miss{background:#fff9f0;border:1px solid #fcd34d;color:#92400e}.recall-feedback-icon{font-weight:700;flex-shrink:0}.recall-submit-btn{margin-top:.5rem;padding:.65rem 1.5rem;background:var(--accent-primary);color:#fff;border:none;border-radius:24px;font-family:var(--font-sans);font-size:.88rem;font-weight:500;cursor:pointer;transition:opacity .15s}.recall-submit-btn:hover:not(:disabled){opacity:.88}.recall-submit-btn:disabled{opacity:.4;cursor:not-allowed}.recall-retry-btn{margin-top:.75rem;background:none;border:1px solid var(--border-color);color:var(--text-muted);padding:.45rem 1rem;border-radius:20px;font-family:var(--font-sans);font-size:.82rem;cursor:pointer;transition:all .15s}.recall-retry-btn:hover{border-color:var(--text-muted);background:#00000005}.recall-delta{display:flex;align-items:baseline;gap:.6rem;margin-top:1rem;padding:.75rem 1rem;border-radius:8px;background:#00000006;border:1px solid var(--border-color)}.recall-delta-score{font-family:var(--font-sans);font-size:.95rem;font-weight:600;white-space:nowrap}.recall-delta-score.perfect{color:#2d7a47}.recall-delta-score.good{color:#3b6fa8}.recall-delta-score.partial{color:#b07d2a}.recall-delta-score.low{color:#a03a3a}.recall-delta-label{font-family:var(--font-sans);font-size:.85rem;color:var(--text-muted)}.recall-btn{color:var(--accent-primary)!important;border-color:var(--accent-light, #f0d5c8)!important;background:#fdf8f4cc!important}.recall-btn:hover:not(:disabled){background:#fdf8f4!important;border-color:var(--accent-primary)!important}.source-pdf-zone{display:flex;align-items:center;gap:.4rem;margin-right:auto}.source-pdf-btn{display:inline-flex;align-items:center;gap:.35rem}.source-pdf-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .65rem .3rem .55rem;background:#fdf8f4e6;border:1px solid var(--accent-light, #f0d5c8);border-radius:20px;font-family:var(--font-sans);font-size:.75rem;color:var(--accent-primary);max-width:200px}.source-pdf-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.source-pdf-remove{background:none;border:none;color:var(--text-faint);cursor:pointer;padding:0;display:flex;align-items:center;transition:color .15s;flex-shrink:0}.source-pdf-remove:hover{color:#ef4444}.source-pdf-error{font-family:var(--font-sans);font-size:.72rem;color:#ef4444;white-space:nowrap}.my-take-block{margin-top:2.5rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#3c78c80a,#6450b40a);border:1px solid rgba(100,80,180,.15);border-radius:14px;display:flex;flex-direction:column;gap:.6rem}.my-take-eyebrow{font-family:var(--font-sans);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#6450b4;display:block}.my-take-hint{font-family:var(--font-serif);font-size:.85rem;color:var(--text-faint);font-style:italic;line-height:1.55;margin:0}.my-take-textarea{width:100%;padding:.75rem .9rem;border:1px solid rgba(100,80,180,.15);border-radius:10px;font-family:var(--font-sans);font-size:.9rem;line-height:1.6;resize:vertical;background:#ffffffb3;color:var(--text-main);box-sizing:border-box;outline:none;transition:border-color .15s}.my-take-textarea:focus{border-color:#6450b459}.connections-block{margin-top:1.5rem;display:flex;flex-direction:column;gap:.6rem}.connections-eyebrow{font-family:var(--font-sans);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--text-faint);display:block}.connection-item{padding:.75rem 1rem;background:#00000005;border:1px solid rgba(0,0,0,.07);border-radius:10px;display:flex;flex-direction:column;gap:.3rem}.connection-item-header{display:flex;align-items:center;justify-content:space-between}.connection-link-label{font-family:var(--font-sans);font-size:.8rem;font-weight:600;color:#6450b4}.connection-delete-btn{background:none;border:none;cursor:pointer;font-size:.75rem;color:var(--text-faint);opacity:.4;padding:0;transition:opacity .15s}.connection-delete-btn:hover{opacity:1}.connection-description{font-family:var(--font-serif);font-size:.85rem;color:var(--text-faint);font-style:italic;line-height:1.5;margin:0}.connection-narrative{font-family:var(--font-serif, Georgia, serif);font-size:.9rem;color:var(--text-main);line-height:1.65;margin:.3rem 0 0;padding-left:.9rem;border-left:2px solid rgba(193,122,106,.4);font-style:italic}.connect-btn{color:#6450b4!important;border-color:#6450b44d!important}.connect-btn:hover{background:#6450b414!important}.confidence-row{display:flex;align-items:center;gap:1rem;margin:1rem 0 .75rem;flex-wrap:wrap}.confidence-label{font-family:var(--font-sans);font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.confidence-btns{display:flex;gap:.4rem}.confidence-btn{width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(0,0,0,.12);background:none;font-family:var(--font-sans);font-size:.85rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s}.confidence-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.confidence-btn.selected{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.confidence-hint{font-family:var(--font-sans);font-size:.75rem;color:var(--text-faint);font-style:italic}.loop-celebration{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;margin:1.5rem 0;background:linear-gradient(135deg,#5a9a5a14,#5a9a5a0a);border:1px solid rgba(90,154,90,.2);border-radius:10px}.loop-celebration-icon{font-size:1.4rem;color:#5a9a5a;flex-shrink:0;margin-top:2px}.loop-celebration-headline{font-family:var(--font-serif);font-size:1.1rem;font-weight:600;color:#3a6a3a;margin:0 0 .25rem}.loop-celebration-sub{font-family:var(--font-sans);font-size:.82rem;color:var(--text-muted);margin:0;line-height:1.5}.view-mode-toggle{display:flex;border:1px solid rgba(0,0,0,.1);border-radius:8px;overflow:hidden;background:#00000008;flex-shrink:0}.vmt-btn{background:none;border:none;padding:.3rem .75rem;font-family:var(--font-sans, system-ui);font-size:.75rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.vmt-btn.active{background:#fff;color:var(--text-main);box-shadow:0 1px 3px #00000014}.in-my-words-view{margin:.75rem 0 1.25rem}.imw-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.imw-eyebrow{font-family:var(--font-sans, system-ui);font-size:.65rem;font-weight:700;letter-spacing:.12em;color:var(--accent-primary, #c17a6a);text-transform:uppercase}.imw-text{font-family:var(--font-serif, Georgia, serif);font-size:1.05rem;line-height:1.75;color:var(--text-main);margin:0 0 1rem;border-left:3px solid var(--accent-primary, #c17a6a);padding-left:1.1rem;font-style:italic}.imw-feedback{background:#00000008;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem}.imw-feedback-label{font-family:var(--font-sans);font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);display:block;margin-bottom:.3rem}.imw-feedback-text{font-family:var(--font-sans);font-size:.82rem;color:var(--text-muted);line-height:1.55;margin:0}.reference-accordion{border:1px solid rgba(0,0,0,.08);border-radius:10px;overflow:hidden;margin-bottom:1.25rem}.reference-accordion-summary{padding:.6rem 1rem;font-family:var(--font-sans, system-ui);font-size:.78rem;font-weight:500;color:var(--text-muted);cursor:pointer;list-style:none;display:flex;align-items:center;gap:.4rem;-webkit-user-select:none;user-select:none;background:#00000005}.reference-accordion-summary::-webkit-details-marker{display:none}.reference-accordion-summary:before{content:"▶";font-size:.55rem;transition:transform .18s;color:var(--text-faint)}details[open] .reference-accordion-summary:before{transform:rotate(90deg)}.reference-accordion-content{padding:1.25rem 1.5rem;border-top:1px solid rgba(0,0,0,.06)}.topic-history-btn{background:none;border:none;font-family:var(--font-sans, system-ui);font-size:.72rem;color:var(--text-faint);cursor:pointer;padding:.2rem .4rem;transition:color .15s;flex-shrink:0}.topic-history-btn:hover{color:var(--accent-primary, #c17a6a)}.stack-expose-overlay{position:fixed;inset:0;background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:2000;display:flex;flex-direction:column;padding:2rem 4rem;animation:exposeIn .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes exposeIn{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.expose-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem}.expose-header h2{font-family:var(--font-serif);font-size:2rem;color:var(--text-color)}.close-expose-btn{background:none;border:none;cursor:pointer;color:var(--text-faint);transition:transform .2s,color .2s}.close-expose-btn:hover{color:var(--text-color);transform:rotate(90deg)}.expose-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2.5rem;overflow-y:auto;padding:1rem;align-content:flex-start}.expose-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:4px;height:300px;padding:1.5rem;box-shadow:0 4px 20px #0000000a;position:relative;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);transform:rotate(calc(var(--index, 0) * 1deg - 2deg));display:flex;flex-direction:column}.expose-card:nth-child(2n){transform:rotate(1.5deg)}.expose-card:nth-child(3n){transform:rotate(-1deg)}.expose-card:hover{transform:translateY(-8px) scale(1.02) rotate(0);box-shadow:0 20px 40px #00000014;border-color:var(--accent-primary);z-index:10}.expose-card.dragging{opacity:.4;transform:scale(.95);border:2px dashed var(--accent-primary)}.expose-card-drag-handle{position:absolute;top:.5rem;left:50%;transform:translate(-50%);color:#ddd;cursor:grab;opacity:0;transition:opacity .2s}.expose-card:hover .expose-card-drag-handle{opacity:1}.expose-card-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.expose-card-topic{font-size:.65rem;text-transform:uppercase;font-weight:700;color:var(--accent-primary);margin-bottom:.5rem}.expose-card-title{font-family:var(--font-serif);font-size:1rem;line-height:1.2;margin-bottom:.75rem;color:var(--text-color)}.expose-card-preview{font-size:.78rem;color:var(--text-muted);line-height:1.5;-webkit-mask-image:linear-gradient(to bottom,black 50%,transparent 100%);mask-image:linear-gradient(to bottom,black 50%,transparent 100%)}.pluck-btn{position:absolute;bottom:1rem;right:1rem;background:#fdfdfd;border:1px solid #eee;border-radius:6px;padding:.4rem;color:#bbb;cursor:pointer;transition:all .2s;opacity:0}.expose-card:hover .pluck-btn{opacity:1}.pluck-btn:hover{background:#fff0f0;border-color:#ffcaca;color:#e03d3d}.expose-footer{padding:2rem 0;text-align:center;border-top:1px solid rgba(0,0,0,.04)}.expose-footer p{font-size:.9rem;color:var(--text-faint);font-style:italic}.page-stack-container{flex:1;display:flex;flex-direction:column;position:relative;width:100%;height:100%;overflow:hidden;padding:2rem}.stack-command-bar{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.1);border-radius:100px;padding:.5rem 1rem;display:flex;align-items:center;gap:.5rem;box-shadow:0 10px 40px #0000001a;z-index:1500;transition:all .3s cubic-bezier(.16,1,.3,1)}.stack-command-bar:hover{background:#fffffff2;box-shadow:0 20px 60px #00000026;transform:translate(-50%) translateY(-4px)}.command-bar-section{display:flex;align-items:center;gap:.25rem}.command-bar-divider{width:1px;height:24px;background:#0000001a;margin:0 .5rem}.command-btn{background:none;border:1px solid transparent;border-radius:50px;padding:.6rem 1rem;color:var(--text-color);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.command-btn:hover:not(:disabled){background:var(--accent-light, #fff6f2);color:var(--accent-primary)}.command-btn:disabled{opacity:.3;cursor:not-allowed}.command-btn.expose-btn{background:var(--accent-primary);color:#fff}.command-btn.expose-btn:hover{background:#e04f00;transform:scale(1.05)}.command-bar-counter{padding:0 .75rem;font-size:.85rem;font-weight:700;color:var(--text-muted);font-family:var(--font-sans);min-width:60px;text-align:center}.command-bar-counter--btn{background:none;border:none;cursor:pointer;border-radius:6px;transition:background .15s}.command-bar-counter--btn:hover{background:#0000000f;color:var(--text-primary)}.page-list-dropdown{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:#fff;border:1px solid #e8e4dc;border-radius:10px;box-shadow:0 6px 24px #0000001f;z-index:200;min-width:240px;max-height:320px;overflow-y:auto;padding:4px}.page-list-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:none;border:none;border-radius:7px;cursor:pointer;text-align:left;transition:background .12s}.page-list-item:hover{background:#f5f2ec}.page-list-item--active{background:#f0ece4}.page-list-num{font-size:11px;font-weight:600;color:#bbb;min-width:18px}.page-list-item--active .page-list-num{color:#c8a882}.page-list-title{font-size:13px;color:#2c2c2c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.stack-viewport{flex:1;position:relative;width:100%;max-width:1600px;margin:0 auto;perspective:1200px}.stacked-page-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;transition:transform var(--transition-smooth),opacity var(--transition-smooth);will-change:transform,opacity;overflow-y:auto;overflow-x:hidden;padding-top:1rem;padding-bottom:2rem;-webkit-overflow-scrolling:touch}.stacked-page-wrapper::-webkit-scrollbar{display:none}.explain-nudge-btn{font-size:.82rem;font-weight:500;color:var(--accent-primary, #c05a45);background:#c05a450f;border:1px solid rgba(192,90,69,.18)!important;border-radius:50px;padding:.4rem 1rem;animation:nudgePulse 2.5s ease-in-out infinite}.explain-nudge-btn:hover:not(:disabled){background:#c05a451f!important;color:var(--accent-primary)!important}@keyframes nudgePulse{0%,to{box-shadow:0 0 #c05a4500}50%{box-shadow:0 0 0 4px #c05a451f}}.pdf-drop-btn{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--text-muted);border:1px dashed rgba(0,0,0,.18);border-radius:50px;padding:.4rem .85rem;transition:all .2s}.pdf-drop-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-light, #fff6f2);border-style:solid}.pdf-drop-btn.dragging{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-light, #fff6f2);border-style:solid;transform:scale(1.05)}.pdf-inline-prompt{display:flex;align-items:center;gap:.35rem}.pdf-topic-input{font-family:var(--font-sans);font-size:.82rem;border:none;outline:none;background:transparent;color:var(--text-color);width:160px;padding:.3rem .5rem}.pdf-topic-input::placeholder{color:var(--text-muted);opacity:.7}.pdf-cancel-btn{color:var(--text-muted);padding:.4rem}.pdf-cancel-btn:hover:not(:disabled){color:#a03a3a;background:#a03a3a0f}.topic-selector-container{position:relative;margin:0 auto;width:100%;max-width:800px;padding:12vh 0 8rem;z-index:1000;text-align:center;background:transparent;box-shadow:none;border:none}.topic-selector-container.returning{padding-top:18vh}.returning-hero{display:flex;flex-direction:column;align-items:center;gap:1.25rem;margin-bottom:3rem;animation:fadeUp .8s cubic-bezier(.16,1,.3,1) forwards}.returning-hero-loading{pointer-events:none}.ks-skeleton{width:220px;height:32px;background:#0000000f;border-radius:100px;animation:shimmer 1.4s infinite ease-in-out}.selector-title-skeleton{width:340px;height:44px;background:#0000000d;border-radius:8px;animation:shimmer 1.4s infinite ease-in-out .15s}@keyframes shimmer{0%,to{opacity:.5}50%{opacity:1}}.knowledge-snapshot{display:flex;align-items:center;gap:.5rem;background:#00000008;border:1px solid rgba(0,0,0,.07);border-radius:100px;padding:.45rem 1.1rem;font-family:var(--font-sans);font-size:.8rem}.ks-stat{font-weight:500}.ks-strong{color:#2d5a3c}.ks-developing{color:#3b5a8a}.ks-gap{color:var(--text-faint, #aaa)}.ks-sep{color:var(--text-faint, #aaa);opacity:.5;font-size:.7rem}.ks-overdue{color:#a03a3a;font-weight:500;cursor:pointer;text-decoration:none}.selector-title.returning{font-size:3rem;margin-bottom:0}.selector-brand-logo{height:120px;width:auto;display:block;margin:2rem auto .5rem;mix-blend-mode:multiply;animation:fadeUp 1.2s cubic-bezier(.16,1,.3,1) forwards}.selector-title{font-family:var(--font-serif);font-size:4rem;line-height:1.1;letter-spacing:-.03em;color:var(--accent-primary);margin-bottom:1rem;opacity:0;animation:fadeUp 1.2s cubic-bezier(.16,1,.3,1) .1s forwards}.selector-desc{font-family:var(--font-sans);font-size:1.1rem;color:var(--text-muted);line-height:1.7;margin-bottom:1.5rem;max-width:80%;margin-inline:auto;opacity:0;animation:fadeUp 1.2s cubic-bezier(.16,1,.3,1) .15s forwards}.selector-examples{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-bottom:2.5rem;opacity:0;animation:fadeUp 1.2s cubic-bezier(.16,1,.3,1) .2s forwards}.selector-examples-label{font-size:.78rem;color:var(--text-faint);font-weight:500}.selector-example-chip{font-family:var(--font-sans);font-size:.8rem;color:var(--text-muted);background:var(--surface-color, #f5f5f3);border:1px solid var(--border-color, #e0e0e0);border-radius:20px;padding:.35rem .85rem;cursor:pointer;transition:all .15s}.selector-example-chip:hover{background:var(--bg-surface, #fff);border-color:var(--text-muted);color:var(--text-main)}.topic-form{display:flex;flex-direction:column;align-items:center;gap:0;width:100%;opacity:0;animation:fadeUp 1.2s cubic-bezier(.16,1,.3,1) .2s forwards}.returning .topic-form{animation:fadeIn .5s ease .1s forwards}.topic-input{width:100%;padding:0;font-size:2rem;letter-spacing:-.01em;font-family:var(--font-serif);color:var(--accent-primary);background:transparent;border:none;border-bottom:1px solid var(--accent-light);border-radius:0;transition:all var(--transition-smooth);text-align:center;margin-bottom:2rem;padding-bottom:1rem}.topic-input:focus{outline:none;border-bottom-color:var(--accent-primary);transform:scale(1.02)}.seed-thoughts-container{width:100%;margin-bottom:2.5rem;text-align:left;display:flex;flex-direction:column;gap:.75rem;padding:0 1rem;opacity:0;animation:fadeUp 1.2s cubic-bezier(.16,1,.3,1) .25s forwards}.seed-label{font-family:var(--font-sans);font-size:.8rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.seed-input{width:100%;min-height:100px;padding:1rem 1.25rem;border-radius:12px;border:1px solid var(--accent-light);background:#00000005;font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--text-main);resize:vertical;transition:all var(--transition-smooth)}.seed-input:focus{outline:none;background:#fff;border-color:var(--accent-primary);box-shadow:0 4px 12px #0000000d}.seed-input::placeholder{color:var(--text-faint);font-style:italic}.topic-input::placeholder{color:var(--accent-light)}.pdf-attach-row{width:100%;display:flex;align-items:center;justify-content:center;margin-bottom:1.75rem;min-height:28px}.pdf-attach-link{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;font-family:var(--font-sans);font-size:.75rem;color:var(--text-faint);cursor:pointer;padding:0;transition:color .15s}.pdf-attach-link:hover{color:var(--text-muted)}.pdf-attach-status{font-family:var(--font-sans);font-size:.75rem;color:var(--accent-primary)}.pdf-dropzone{border:none;border-radius:30px;padding:.75rem 2rem;text-align:center;cursor:pointer;background:#00000008;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all var(--transition-smooth);margin-bottom:2rem;width:100%;display:flex;justify-content:center;align-items:center}.pdf-dropzone:hover,.pdf-dropzone.dragging{background:#0000000f;transform:translateY(-2px) scale(1.01);box-shadow:0 4px 12px #0000000d}.pdf-dropzone.has-file{padding:.5rem 1rem;background:#fff;box-shadow:var(--shadow-sm),inset 0 0 0 1px var(--accent-light)}.dropzone-text{font-family:var(--font-sans);color:var(--text-muted);font-size:.9rem;margin:0;pointer-events:none}.dropzone-text span{color:var(--text-main);font-weight:500}.loading-pulse{animation:pulse 1.5s infinite ease-in-out;color:var(--accent-primary);font-weight:600}.file-pills-list{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;padding:.25rem 0}.add-more-label{font-family:var(--font-sans);font-size:.75rem;color:var(--text-faint);font-style:italic;cursor:pointer}.upload-error{font-family:var(--font-sans);font-size:.82rem;color:#ef4444;text-align:center;margin:-1rem 0 .5rem}.file-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .6rem;background:#fff;border:1px solid var(--accent-light);border-radius:20px}.file-name{font-family:var(--font-sans);font-size:.82rem;font-weight:500;color:var(--text-main);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-file-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:0 .25rem;transition:color var(--transition-fast)}.remove-file-btn:hover{color:#ef4444}.form-actions{display:flex;gap:1rem;width:100%;max-width:500px;margin:0 auto;margin-bottom:1.5rem}.book-select-input{flex:1;padding:1rem 1.5rem;border-radius:30px;border:1px solid var(--accent-light);background:#fff;box-shadow:var(--shadow-sm);color:var(--accent-primary);font-size:.95rem;font-family:var(--font-sans);outline:none;-webkit-appearance:none;appearance:none;cursor:pointer;transition:all var(--transition-fast)}.book-select-input:focus{border-color:var(--accent-primary)}.generate-btn{flex:1;padding:1rem 1.5rem;font-size:.95rem;font-weight:500;font-family:var(--font-sans);color:#fff;background:var(--accent-primary);border:none;border-radius:30px;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-md);text-transform:uppercase;letter-spacing:.05em}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #00000026}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.generate-btn.loading{animation:pulse 2s infinite ease-in-out}@keyframes pulse{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}.example-prompts{margin-top:2rem;width:100%;display:flex;flex-direction:column;align-items:center;opacity:0;animation:fadeUp 1.2s cubic-bezier(.16,1,.3,1) .3s forwards}.examples-label{font-size:.8rem;color:var(--text-faint);margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:.1em;font-weight:500}.ritual-intro{width:100%;max-width:480px;margin:0 auto;padding:1.25rem 1.5rem;border:1px solid var(--border-color, #e8e8e8);border-radius:14px;background:var(--surface-color, #faf9f7);text-align:left}.ritual-intro-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);margin:0 0 1rem}.ritual-steps{display:flex;flex-direction:column;gap:.75rem}.ritual-step{display:flex;align-items:flex-start;gap:.75rem}.ritual-step-num{width:22px;height:22px;min-width:22px;border-radius:50%;background:var(--accent-primary, #c05a45);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}.ritual-step div{display:flex;flex-direction:column;gap:.1rem}.ritual-step strong{font-size:.88rem;color:var(--text-main);font-weight:600}.ritual-step span{font-size:.8rem;color:var(--text-faint);line-height:1.4}.examples-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.example-btn{background:#00000008;border:none;color:var(--text-main);padding:.6rem 1.25rem;border-radius:30px;font-size:.9rem;font-family:var(--font-sans);font-weight:500;cursor:pointer;transition:all var(--transition-smooth);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.example-btn:hover{background:#0000000f;box-shadow:0 4px 12px #0000000d;transform:translateY(-2px) scale(1.02)}.suggestion-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.65rem 1.1rem;text-align:left}.suggestion-topic{font-size:.9rem;font-weight:500;color:var(--text-main);line-height:1.3}.suggestion-reason{font-size:.72rem;font-weight:400;opacity:.7;line-height:1}.suggestion-btn.suggestion-review{background:#a03a3a0f;border:1px solid rgba(160,58,58,.18)}.suggestion-btn.suggestion-review .suggestion-reason{color:#a03a3a;opacity:1}.suggestion-btn.suggestion-review:hover{background:#a03a3a1a;transform:translateY(-2px) scale(1.02);box-shadow:0 4px 12px #a03a3a14}.suggestion-btn.suggestion-deepen{background:#3b64a00f;border:1px solid rgba(59,100,160,.15)}.suggestion-btn.suggestion-deepen .suggestion-reason{color:#3b64a0;opacity:1}.suggestion-btn.suggestion-deepen:hover{background:#3b64a01a;transform:translateY(-2px) scale(1.02);box-shadow:0 4px 12px #3b64a014}.prior-concept-chips{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.prior-chips-label{font-size:.72rem;color:var(--text-faint);font-style:italic}.prior-chips-row{display:flex;flex-wrap:wrap;gap:.4rem}.prior-chip{border:none;border-radius:20px;padding:.3rem .75rem;font-family:var(--font-sans);font-size:.8rem;cursor:pointer;transition:all .12s ease;line-height:1.4}.prior-chip.chip-strong{background:#3a9a581a;color:#2d7a45;border:1px solid rgba(58,154,88,.25)}.prior-chip.chip-strong:hover{background:#3a9a582e}.prior-chip.chip-developing{background:#4a7ac41a;color:#3b64a0;border:1px solid rgba(74,122,196,.2)}.prior-chip.chip-developing:hover{background:#4a7ac42e}.diagnostic-title{font-family:var(--font-serif);font-size:2.2rem;line-height:1.2;letter-spacing:-.03em;color:var(--accent-primary);margin-bottom:.75rem;opacity:0;animation:fadeUp .8s cubic-bezier(.16,1,.3,1) forwards}.diagnostic-back{background:none;border:none;color:var(--text-muted);font-family:var(--font-sans);font-size:.85rem;cursor:pointer;padding:0;margin-bottom:1.5rem;display:inline-flex;align-items:center;gap:.4rem;transition:color .15s;opacity:0;animation:fadeUp .8s cubic-bezier(.16,1,.3,1) forwards}.diagnostic-back:hover{color:var(--text-main)}@media screen and (max-width:768px){.topic-selector-container{padding:2rem 1rem}.selector-title{font-size:2.5rem}.topic-input{font-size:1.8rem}.form-actions{flex-direction:column}}@media(prefers-color-scheme:dark){.topic-input{border-bottom-color:#ffffff1a}.topic-input::placeholder{color:#ffffff26}.pdf-dropzone{background:#ffffff0d;border-color:#ffffff26}.pdf-dropzone:hover{background:#ffffff1a;border-color:var(--text-main)}.pdf-dropzone.has-file{background:#ffffff1a}.book-select-input{background:var(--bg-surface);border-color:#ffffff1a}.example-btn{background:#ffffff0d;border-color:#ffffff0d}.example-btn:hover{background:#ffffff1a}}.first-session-guide{padding:1.25rem 0 .5rem}.first-session-eyebrow{font-family:var(--font-sans);font-size:.62rem;font-weight:700;letter-spacing:.12em;color:var(--text-faint);text-transform:uppercase;margin:0 0 .3rem}.first-session-heading{font-family:var(--font-serif);font-size:1rem;font-weight:500;color:var(--text-main);margin:0 0 1rem}.first-session-steps{display:flex;flex-direction:column;gap:.6rem}.first-session-step{display:flex;align-items:flex-start;gap:.85rem}.fss-num{width:24px;height:24px;border-radius:50%;background:var(--accent-primary);color:#fff;font-family:var(--font-sans);font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.fss-body{display:flex;flex-direction:column;gap:.1rem}.fss-body strong{font-family:var(--font-sans);font-size:.82rem;font-weight:600;color:var(--text-main)}.fss-body span{font-family:var(--font-sans);font-size:.78rem;color:var(--text-muted);line-height:1.45}.review-nudge{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem .75rem 1.1rem;margin:.75rem 0 2rem;background:#00000005;border:1px solid rgba(0,0,0,.07);border-left:3px solid var(--accent-primary);border-radius:6px;cursor:pointer;transition:background .15s}.review-nudge:hover{background:#0000000a}.review-nudge-left{display:flex;align-items:center;gap:0}.review-nudge-headline{font-family:var(--font-sans);font-size:.82rem;font-weight:600;color:var(--text-main);margin:0 0 .1rem}.review-nudge-sub{font-family:var(--font-sans);font-size:.73rem;color:var(--text-muted);margin:0}.review-nudge-cta{font-family:var(--font-sans);font-size:.78rem;font-weight:600;color:var(--accent-primary);white-space:nowrap;flex-shrink:0}.streak-badge{font-family:var(--font-sans);font-size:.72rem;font-weight:600;color:var(--text-muted);letter-spacing:.04em;padding:.2rem .65rem;border:1px solid rgba(0,0,0,.1);border-radius:20px;background:#00000008}.timecapsule-card{background:linear-gradient(135deg,#b48c500f,#c05a450a);border:1px solid rgba(180,140,80,.2);border-radius:16px;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.85rem;animation:fadeUp .6s cubic-bezier(.16,1,.3,1) forwards;margin-bottom:1.5rem}.timecapsule-header{display:flex;align-items:center;justify-content:space-between}.timecapsule-eyebrow{font-family:var(--font-sans);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#9a7a3a}.timecapsule-dismiss{background:none;border:none;cursor:pointer;font-size:.8rem;color:var(--text-faint);padding:0;opacity:.5;transition:opacity .15s}.timecapsule-dismiss:hover{opacity:1}.timecapsule-prompt{font-family:var(--font-sans);font-size:.92rem;color:var(--text-main);line-height:1.55;margin:0}.timecapsule-old-explanation{font-family:var(--font-serif);font-size:.9rem;color:var(--text-faint);font-style:italic;line-height:1.6;margin:0;padding:.75rem 1rem;border-left:3px solid rgba(180,140,80,.3);background:#b48c500a;border-radius:0 8px 8px 0}.timecapsule-cta{align-self:flex-start;background:none;border:1px solid rgba(180,140,80,.35);border-radius:30px;padding:.5rem 1.1rem;font-family:var(--font-sans);font-size:.85rem;font-weight:500;color:#9a7a3a;cursor:pointer;transition:all .15s}.timecapsule-cta:hover{background:#b48c5014;border-color:#b48c5080}.timecapsule-textarea{width:100%;padding:.85rem 1rem;border:1px solid rgba(0,0,0,.1);border-radius:10px;font-family:var(--font-sans);font-size:.92rem;line-height:1.6;resize:vertical;background:#fff;color:var(--text-main);box-sizing:border-box}.timecapsule-textarea:focus{outline:none;border-color:#b48c5066}.timecapsule-actions{display:flex;align-items:center;justify-content:space-between}.timecapsule-hint{font-size:.75rem;color:var(--text-faint)}.timecapsule-submit{background:#b48c501a;border:1px solid rgba(180,140,80,.3);border-radius:30px;padding:.5rem 1.1rem;font-family:var(--font-sans);font-size:.85rem;font-weight:500;color:#9a7a3a;cursor:pointer;transition:all .15s}.timecapsule-submit:disabled{opacity:.4;cursor:not-allowed}.timecapsule-submit:not(:disabled):hover{background:#b48c502e}.timecapsule-loading{display:flex;align-items:center;gap:.75rem;color:var(--text-faint);font-size:.88rem}.timecapsule-spinner{width:16px;height:16px;border:2px solid rgba(180,140,80,.2);border-top-color:#9a7a3a;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.timecapsule-result{display:flex;flex-direction:column;gap:.85rem}.timecapsule-comparison{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.timecapsule-col{display:flex;flex-direction:column;gap:.35rem;padding:.75rem;background:#00000005;border-radius:10px;border:1px solid rgba(0,0,0,.06)}.timecapsule-col-label{font-family:var(--font-sans);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}.timecapsule-col-text{font-family:var(--font-serif);font-size:.82rem;color:var(--text-faint);font-style:italic;line-height:1.5;margin:0}.timecapsule-growth{font-size:.9rem;color:var(--text-main);line-height:1.55;margin:0}.timecapsule-insight{font-family:var(--font-serif);font-size:.92rem;color:#9a7a3a;font-style:italic;line-height:1.55;margin:0}.timecapsule-still-growing{font-size:.82rem;color:var(--text-faint);margin:0}.review-overlay{position:fixed;inset:0;background:var(--bg-color, #f5f0eb);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9000;animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.review-header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color, #e8e8e8)}.review-header-label{font-family:var(--font-sans);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.review-close{background:none;border:none;color:var(--text-faint);font-size:.85rem;cursor:pointer;padding:.3rem .5rem;border-radius:4px;line-height:1;transition:color .15s}.review-close:hover{color:var(--text-main)}.review-progress{position:absolute;top:0;left:0;right:0;height:2px;background:var(--border-color, #e8e8e8)}.review-progress-bar{height:100%;background:var(--accent-primary, #c17a6a);transition:width .4s ease}.review-modal{width:100%;max-width:540px;padding:0 2rem;display:flex;flex-direction:column;gap:2rem}.review-loading{text-align:center;font-family:var(--font-sans);font-size:.9rem;color:var(--text-faint);display:flex;flex-direction:column;align-items:center;gap:1rem}.review-loading-dots{display:flex;gap:6px}.review-loading-dots span{width:6px;height:6px;border-radius:50%;background:var(--text-faint);animation:dotPulse 1.2s ease-in-out infinite}.review-loading-dots span:nth-child(2){animation-delay:.2s}.review-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.review-empty,.review-complete{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.review-empty-headline,.review-complete-headline{font-family:var(--font-serif);font-size:1.8rem;font-weight:400;color:var(--text-main);margin:0}.review-empty-sub,.review-complete-sub{font-family:var(--font-sans);font-size:.9rem;color:var(--text-muted);margin:0 0 1rem;line-height:1.6;max-width:340px}.review-done-btn{padding:.7rem 2rem;background:var(--text-main);color:var(--bg-color);border:none;border-radius:8px;font-family:var(--font-sans);font-size:.88rem;font-weight:500;cursor:pointer;transition:opacity .15s}.review-done-btn:hover{opacity:.82}.review-card{display:flex;flex-direction:column;gap:0}.review-counter{font-family:var(--font-sans);font-size:.68rem;font-weight:600;letter-spacing:.1em;color:var(--text-faint);text-transform:uppercase;margin-bottom:1.25rem}.review-card-eyebrow{font-family:var(--font-sans);font-size:.62rem;font-weight:700;letter-spacing:.12em;color:var(--accent-primary);text-transform:uppercase;margin:0 0 1rem}.review-card-concept{font-family:var(--font-serif);font-size:2.4rem;font-weight:400;color:var(--text-main);margin:0 0 .5rem;line-height:1.15;letter-spacing:-.02em}.review-card-source{font-family:var(--font-sans);font-size:.78rem;color:var(--text-faint);margin:0 0 2.5rem}.review-card-prompt{font-family:var(--font-sans);font-size:.88rem;color:var(--text-muted);margin:0 0 1.25rem;border-top:1px solid var(--border-color, #e8e8e8);padding-top:1.75rem}.review-rating-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.review-rating-btn{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1.1rem .75rem;border-radius:10px;border:1px solid var(--border-color, #e0e0e0);background:var(--bg-surface, #fff);cursor:pointer;transition:all .15s}.review-rating-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000012}.review-rating-btn:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}.rating-forgot:hover{border-color:#b43c3c66;background:#b43c3c08}.rating-fuzzy:hover{border-color:#a0823c66;background:#a0823c08}.rating-got:hover{border-color:#3c825066;background:#3c825008}.rating-label{font-family:var(--font-sans);font-size:.9rem;font-weight:600;color:var(--text-main)}.rating-hint{font-family:var(--font-sans);font-size:.68rem;color:var(--text-faint)}.quiz-overlay{position:fixed;inset:0;background:#0a0805d1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlayFadeIn .25s ease}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.quiz-modal{position:relative;background:#fffdf9;border:1px solid rgba(0,0,0,.08);border-radius:20px;box-shadow:0 32px 80px #00000047;width:min(660px,94vw);max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s cubic-bezier(.34,1.56,.64,1);padding:2.5rem}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.quiz-close-btn{position:absolute;top:1.25rem;right:1.25rem;background:none;border:none;color:#aaa;cursor:pointer;padding:4px;border-radius:6px;transition:color .2s,background .2s}.quiz-close-btn:hover{color:#444;background:#0000000d}.quiz-center{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0;text-align:center}.quiz-center h2{font-family:var(--font-serif);font-size:1.6rem;color:var(--text-color, #2c2c2c)}.quiz-center p{color:#888;font-size:1rem}.quiz-error{color:#c44500}.quiz-brain-icon{color:var(--accent-primary, #c44500)}.pulse{animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.92)}}.quiz-header{margin-bottom:2rem}.quiz-book-title{font-family:var(--font-serif);font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:#aaa;display:block;margin-bottom:.75rem}.quiz-progress-bar{width:100%;height:4px;background:#eee;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.quiz-progress-fill{height:100%;background:var(--accent-primary, #c44500);border-radius:4px;transition:width .4s ease}.quiz-counter{font-size:.8rem;color:#bbb}.quiz-question{font-family:var(--font-serif);font-size:1.25rem;line-height:1.5;color:var(--text-color, #2c2c2c);margin-bottom:1.5rem}.quiz-options{display:flex;flex-direction:column;gap:.75rem}.option{display:flex;align-items:center;gap:.6rem;width:100%;padding:.9rem 1.25rem;background:#fafaf8;border:1.5px solid #e8e4dc;border-radius:10px;font-size:.95rem;color:#444;cursor:pointer;text-align:left;transition:all .18s ease;font-family:inherit}.option:hover:not([disabled]){border-color:var(--accent-primary, #c44500);background:#fff9f6;transform:translate(3px)}.option.selected{border-color:var(--accent-primary, #c44500);background:#fff9f6;color:var(--accent-primary, #c44500);font-weight:500}.option.correct{border-color:#2d9e6a;background:#f0fbf5;color:#2d9e6a;font-weight:500;pointer-events:none}.option.wrong{border-color:#e03d3d;background:#fff3f3;color:#e03d3d;font-weight:500;pointer-events:none}.opt-icon{flex-shrink:0}.correct-icon{color:#2d9e6a}.wrong-icon{color:#e03d3d}.quiz-feedback{display:flex;align-items:center;justify-content:space-between;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #eee;animation:fadeUp .2s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.feedback-correct{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;color:#2d9e6a;font-size:1rem}.feedback-wrong{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;color:#e03d3d;font-size:1rem}.quiz-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.4rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:all .2s ease}.quiz-btn.primary{background:var(--accent-primary, #c44500);color:#fff}.quiz-btn.primary:hover:not(:disabled){background:#a83900;transform:translateY(-1px);box-shadow:0 4px 12px #c445004d}.quiz-btn.secondary{background:#f0ede8;color:#555;border:1px solid #ddd}.quiz-btn.secondary:hover{background:#e8e4dc}.quiz-btn.large{padding:.85rem 2rem;font-size:1rem;border-radius:12px}.quiz-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.quiz-result{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem 0 .5rem;text-align:center}.quiz-trophy{color:#f5a623;animation:trophyPop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes trophyPop{0%{opacity:0;transform:scale(.4) rotate(-15deg)}to{opacity:1;transform:scale(1) rotate(0)}}.result-title{font-family:var(--font-serif);font-size:2rem;font-weight:700;margin:0}.result-title.pass{color:#2d9e6a}.result-title.fail{color:#e03d3d}.result-score{font-size:3rem;font-weight:800;color:var(--text-color, #2c2c2c);font-family:var(--font-serif);margin:0}.result-subtext{color:#888;font-size:.95rem;max-width:380px;margin:0}.library-layout{display:flex;width:100%;height:calc(100vh - 80px);animation:fadeIn .6s ease forwards;background:var(--bg-color, #faf8f4)}.library-sidebar{width:240px;flex-shrink:0;display:flex;flex-direction:column;gap:1rem;padding:2rem 1.25rem 1.5rem;border-right:1px solid rgba(0,0,0,.06);overflow-y:auto}.sidebar-brand{margin-bottom:.5rem}.sidebar-brand-text{font-family:var(--font-serif);font-size:1.4rem;font-weight:500;color:var(--accent-primary);letter-spacing:-.02em}.book-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.book-item{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:10px;cursor:pointer;font-size:.88rem;color:var(--text-muted);transition:all .18s ease;position:relative}.book-item:hover{background:#0000000a;color:var(--text-main)}.book-item.active{background:var(--accent-light, #fff6f2);color:var(--accent-primary);font-weight:600}.book-item.drag-over{background:var(--accent-light, #fff6f2);outline:2px dashed var(--accent-primary)}.book-item-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-count{font-size:.75rem;color:var(--text-faint);background:#0000000d;padding:1px 6px;border-radius:10px;margin-left:auto;flex-shrink:0}.book-cover-thumb{width:22px;height:22px;border-radius:4px;object-fit:cover;flex-shrink:0;border:1px solid rgba(0,0,0,.08)}.mastered-dot{font-size:.65rem;color:#2d9e6a;font-weight:700;flex-shrink:0}.delete-book-btn{background:none;border:none;cursor:pointer;color:transparent;padding:2px;border-radius:4px;display:flex;align-items:center;transition:color .15s ease;flex-shrink:0}.book-item:hover .delete-book-btn{color:#ccc}.delete-book-btn:hover{color:#e03d3d!important}.book-progress-bar{position:absolute;bottom:0;left:.6rem;right:.6rem;height:2px;background:#0000000f;border-radius:1px;overflow:hidden}.book-progress-fill{height:100%;background:var(--accent-primary, #c05a45);border-radius:1px;transition:width .3s ease}.new-book-btn{padding:.6rem .75rem;background:none;border:1px dashed rgba(0,0,0,.15);border-radius:10px;color:var(--text-faint);cursor:pointer;font-size:.85rem;font-family:var(--font-sans);text-align:left;transition:all .2s;margin-top:.5rem}.new-book-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.create-book-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.create-book-form input{padding:.6rem .75rem;border:1px solid rgba(0,0,0,.15);border-radius:8px;font-family:var(--font-sans);font-size:.88rem;outline:none;background:#fff}.create-book-form input:focus{border-color:var(--accent-primary)}.create-book-actions{display:flex;gap:.5rem}.create-book-actions button{flex:1;padding:.4rem;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-family:var(--font-sans)}.create-book-actions button[type=submit]{background:var(--accent-primary);color:#fff}.create-book-actions button[type=button]{background:#0000000f;color:var(--text-muted)}.library-main{flex:1;overflow-y:auto;overflow-x:hidden;padding:2rem 2rem 6rem;min-width:0}.library-loading{flex:1;padding:2rem}.loading-shimmer-grid{display:flex;gap:1rem;align-items:flex-start}.shimmer-card{flex:1;margin-bottom:0;border-radius:16px;background:linear-gradient(90deg,#f0ece6 25%,#f8f5f1,#f0ece6 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;height:240px}.shimmer-card:nth-child(2){height:180px}.shimmer-card:nth-child(3){height:300px}.shimmer-card:nth-child(4){height:200px}.shimmer-card:nth-child(5){height:260px}.shimmer-card:nth-child(6){height:220px}.book-cover-banner{width:100%;height:180px;background-size:cover;background-position:center;border-radius:16px;margin-bottom:1.5rem;position:relative;overflow:hidden;flex-shrink:0}.book-cover-overlay{position:absolute;inset:0;background:linear-gradient(to top,#0a0805b8,#0a080514 55%);display:flex;align-items:flex-end;padding:1.25rem 1.5rem}.book-cover-title{color:#fff;font-family:var(--font-serif);font-size:1.6rem;font-weight:600;margin:0;text-shadow:0 1px 8px rgba(0,0,0,.5)}.library-topbar{display:flex;flex-direction:column;gap:.5rem;margin-top:1.1rem;margin-bottom:.75rem}.library-view-title{font-family:var(--font-serif);font-size:1.8rem;font-weight:500;color:var(--text-main);margin:0;letter-spacing:-.02em}.library-topbar-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.library-subbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.library-count{font-size:.82rem;color:var(--text-faint);margin:0;font-family:var(--font-sans)}.library-search-wrap{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:.75rem;color:var(--text-faint);pointer-events:none}.library-search{padding:.5rem 2rem .5rem 2.25rem;border:1px solid rgba(0,0,0,.1);border-radius:30px;font-family:var(--font-sans);font-size:.85rem;color:var(--text-main);background:#fff;outline:none;width:200px;transition:all .2s}.library-search:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #c4450014;width:240px}.search-clear{position:absolute;right:.6rem;background:none;border:none;cursor:pointer;color:var(--text-faint);padding:2px;display:flex;align-items:center;border-radius:4px;transition:color .15s}.search-clear:hover{color:var(--text-main)}.share-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;font-family:var(--font-sans);font-size:.78rem;font-weight:500;border-radius:20px;border:1px solid rgba(0,0,0,.12);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s}.share-btn:hover{border-color:var(--text-main);color:var(--text-main)}.share-btn.active{background:var(--accent-light);border-color:var(--accent-primary);color:var(--accent-primary)}.share-btn.locked{opacity:.5;border-style:dashed;cursor:not-allowed}.share-btn.locked:hover{background:none}.mastery-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;background:#f0fbf5;border:1px solid #b5dfc9;border-radius:20px;color:#2d9e6a;font-size:.75rem;font-weight:600}.prove-it-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;background:none;border:1px solid rgba(0,0,0,.12);border-radius:20px;color:var(--accent-primary);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s}.prove-it-btn:hover{background:var(--accent-light);border-color:var(--accent-primary)}.cover-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;background:none;border:1px solid rgba(0,0,0,.12);border-radius:20px;color:var(--text-muted);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .15s;font-family:var(--font-sans)}.cover-btn:hover:not(:disabled){border-color:var(--text-main);color:var(--text-main)}.cover-btn:disabled{opacity:.5;cursor:not-allowed}.share-link-box{display:flex;align-items:center;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:20px;padding:.2rem .2rem .2rem .75rem;gap:.5rem}.link-url{font-family:monospace;font-size:.75rem;color:var(--text-muted);-webkit-user-select:all;user-select:all}.copy-btn{display:flex;align-items:center;justify-content:center;background:#0000000d;border:none;border-radius:50%;width:26px;height:26px;cursor:pointer;color:var(--text-main);transition:background .15s}.copy-btn:hover{background:#0000001a}.library-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4rem 2rem;gap:.6rem;color:var(--text-muted);font-size:1.1rem}.empty-subtext{font-size:.9rem;color:var(--text-faint);margin-top:.5rem}.empty-ritual-steps{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.25rem;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-primary, #c05a45);opacity:.6}.library-masonry{display:flex;gap:1rem;align-items:flex-start}.masonry-col{flex:1;display:flex;flex-direction:column;gap:1rem;min-width:0}.pin-card{background:#fff;border-radius:16px;cursor:pointer;transition:box-shadow .2s ease;box-shadow:0 1px 3px #0000000f,0 2px 8px #0000000a;display:flex;flex-direction:column;position:relative}.pin-card:hover{box-shadow:0 2px 12px #00000014}.pin-card.card-drop-target{box-shadow:0 0 0 2px var(--accent-primary),0 8px 24px #c05a452e;transform:scale(1.02);transition:box-shadow .15s ease,transform .15s ease}.pin-card.card-drop-target:after{content:"Drop to stack";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#c05a4514;border-radius:16px;font-family:var(--font-sans);font-size:.82rem;font-weight:600;color:var(--accent-primary);pointer-events:none;z-index:10}.pin-image-wrap{position:relative;overflow:hidden;border-radius:16px 16px 0 0;max-height:220px}.pin-image-wrap:after{content:"";position:absolute;inset:0;background:#b45a141a;mix-blend-mode:multiply;pointer-events:none;border-radius:16px 16px 0 0}.pin-image{width:100%;display:block;object-fit:cover}.pin-stack-badge{position:absolute;top:.6rem;right:.6rem;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:.72rem;font-weight:700;padding:.2rem .5rem;border-radius:10px;line-height:1}.pin-body{padding:1rem 1rem .5rem;flex:1;display:flex;flex-direction:column;gap:.35rem}.pin-topic{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--accent-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pin-title{font-family:var(--font-serif);font-size:1.05rem;line-height:1.35;color:var(--text-main);margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pin-preview{font-size:.8rem;color:var(--text-muted);line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:5;line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.pin-stack-text{font-size:.72rem;color:var(--text-faint);font-style:italic}.pin-footer{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;border-top:1px solid rgba(0,0,0,.05);background:#00000004;gap:.5rem}.pin-book-select{font-family:var(--font-sans);font-size:.75rem;color:var(--text-faint);background:transparent;border:none;outline:none;cursor:pointer;max-width:130px;flex:1}.pin-book-select:hover{color:var(--text-muted)}.pin-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.pin-action-btn{font-size:.7rem;font-weight:700;color:var(--text-faint);background:#0000000a;padding:.2rem .5rem;border-radius:6px;cursor:pointer;text-transform:uppercase;letter-spacing:.04em;transition:all .15s}.pin-action-btn:hover{background:var(--accent-light);color:var(--accent-primary)}.pin-delete-btn{background:none;border:none;cursor:pointer;color:#ccc;padding:3px;border-radius:6px;display:flex;align-items:center;transition:color .15s,background .15s}.pin-delete-btn:hover{color:#e03d3d;background:#e03d3d14}.mastery-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:#2d9e6a;color:#fff;padding:.75rem 1.75rem;border-radius:30px;font-weight:700;font-size:.95rem;box-shadow:0 8px 24px #2d9e6a59;z-index:2000;animation:toastIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media screen and (max-width:1200px){.library-masonry .masonry-col:last-child{display:none}}@media screen and (max-width:900px){.library-sidebar{width:200px;padding:1.5rem 1rem}}@media screen and (max-width:700px){.library-layout{flex-direction:column;height:auto}.library-sidebar{width:100%;border-right:none;border-bottom:1px solid rgba(0,0,0,.06);padding:1rem}.book-list{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:.5rem}.book-item{white-space:nowrap;flex-shrink:0}.library-masonry{flex-direction:column}.masonry-col,.library-search{width:100%}}@media(prefers-color-scheme:dark){.library-sidebar{border-right-color:#ffffff0f}.book-item:hover{background:#ffffff0f}.book-item.active{background:#c4450026}.pin-card{background:var(--bg-surface)}.pin-footer{background:#ffffff05}.library-search{background:var(--bg-surface);border-color:#ffffff1a;color:var(--text-main)}.shimmer-card{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%)}}.book-thesis-area{padding:.75rem 1.5rem 0}.book-thesis-text{font-family:var(--font-serif);font-size:.9rem;color:var(--text-faint);font-style:italic;line-height:1.6;margin:0;cursor:pointer;padding:.5rem .75rem;border-radius:8px;border:1px solid transparent;transition:all .15s}.book-thesis-text:hover{border-color:#0000001a;background:#00000005}.book-thesis-empty{opacity:.45}.book-thesis-empty:hover{opacity:.8}.book-thesis-edit{display:flex;flex-direction:column;gap:.5rem}.book-thesis-textarea{width:100%;padding:.65rem .75rem;border:1px solid rgba(0,0,0,.15);border-radius:8px;font-family:var(--font-serif);font-size:.9rem;font-style:italic;line-height:1.6;resize:vertical;background:#fff;color:var(--text-main);box-sizing:border-box;outline:none}.book-thesis-textarea:focus{border-color:#c05a4559}.book-thesis-actions{display:flex;gap:.5rem;justify-content:flex-end}.book-thesis-cancel{background:none;border:1px solid rgba(0,0,0,.12);border-radius:20px;padding:.3rem .8rem;font-family:var(--font-sans);font-size:.8rem;color:var(--text-faint);cursor:pointer;transition:all .15s}.book-thesis-cancel:hover{background:#0000000a}.book-thesis-save{background:#c05a451a;border:1px solid rgba(192,90,69,.3);border-radius:20px;padding:.3rem .8rem;font-family:var(--font-sans);font-size:.8rem;font-weight:500;color:#c05a45;cursor:pointer;transition:all .15s}.book-thesis-save:hover{background:#c05a452e}.bookshelf-strip{padding:0;overflow-x:auto;background:repeating-linear-gradient(91deg,transparent,transparent 55px,rgba(110,75,40,.03) 55px,rgba(110,75,40,.03) 58px),linear-gradient(180deg,#f8f2ea,#f0e8d8 60%,#e8dece);border-bottom:none}.bookshelf-spines{display:flex;align-items:flex-end;gap:4px;padding:2rem 2rem 0;min-height:200px}.book-spine{position:relative;width:44px;height:160px;cursor:pointer;flex-shrink:0;border-radius:2px 4px 4px 2px;overflow:hidden;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s ease;box-shadow:4px 0 #ffffff2e,-3px 0 #0003,2px 4px 10px #0000002e,inset 3px 0 7px #ffffff1a,inset -4px 0 10px #00000038}.book-spine:hover{transform:translateY(-16px);box-shadow:4px 0 #ffffff38,-3px 0 #00000038,4px 16px 24px #00000047,inset 3px 0 7px #ffffff1f,inset -4px 0 10px #0000003d}.book-spine.spine-active{transform:translateY(-10px);box-shadow:4px 0 #ffffff38,-3px 0 #0000003d,3px 10px 20px #00000052,inset 3px 0 7px #ffffff1f,inset -4px 0 10px #00000042}.spine-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:12px 4px 10px;overflow:hidden}.spine-label{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);font-family:var(--font-sans);font-size:.63rem;font-weight:700;color:#fffffff2;letter-spacing:.05em;max-height:128px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-shadow:0 1px 3px rgba(0,0,0,.4)}.spine-page-count{font-family:var(--font-sans);font-size:.5rem;color:#ffffff80;letter-spacing:.08em;text-transform:uppercase}.spine-mastered{font-size:.6rem;color:#ffffffd9}.spine-vitality-fill{position:absolute;bottom:0;left:0;right:0;opacity:.28;transition:height .6s ease}.spine-unsorted{width:36px;height:130px;opacity:.75}.spine-unsorted-inner{background:repeating-linear-gradient(-38deg,#826e50b3,#826e50b3 3px,#9b8764b3 3px 8px);background-color:#6e5e40}.bookshelf-plank{height:22px;background:radial-gradient(ellipse 80px 10px at 30% 60%,rgba(90,55,18,.07) 0%,transparent 100%),radial-gradient(ellipse 60px 8px at 70% 40%,rgba(90,55,18,.05) 0%,transparent 100%),repeating-linear-gradient(90deg,transparent,transparent 48px,rgba(90,55,18,.055) 48px,rgba(90,55,18,.055) 50px),linear-gradient(180deg,#e2c89a,#c8a870 15%,#b89460 50%,#a88050 80%,#907040);border-top:1.5px solid rgba(230,195,145,.95);border-bottom:2px solid rgba(60,35,10,.25);box-shadow:0 8px 24px #3c230a52,0 3px 8px #3c230a33,inset 0 1.5px #fff0cd80,inset 0 -1px #0000001f;margin-top:0}.book-item-colored{border-left:4px solid transparent;padding-left:calc(.75rem - 4px)!important;transition:border-color .15s}.book-stats-panel{display:flex;align-items:center;gap:0;padding:.85rem 1.5rem 1.1rem;background:#00000005;border-bottom:1px solid rgba(0,0,0,.06)}.book-stat{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:0 1.25rem}.stat-value{font-family:var(--font-sans);font-size:1.1rem;font-weight:700;color:var(--text-main);line-height:1}.stat-label{font-family:var(--font-sans);font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}.stat-divider{width:1px;height:28px;background:#00000014;flex-shrink:0}.completion-dots{display:flex;align-items:center;gap:.75rem;margin:.4rem 0 .2rem}.completion-dot-group{display:flex;flex-direction:column;align-items:center;gap:3px}.cdot{width:7px;height:7px;border-radius:50%;transition:all .2s}.cdot-filled{background:#c05a45}.cdot-empty{background:#0000001a}.cdot-label{font-family:var(--font-sans);font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);opacity:.7}.growth-timeline{margin:2rem 1.5rem 1rem;padding:1rem 1.25rem;background:#00000005;border:1px solid rgba(0,0,0,.06);border-radius:12px;display:flex;flex-direction:column;gap:.75rem}.growth-label{font-family:var(--font-sans);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint)}.growth-bars{display:flex;align-items:flex-end;gap:6px;height:60px}.growth-week{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.growth-bar-wrap{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:1px;height:48px;width:100%}.growth-bar-pages{width:100%;background:#c05a4559;border-radius:2px 2px 0 0;min-height:2px;transition:height .4s ease}.growth-bar-feynman{width:100%;background:#6450b466;border-radius:2px 2px 0 0;min-height:1px;transition:height .4s ease}.growth-week-label{font-family:var(--font-sans);font-size:.55rem;color:var(--text-faint);opacity:.6;white-space:nowrap}.growth-legend{display:flex;gap:1rem;align-items:center}.growth-legend-item{display:flex;align-items:center;gap:.35rem;font-family:var(--font-sans);font-size:.7rem;color:var(--text-faint)}.legend-dot{width:8px;height:8px;border-radius:2px}.legend-pages{background:#c05a4580}.legend-feynman{background:#6450b480}.library-empty-headline{font-family:var(--font-serif, Georgia, serif);font-size:1.2rem;font-weight:500;color:var(--text-main);margin:0}.library-empty-sub{font-family:var(--font-sans, system-ui);font-size:.83rem;color:var(--text-muted);margin:0;max-width:320px;line-height:1.55}.library-empty-cta{margin-top:.5rem;padding:.5rem 1.25rem;background:var(--accent-primary, #c17a6a);color:#fff;border:none;border-radius:24px;font-family:var(--font-sans);font-size:.82rem;font-weight:600;cursor:pointer;transition:opacity .15s}.library-empty-cta:hover{opacity:.85}.new-insight-btn{display:block;width:100%;margin-top:.5rem;padding:.5rem .75rem;background:none;border:1px dashed rgba(193,122,106,.4);border-radius:8px;font-family:var(--font-sans, system-ui);font-size:.78rem;color:var(--accent-primary, #c17a6a);cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.new-insight-btn:hover{background:#c17a6a0f;border-color:#c17a6ab3}.pin-insight-badge{display:inline-block;font-family:var(--font-sans, system-ui);font-size:.62rem;font-weight:600;letter-spacing:.05em;color:var(--accent-primary, #c17a6a);background:#c17a6a14;border:1px solid rgba(193,122,106,.2);border-radius:4px;padding:.1rem .4rem;margin-bottom:.25rem}.stack-page-list{background:#f9f8f6;border:1px solid #e8e4dc;border-top:none;border-radius:0 0 12px 12px;overflow:hidden;margin-top:-6px}.stack-page-row{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:1px solid #ece8e0;transition:background .12s}.stack-page-row:last-child{border-bottom:none}.stack-page-row:hover{background:#f0ede6}.stack-page-icon{color:#b5a898;flex-shrink:0}.stack-page-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.stack-page-title{font-size:12px;font-weight:500;color:#2c2c2c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stack-page-date{font-size:10px;color:#aaa}.stack-page-dots{display:flex;gap:4px;flex-shrink:0}.sdot{width:7px;height:7px;border-radius:50%;background:#ddd}.sdot.sdot-on{background:#c8a882}.pin-stack-badge{display:flex;align-items:center;gap:2px;cursor:pointer}.delete-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.delete-modal{background:#fff;border-radius:12px;padding:24px;width:380px;max-width:90vw;box-shadow:0 8px 40px #0000002e}.delete-modal-title{font-size:15px;font-weight:600;color:#1a1a1a;margin:0 0 4px}.delete-modal-sub{font-size:12px;color:#888;margin:0 0 16px}.delete-modal-list{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto;margin-bottom:20px}.delete-modal-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;cursor:pointer;transition:background .12s}.delete-modal-item:hover{background:#f5f5f5}.delete-modal-item input[type=checkbox]{width:15px;height:15px;accent-color:#c0392b;flex-shrink:0;cursor:pointer}.delete-modal-item-title{font-size:13px;color:#2c2c2c;line-height:1.3}.delete-modal-actions{display:flex;justify-content:flex-end;gap:10px}.delete-modal-cancel{padding:7px 16px;border-radius:7px;border:1px solid #ddd;background:#fff;font-size:13px;color:#555;cursor:pointer}.delete-modal-cancel:hover{background:#f5f5f5}.delete-modal-confirm{padding:7px 16px;border-radius:7px;border:none;background:#c0392b;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.delete-modal-confirm:hover:not(:disabled){background:#a93226}.delete-modal-confirm:disabled{opacity:.5;cursor:not-allowed}.insight-modal-overlay{position:fixed;inset:0;background:#00000061;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:2000;display:flex;align-items:center;justify-content:center}.insight-modal{background:#fff;border-radius:16px;box-shadow:0 24px 64px #0000002e;width:min(620px,94vw);max-height:90vh;overflow-y:auto;padding:1.75rem 2rem 2rem;display:flex;flex-direction:column;gap:.75rem}.insight-modal-header{display:flex;justify-content:space-between;align-items:flex-start}.insight-modal-title{font-family:var(--font-serif, Georgia, serif);font-size:1.2rem;font-weight:500;color:var(--text-main);margin:0}.insight-modal-close{background:none;border:none;cursor:pointer;font-size:1rem;color:var(--text-faint);padding:.1rem .3rem}.insight-modal-close:hover{color:var(--text-main)}.insight-modal-subtitle{font-family:var(--font-sans, system-ui);font-size:.82rem;color:var(--text-muted);margin:0;line-height:1.5}.insight-modal-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.25rem}.insight-modal-title-input{width:100%;padding:.7rem 1rem;border:1px solid rgba(0,0,0,.12);border-radius:8px;font-family:var(--font-serif, Georgia, serif);font-size:1rem;color:var(--text-main);outline:none;box-sizing:border-box;transition:border-color .15s}.insight-modal-title-input:focus{border-color:var(--accent-primary, #c17a6a);box-shadow:0 0 0 3px #c17a6a1a}.insight-modal-body{width:100%;padding:.8rem 1rem;border:1px solid rgba(0,0,0,.12);border-radius:8px;font-family:var(--font-sans, system-ui);font-size:.9rem;color:var(--text-main);line-height:1.6;resize:vertical;outline:none;box-sizing:border-box;transition:border-color .15s}.insight-modal-body:focus{border-color:var(--accent-primary, #c17a6a);box-shadow:0 0 0 3px #c17a6a1a}.insight-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.25rem}.insight-modal-cancel{background:none;border:1px solid rgba(0,0,0,.12);border-radius:8px;padding:.55rem 1rem;font-family:var(--font-sans, system-ui);font-size:.82rem;color:var(--text-muted);cursor:pointer}.insight-modal-cancel:hover{background:#0000000a}.insight-modal-save{background:var(--accent-primary, #c17a6a);border:none;border-radius:8px;padding:.55rem 1.25rem;font-family:var(--font-sans, system-ui);font-size:.82rem;font-weight:600;color:#fff;cursor:pointer;transition:background .15s}.insight-modal-save:hover:not(:disabled){background:#a8634f}.insight-modal-save:disabled{opacity:.5;cursor:not-allowed}.book-cover-strip{position:relative;width:100%;height:180px;overflow:hidden;flex-shrink:0}.book-cover-strip-img{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block}.book-cover-strip-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#faf9f700 40%,#faf9f7)}.spine-inner[style*=backgroundImage] .spine-label{text-shadow:0 1px 4px rgba(0,0,0,.75);color:#fff}.spine-inner[style*=backgroundImage] .spine-page-count{color:#ffffffd9;text-shadow:0 1px 3px rgba(0,0,0,.6)}.dash-container{max-width:720px;margin:0 auto;padding:5rem 2rem 4rem;font-family:var(--font-sans)}.dash-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-faint);font-family:var(--font-sans);font-size:.9rem}.dash-header{margin-bottom:2rem}.dash-title{font-family:var(--font-serif);font-size:1.8rem;font-weight:600;color:var(--text-main);margin:0 0 .4rem}.dash-subtitle{font-size:.9rem;color:var(--text-faint);margin:0}.dash-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:2rem}.dash-stat{background:var(--surface-color, #f8f8f8);border:1px solid var(--border-color, #e8e8e8);border-radius:12px;padding:1.1rem 1rem;display:flex;flex-direction:column;gap:.25rem;text-align:center}.dash-stat-num{font-size:1.8rem;font-weight:700;color:var(--text-main);line-height:1}.dash-stat-num.strong-num{color:#2d7a45}.dash-stat-owned{border-left:1px solid var(--border-color, #e8e8e8);padding-left:1.5rem;margin-left:.5rem}.dash-stat-num.owned-num{color:var(--accent-primary)}.map-your-words{margin-top:.75rem;padding:.9rem 1rem;background:var(--surface-color, #f7f7f5);border-left:2px solid var(--accent-primary);border-radius:0 6px 6px 0}.map-your-words-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-primary);display:block;margin-bottom:.4rem}.map-your-words-text{font-size:.82rem;line-height:1.6;color:var(--text-muted);font-style:italic;margin:0}.dash-stat-label{font-size:.72rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.dash-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border-color, #e8e8e8);margin-bottom:1.5rem}.dash-tab{background:none;border:none;border-bottom:2px solid transparent;padding:.6rem 1rem;font-family:var(--font-sans);font-size:.88rem;font-weight:500;color:var(--text-faint);cursor:pointer;margin-bottom:-1px;transition:all .15s ease;display:flex;align-items:center;gap:.4rem}.dash-tab.active{color:var(--text-main);border-bottom-color:var(--accent-primary, #1a1a1a)}.dash-tab:hover:not(.active){color:var(--text-main)}.dash-tab-badge{background:#a03a3a;color:#fff;font-size:.65rem;font-weight:700;padding:.1rem .4rem;border-radius:10px;line-height:1.4}.dash-section{min-height:200px}.dash-empty{color:var(--text-faint);font-size:.88rem;font-style:italic;padding:2rem 0}.dash-concept-grid{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.5rem}.dash-concept-row{display:grid;grid-template-columns:1fr 120px 36px;align-items:center;gap:.75rem;padding:.45rem .6rem;border-radius:8px;background:none;border:none;cursor:pointer;text-align:left;transition:background .12s ease}.dash-concept-row:hover{background:var(--surface-color, #f5f5f5)}.dash-concept-name{font-size:.88rem;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-bar-wrap{height:5px;background:var(--border-color, #e8e8e8);border-radius:3px;overflow:hidden}.dash-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.dash-bar-fill.strong{background:#3a9a58}.dash-bar-fill.developing{background:#4a7ac4}.dash-bar-fill.gap{background:silver}.dash-concept-pct{font-size:.75rem;color:var(--text-faint);text-align:right}.map-search-wrap{position:relative;margin-bottom:1.25rem}.map-search{width:100%;padding:.55rem 2rem .55rem .9rem;border:1px solid rgba(0,0,0,.1);border-radius:8px;background:#00000005;font-family:var(--font-sans);font-size:.85rem;color:var(--text-main);outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.map-search:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #c17a6a1a}.map-search::placeholder{color:var(--text-faint)}.map-search-clear{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1rem;color:var(--text-faint);cursor:pointer;padding:0 .2rem;line-height:1}.map-search-clear:hover{color:var(--text-main)}.map-search-count{font-family:var(--font-sans);font-size:.75rem;color:var(--text-faint);margin:0 0 .75rem}.map-topic-groups{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1.5rem}.map-topic-group{border-radius:8px;overflow:hidden;border:1px solid rgba(0,0,0,.06)}.map-topic-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.65rem .85rem;background:#00000005;border:none;cursor:pointer;text-align:left;transition:background .12s;gap:1rem}.map-topic-header:hover{background:#0000000b}.map-topic-left{display:flex;align-items:center;gap:.5rem;min-width:0}.map-topic-chevron{font-size:.7rem;color:var(--text-faint);flex-shrink:0}.map-topic-name{font-family:var(--font-sans);font-size:.88rem;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-topic-overdue{font-family:var(--font-sans);font-size:.65rem;font-weight:700;color:#a03a3a;background:#a03a3a14;border-radius:10px;padding:.1rem .45rem;white-space:nowrap;flex-shrink:0}.map-topic-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.map-topic-count{font-family:var(--font-sans);font-size:.72rem;color:var(--text-faint)}.map-topic-avg{font-family:var(--font-sans);font-size:.75rem;font-weight:600;min-width:34px;text-align:right}.map-topic-avg.strong{color:#3a9a58}.map-topic-avg.developing{color:#4a7ac4}.map-topic-avg.gap{color:#b0b0b0}.map-topic-concepts{padding:.3rem 0;border-top:1px solid rgba(0,0,0,.05);background:#fff}.dash-concept-row.indented{padding-left:2rem}.dash-concept-name-wrap{display:flex;flex-direction:column;gap:.05rem;overflow:hidden}.dash-concept-source{font-size:.68rem;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-legend{display:flex;gap:1.5rem;padding-top:.5rem;border-top:1px solid var(--border-color, #e8e8e8)}.dash-legend-item{font-size:.75rem;color:var(--text-faint)}.dash-legend-item.strong{color:#3a9a58}.dash-legend-item.developing{color:#4a7ac4}.dash-legend-item.gap{color:#a0a0a0}.dash-next-intro{font-size:.9rem;color:var(--text-faint);margin-bottom:1.75rem}.dash-next-group{margin-bottom:2rem}.dash-next-desc{font-size:.82rem;color:var(--text-faint);margin:.2rem 0 .75rem}.dash-next-label{font-size:.68rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.12em;font-weight:600;display:block;margin-bottom:.6rem}.dash-next-list{display:flex;flex-wrap:wrap;gap:.5rem}.dash-next-pill{display:flex;align-items:center;gap:.4rem;font-family:var(--font-sans);font-size:.85rem;padding:.4rem .85rem;border-radius:20px;border:1px solid;cursor:pointer;transition:all .15s ease}.dash-next-strength{font-size:.7rem;color:var(--text-faint)}.forgetting-curve-group{border-top:1px solid var(--border-color, #e8e8e8);padding-top:1.5rem}.forgetting-curve-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.25rem}.forgetting-curve-row{display:grid;grid-template-columns:180px 1fr 100px;align-items:center;gap:.75rem;background:none;border:none;padding:.35rem 0;cursor:pointer;text-align:left;border-radius:4px;transition:background .12s}.forgetting-curve-row:hover{background:var(--surface-hover, rgba(0,0,0,.03))}.fc-concept{font-size:.83rem;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc-bar-wrap{height:5px;background:var(--border-color, #e8e8e8);border-radius:3px;overflow:hidden}.fc-bar{height:100%;background:var(--accent-primary, #c05a45);border-radius:3px;transition:width .4s ease}.fc-retention{font-size:.72rem;color:var(--text-faint);text-align:right;white-space:nowrap}.forgetting-curve-note{font-size:.72rem;color:var(--text-faint);margin-top:.75rem;font-style:italic}.dash-narrative{display:flex;flex-direction:column;gap:0}.dash-day-block{display:flex;flex-direction:column;gap:.35rem;padding:1rem 0;border-bottom:1px solid var(--border-color, #f0f0f0)}.dash-day-block:last-child{border-bottom:none}.dash-day-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}.dash-day-prose{font-family:var(--font-serif);font-size:.95rem;line-height:1.6;color:var(--text-main);margin:0}.dash-day-prose strong{font-weight:600;color:var(--accent-primary, #c05a45)}.dash-export-btn{background:none;border:1px solid var(--border-color, #e0e0e0);border-radius:20px;padding:.4rem .9rem;font-family:var(--font-sans);font-size:.78rem;color:var(--text-faint);cursor:pointer;transition:all .15s ease;white-space:nowrap;margin-top:.3rem}.dash-export-btn:hover:not(:disabled){border-color:var(--text-main);color:var(--text-main)}.dash-export-btn:disabled{opacity:.5;cursor:not-allowed}.dash-insights-list{display:flex;flex-direction:column;gap:1rem}.dash-insight-card{padding:1rem 1.1rem;border-radius:10px;background:#4a7ac40a;border:1px solid rgba(74,122,196,.15);border-left:3px solid #4a7ac4;display:flex;flex-direction:column;gap:.4rem}.dash-insight-meta{display:flex;align-items:center;justify-content:space-between}.dash-insight-topic{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#4a7ac4}.dash-insight-date{font-size:.72rem;color:var(--text-faint)}.dash-insight-question{font-size:.82rem;color:var(--text-faint);margin:0;font-style:italic}.dash-insight-text{font-family:var(--font-serif);font-size:.95rem;line-height:1.55;color:var(--text-main);margin:0}.dash-explore-link{padding-top:2rem;border-top:1px solid var(--border-color, #e8e8e8);margin-top:2rem;text-align:center}.dash-explore-btn{background:none;border:none;font-family:var(--font-sans);font-size:.85rem;color:var(--text-faint);cursor:pointer;transition:color .15s;padding:0}.dash-explore-btn:hover{color:var(--text-main)}@media(prefers-color-scheme:dark){.dash-stat{background:#ffffff0a;border-color:#ffffff14}.dash-concept-row:hover{background:#ffffff0d}}@media(max-width:600px){.dash-stats{grid-template-columns:repeat(2,1fr)}.dash-concept-row{grid-template-columns:1fr 80px 30px}}.feed-card{background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:12px;padding:1.1rem 1.2rem 1rem;box-shadow:0 1px 4px #0000000d;break-inside:avoid;margin-bottom:1.25rem;position:relative;transition:box-shadow .18s ease,transform .18s ease;display:flex;flex-direction:column;gap:.45rem}.feed-card:hover{box-shadow:0 6px 20px #0000001a;transform:translateY(-2px)}.feed-card-topic{font-family:var(--font-sans);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-primary, #c17a6a)}.feed-card-quote{font-family:var(--font-serif, Georgia, serif);font-size:.92rem;line-height:1.6;color:var(--text-main);font-style:italic;margin:0}.feed-card-author{font-family:var(--font-sans);font-size:.72rem;color:var(--text-faint)}.feed-card-author-link{text-decoration:none;transition:color .15s}.feed-card-author-link:hover{color:var(--accent-primary, #c17a6a);text-decoration:underline}.feed-card-strength-bar{height:2px;background:#0000000f;border-radius:2px;margin-top:.25rem;overflow:hidden}.feed-card-strength-fill{height:100%;border-radius:2px;transition:width .3s ease}.feed-card-strength-fill.strength-strong{background:#3a7d52}.feed-card-strength-fill.strength-developing{background:#4a6fa5}.feed-card-strength-fill.strength-gap{background:#aaa}.feed-card-clip-btn{display:none;align-items:center;gap:.3rem;position:absolute;bottom:.75rem;right:.9rem;background:var(--accent-primary, #c17a6a);color:#fff;border:none;border-radius:6px;padding:.3rem .65rem;font-size:.72rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;letter-spacing:.03em}.feed-card:hover .feed-card-clip-btn{display:flex}.feed-card-clip-btn:hover{background:#a8634f}.clip-overlay{position:fixed;inset:0;background:#00000059;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9000;display:flex;align-items:center;justify-content:center;padding:1rem}.clip-modal{background:#fdfcf7;border-radius:16px;padding:2rem;max-width:480px;width:100%;position:relative;box-shadow:0 20px 60px #0000002e;animation:clipIn .22s cubic-bezier(.16,1,.3,1) forwards}@keyframes clipIn{0%{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.clip-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;color:var(--text-faint);display:flex;align-items:center}.clip-modal-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.clip-modal-icon{color:var(--accent-primary, #c17a6a)}.clip-modal-label{font-family:var(--font-sans);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-primary, #c17a6a)}.clip-modal-topic{display:block;font-family:var(--font-sans);font-size:.72rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);margin-bottom:.5rem}.clip-modal-quote{font-family:var(--font-serif, Georgia, serif);font-size:1rem;line-height:1.65;font-style:italic;color:var(--text-main);margin:0 0 .5rem;padding:.75rem 1rem;background:#00000008;border-left:3px solid var(--accent-primary, #c17a6a);border-radius:0 8px 8px 0}.clip-modal-attribution{font-family:var(--font-sans);font-size:.75rem;color:var(--text-faint);margin:0 0 1rem}.clip-modal-desc{font-family:var(--font-sans);font-size:.82rem;color:var(--text-muted);line-height:1.55;margin:0 0 1.5rem}.clip-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.clip-modal-cancel{background:none;border:1px solid var(--border-color);border-radius:8px;padding:.6rem 1.1rem;font-family:var(--font-sans);font-size:.85rem;color:var(--text-muted);cursor:pointer}.clip-modal-cancel:hover{background:#00000008}.clip-modal-confirm{background:var(--accent-primary, #c17a6a);color:#fff;border:none;border-radius:8px;padding:.6rem 1.25rem;font-family:var(--font-sans);font-size:.85rem;font-weight:600;cursor:pointer}.clip-modal-confirm:hover{background:#a8634f}.cgraph-wrap{position:relative;width:100%;height:560px;border-radius:16px;overflow:hidden;background:#111009;margin-top:.25rem}@media(max-width:640px){.cgraph-wrap{height:380px}}.cgraph-canvas{display:block;width:100%;height:100%}.cgraph-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;color:#dcc8aaa6;font-family:var(--font-sans, system-ui);font-size:.85rem;text-align:center;padding:2rem}.cgraph-empty-head{font-family:var(--font-serif, Georgia, serif);font-size:1.15rem;color:#dcc8aad1;margin:0}.cgraph-empty-sub{font-family:var(--font-sans, system-ui);font-size:.82rem;color:#c8b49480;max-width:320px;line-height:1.6;margin:0}.cgraph-spinner{width:30px;height:30px;border:2px solid rgba(193,122,106,.22);border-top-color:#c17a6ac7;border-radius:50%;animation:cgraph-spin 1.1s linear infinite}@keyframes cgraph-spin{to{transform:rotate(360deg)}}.cgraph-tooltip{position:absolute;transform:translate(-50%);pointer-events:none;background:#14100aed;border:1px solid rgba(193,122,106,.38);border-radius:9px;padding:.42rem .85rem .48rem;display:flex;flex-direction:column;align-items:center;gap:.1rem;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10}.cgraph-tooltip strong{font-family:var(--font-serif, Georgia, serif);font-size:.88rem;font-weight:500;color:#f8eedef5}.cgraph-tooltip span{font-family:var(--font-sans, system-ui);font-size:.69rem;color:#c17a6ad1}.cgraph-tooltip-cta{font-family:var(--font-sans, system-ui);font-size:.65rem!important;color:#c17a6a80!important;letter-spacing:.04em}.cgraph-hint{position:absolute;bottom:.9rem;left:50%;transform:translate(-50%);font-family:var(--font-sans, system-ui);font-size:.68rem;color:#c8b29447;letter-spacing:.04em;pointer-events:none;white-space:nowrap}.explore-container{max-width:960px;margin:0 auto;padding:3rem 2rem 4rem}.explore-header{margin-bottom:1.5rem}.explore-title{font-family:var(--font-serif, Georgia, serif);font-size:2rem;font-weight:500;color:var(--text-main);margin:0 0 .35rem}.explore-subtitle{font-family:var(--font-sans, system-ui);font-size:.88rem;color:var(--text-muted);margin:0 0 1.25rem;line-height:1.55}.explore-tabs{display:flex;gap:0;border-bottom:1px solid rgba(0,0,0,.08);margin-bottom:0}.explore-tab{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:.6rem 1.1rem;font-family:var(--font-sans);font-size:.85rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s}.explore-tab:hover{color:var(--text-main)}.explore-tab.active{color:var(--text-main);border-bottom-color:var(--accent-primary, #c17a6a);font-weight:600}.explore-search-wrap{position:relative;max-width:480px;display:flex;align-items:center;margin:1.25rem 0 1.5rem}.explore-search-icon{position:absolute;left:1rem;color:var(--text-faint);pointer-events:none}.explore-search{width:100%;padding:.75rem 2.5rem .75rem 2.75rem;border:1px solid rgba(0,0,0,.1);border-radius:10px;background:#fff;font-family:var(--font-sans);font-size:.9rem;color:var(--text-main);outline:none;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 4px #0000000d}.explore-search:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #c17a6a1a}.explore-search::placeholder{color:var(--text-faint)}.explore-search-clear{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;color:var(--text-faint);font-size:.75rem;padding:.25rem;line-height:1}.explore-search-clear:hover{color:var(--text-muted)}.explore-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.explore-book-card{display:flex;flex-direction:column;background:none;border:none;padding:0;cursor:pointer;text-align:left;transition:transform .2s ease}.explore-book-card:hover{transform:translateY(-4px)}.explore-book-card:hover .explore-book-cover{box-shadow:0 14px 32px #00000024}.explore-book-cover{width:100%;aspect-ratio:2 / 3;border-radius:3px 10px 10px 3px;position:relative;overflow:hidden;box-shadow:0 4px 14px #0000001a,-2px 0 6px #00000014;transition:box-shadow .2s ease;display:flex;align-items:stretch}.explore-book-hover-overlay{position:absolute;bottom:0;left:18px;right:0;background:#000000b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:.85rem .9rem .9rem;display:flex;flex-direction:column;gap:.4rem;transform:translateY(100%);transition:transform .22s ease;border-radius:0 0 10px}.explore-book-card:hover .explore-book-hover-overlay{transform:translateY(0)}.explore-book-overlay-pages{font-family:var(--font-sans);font-size:.68rem;color:#fff9}.explore-book-overlay-desc{font-family:var(--font-serif, Georgia, serif);font-size:.75rem;font-style:italic;color:#ffffffd9;line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.explore-book-overlay-topics{display:flex;flex-wrap:wrap;gap:.25rem}.explore-book-overlay-chip{font-family:var(--font-sans);font-size:.6rem;color:#ffffffb3;background:#ffffff1f;border-radius:20px;padding:.1rem .45rem;white-space:nowrap}.explore-book-overlay-cta{font-family:var(--font-sans);font-size:.72rem;font-weight:600;color:#fff;margin-top:.15rem}.explore-book-spine{width:18px;flex-shrink:0;background:#0000001f;border-right:1px solid rgba(0,0,0,.06)}.explore-book-cover-inner{flex:1;padding:1.25rem 1rem;display:flex;flex-direction:column;justify-content:center;gap:.5rem}.explore-book-cover-title{font-family:var(--font-serif, Georgia, serif);font-size:.9rem;font-weight:500;color:#000000bf;line-height:1.3}.explore-book-cover-author{font-family:var(--font-sans);font-size:.65rem;font-weight:600;letter-spacing:.04em;color:#00000073;text-transform:uppercase}.explore-book-meta{padding:.6rem .25rem 0;display:flex;flex-direction:column;gap:.3rem}.explore-book-page-count{font-family:var(--font-sans);font-size:.72rem;color:var(--text-faint)}.explore-book-thesis--snippet{color:var(--text-faint);font-size:.74rem}.explore-book-thesis{font-family:var(--font-serif, Georgia, serif);font-size:.78rem;font-style:italic;color:var(--text-muted);line-height:1.45;margin:.25rem 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.explore-book-topics{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.explore-topic-chip{font-family:var(--font-sans);font-size:.62rem;color:var(--text-muted);background:#0000000a;border:1px solid rgba(0,0,0,.07);border-radius:20px;padding:.15rem .5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}.explore-topic-more{font-family:var(--font-sans);font-size:.62rem;color:var(--text-faint);padding:.15rem 0}.explore-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:12px;overflow:hidden;cursor:pointer;text-align:left;transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 1px 4px #0000000d}.explore-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a}.explore-card-icon-wrap{padding:1.25rem 1.1rem .5rem;display:flex;align-items:center}.explore-card-icon{color:var(--text-faint);opacity:.6}.explore-card-body{padding:1rem 1.1rem .75rem;flex:1;display:flex;flex-direction:column;gap:.35rem}.explore-card-title{font-family:var(--font-serif, Georgia, serif);font-size:1.05rem;font-weight:500;color:var(--text-main);margin:0;line-height:1.3}.explore-card-meta{font-family:var(--font-sans);font-size:.72rem;color:var(--text-faint)}.explore-feynman-text{font-family:var(--font-sans);font-size:.78rem;color:var(--text-muted);line-height:1.5;font-style:italic;margin:.25rem 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.explore-card-thesis{font-family:var(--font-sans);font-size:.78rem;color:var(--text-muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.explore-card-footer{padding:.6rem 1.1rem .8rem;border-top:1px solid rgba(0,0,0,.05)}.explore-card-cta{font-family:var(--font-sans);font-size:.75rem;font-weight:600;color:var(--accent-primary, #c17a6a)}.explore-card-clips{opacity:.75}.explore-empty-state{text-align:center;padding:4rem 0}.explore-empty-headline{font-family:var(--font-serif);font-size:1.3rem;font-weight:500;color:var(--text-main);margin:0 0 .5rem}.explore-empty-sub{font-family:var(--font-sans);font-size:.85rem;color:var(--text-muted);margin:0}.explore-skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.explore-skeleton-card{height:220px;border-radius:12px;background:linear-gradient(90deg,#0000000a 25%,#00000012,#0000000a 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.feed-masonry{columns:2;column-gap:1.25rem;margin-top:.25rem}@media(max-width:600px){.feed-masonry{columns:1}}.feed-loading-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;margin-top:1.25rem}.feed-skeleton-card{height:160px;border-radius:12px;background:linear-gradient(90deg,#0000000a 25%,#00000012,#0000000a 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.landing-container{min-height:100vh;background-color:var(--bg-color);color:var(--text-main);display:flex;flex-direction:column;font-family:var(--font-sans);overflow-x:hidden}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:1.75rem 4rem;max-width:1300px;margin:0 auto;width:100%}.landing-logo{height:44px;width:auto;mix-blend-mode:multiply}.landing-nav-actions{display:flex;align-items:center;gap:.75rem}.nav-login-btn{background:none;border:none;color:var(--text-muted);padding:.55rem 1rem;font-size:.9rem;font-weight:500;cursor:pointer;border-radius:6px;transition:color .15s}.nav-login-btn:hover{color:var(--text-main)}.nav-signup-btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--text-main);color:var(--bg-color);border:none;padding:.55rem 1.1rem;font-size:.9rem;font-weight:500;border-radius:6px;cursor:pointer;transition:opacity .15s}.nav-signup-btn:hover{opacity:.85}.landing-hero{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;max-width:1300px;margin:5rem auto 8rem;padding:0 4rem;width:100%}.hero-eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-primary);margin-bottom:1.25rem;opacity:0;animation:fadeUp .8s ease .1s forwards}.hero-title{font-family:var(--font-serif);font-size:3.4rem;line-height:1.12;font-weight:400;letter-spacing:-.03em;color:var(--text-main);margin-bottom:1.5rem;opacity:0;animation:fadeUp .8s ease .2s forwards}.hero-subtitle{font-size:1.05rem;line-height:1.75;color:var(--text-muted);margin-bottom:2.5rem;max-width:480px;opacity:0;animation:fadeUp .8s ease .3s forwards}.hero-ctas{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;opacity:0;animation:fadeUp .8s ease .4s forwards}.hero-cta-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--text-main);color:var(--bg-color);border:none;padding:.85rem 1.75rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:opacity .15s,transform .15s}.hero-cta-primary:hover{opacity:.85;transform:translateY(-1px)}.hero-cta-primary.large{font-size:1rem;padding:1rem 2rem}.hero-cta-secondary{font-size:.9rem;color:var(--text-muted);text-decoration:none;border-bottom:1px solid var(--border-color, #e0e0e0);padding-bottom:1px;transition:color .15s}.hero-cta-secondary:hover{color:var(--text-main)}.hero-demo{opacity:0;animation:fadeUp .9s ease .35s forwards}.demo-window{background:var(--bg-surface, #fff);border:1px solid var(--border-color, #e8e8e8);border-radius:12px;overflow:hidden;box-shadow:0 20px 60px #00000014,0 4px 16px #0000000a;min-height:260px}.demo-window-bar{display:flex;align-items:center;gap:6px;padding:.75rem 1rem;background:var(--surface-color, #f7f7f5);border-bottom:1px solid var(--border-color, #e8e8e8)}.dwb-dot{width:10px;height:10px;border-radius:50%;background:var(--border-color, #ddd)}.demo-steps-container{position:relative;min-height:230px}.demo-step-panel{position:absolute;inset:0;padding:1.75rem 2rem;opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease;pointer-events:none}.demo-step-panel.active{opacity:1;transform:translateY(0);pointer-events:auto}.demo-frame-input{display:flex;flex-direction:column;gap:1rem}.demo-input-row{display:flex;align-items:center;gap:.5rem;background:var(--surface-color, #f7f7f5);border:1px solid var(--border-color, #e0e0e0);border-radius:6px;padding:.65rem 1rem;font-size:.9rem;color:var(--text-main)}.demo-input-cursor{width:2px;height:1em;background:var(--accent-primary);animation:blink 1s step-end infinite}.demo-gen-btn{align-self:flex-start;background:var(--text-main);color:var(--bg-color);padding:.5rem 1rem;border-radius:6px;font-size:.82rem;font-weight:500}.demo-generating-bar{height:3px;background:var(--border-color, #e0e0e0);border-radius:2px;overflow:hidden}.demo-generating-fill{height:100%;width:0;background:var(--accent-primary);animation:genFill 3.2s ease-in-out infinite}.demo-frame-page{display:flex;flex-direction:column;gap:.75rem}.demo-page-title{font-family:var(--font-serif);font-size:1.1rem;font-weight:500;color:var(--text-main)}.demo-page-lines{display:flex;flex-direction:column;gap:.4rem}.dl{display:block;height:9px;border-radius:4px;background:var(--border-color, #e8e8e8);animation:shimmer 2.4s ease-in-out infinite alternate}.dl-1{width:100%}.dl-2{width:92%;animation-delay:.15s}.dl-3{width:97%;animation-delay:.3s}.dl-4{width:88%;animation-delay:.45s}.dl-5{width:95%;animation-delay:.6s}.dl.short,.dl-6{width:60%;animation-delay:.75s}.demo-page-callout{display:flex;flex-direction:column;gap:.3rem;background:#00000008;border-left:2px solid var(--accent-primary);padding:.5rem .75rem;border-radius:0 4px 4px 0}.dl-c1{width:80%;height:8px;border-radius:4px;background:var(--border-color, #e8e8e8)}.dl-c2{width:50%;height:8px;border-radius:4px;background:var(--border-color, #e8e8e8);margin-top:.3rem}.demo-frame-feynman{display:flex;flex-direction:column;gap:.9rem}.demo-feynman-prompt{font-size:.85rem;font-weight:500;color:var(--text-main)}.demo-feynman-area{background:var(--surface-color, #f7f7f5);border:1px solid var(--border-color, #e0e0e0);border-radius:6px;padding:.75rem 1rem;font-size:.83rem;color:var(--text-muted);min-height:64px}.demo-feynman-gap{display:flex;align-items:center;gap:.5rem;background:#c05a450d;border:1px solid rgba(192,90,69,.18);border-radius:6px;padding:.5rem .75rem}.demo-gap-label{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-primary)}.demo-gap-text{font-size:.8rem;color:var(--text-muted)}.demo-frame-map{display:flex;flex-direction:column;gap:.75rem}.demo-map-title{font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.demo-concept-row{display:grid;grid-template-columns:160px 1fr 36px;align-items:center;gap:.75rem}.demo-concept-name{font-size:.8rem;color:var(--text-main)}.demo-concept-bar{height:6px;border-radius:3px;animation:growBar .8s ease forwards}.demo-concept-pct{font-size:.75rem;color:var(--text-faint);text-align:right}.demo-frame-organize{display:flex;flex-direction:column;gap:.9rem}.demo-book-header{display:flex;gap:.75rem;align-items:flex-start}.demo-book-spine{width:6px;border-radius:3px;background:var(--accent-primary, #c17a6a);align-self:stretch;min-height:52px;flex-shrink:0}.demo-book-info{display:flex;flex-direction:column;gap:.25rem}.demo-book-label{font-size:.6rem;font-weight:700;letter-spacing:.1em;color:var(--accent-primary, #c17a6a);text-transform:uppercase}.demo-book-name{font-size:.88rem;font-weight:600;color:var(--text-main)}.demo-book-thesis{font-size:.75rem;font-style:italic;color:var(--text-muted);line-height:1.4}.demo-book-pages-list{display:flex;flex-direction:column;gap:.4rem}.demo-book-page-row{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:4px;background:#00000006}.demo-page-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.done-dot{background:#5a8f5a}.gap-dot{background:#ccc}.demo-page-row-name{flex:1;font-size:.78rem;color:var(--text-main)}.demo-page-strength{font-size:.72rem;color:var(--text-faint)}.demo-frame-share{display:flex;flex-direction:column;gap:.9rem}.demo-profile-row{display:flex;align-items:center;gap:.65rem;padding-bottom:.6rem;border-bottom:1px solid rgba(0,0,0,.06)}.demo-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary, #c17a6a) 0%,#e8a87c 100%);flex-shrink:0}.demo-profile-text{flex:1;display:flex;flex-direction:column;gap:.25rem}.demo-profile-name-bar{width:80px;height:8px;background:var(--text-main);border-radius:4px;opacity:.7}.demo-profile-sub-bar{width:50px;height:6px;background:var(--text-faint);border-radius:4px;opacity:.5}.demo-public-badge{font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5a8f5a;background:#5a8f5a1a;border:1px solid rgba(90,143,90,.25);border-radius:20px;padding:.15rem .55rem}.demo-shared-books{display:flex;gap:.5rem}.demo-shared-book-card{flex:1;display:flex;flex-direction:column;gap:.3rem;padding:.6rem .6rem .6rem .8rem;background:var(--bg-color, #f7f5f0);border:1px solid rgba(0,0,0,.07);border-radius:6px;position:relative;overflow:hidden}.demo-sbc-binding{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent-primary, #c17a6a);border-radius:2px 0 0 2px}.demo-sbc-title{font-size:.78rem;font-weight:600;color:var(--text-main)}.demo-sbc-meta{font-size:.68rem;color:var(--text-faint)}.demo-feed-snippet{display:flex;align-items:center;gap:.45rem;padding:.35rem .5rem;background:#00000005;border-radius:4px;font-size:.73rem;color:var(--text-muted)}.demo-feed-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-primary, #c17a6a);flex-shrink:0}.demo-feed-line em{font-style:normal;font-weight:600;color:var(--text-main)}.demo-step-indicators{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:1rem}.demo-indicator{display:flex;flex-direction:column;gap:.15rem;background:none;border:1px solid var(--border-color, #e8e8e8);border-radius:6px;padding:.6rem .75rem;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.demo-indicator.active{border-color:var(--text-main);background:var(--surface-color, #f7f7f5)}.di-label{font-size:.78rem;font-weight:600;color:var(--text-main)}.di-desc{font-size:.7rem;color:var(--text-faint);line-height:1.3}.landing-how{background:var(--surface-color, #f7f7f5);padding:6rem 0;border-top:1px solid var(--border-color, #e8e8e8);border-bottom:1px solid var(--border-color, #e8e8e8)}.landing-section-inner{max-width:1100px;margin:0 auto;padding:0 4rem}.landing-section-title{font-family:var(--font-serif);font-size:2.2rem;font-weight:400;letter-spacing:-.025em;color:var(--text-main);margin-bottom:.75rem}.landing-section-sub{font-size:1rem;color:var(--text-muted);margin-bottom:3.5rem;max-width:520px;line-height:1.6}.how-steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:start;gap:1.5rem}.how-steps-4{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr}.how-step-arrow{padding-top:2.5rem;color:var(--text-faint);font-size:1.2rem;align-self:start}.how-step{display:flex;flex-direction:column;gap:.75rem}.how-step-num{font-size:.72rem;font-weight:700;letter-spacing:.1em;color:var(--accent-primary)}.how-step h3{font-family:var(--font-serif);font-size:1.4rem;font-weight:400;color:var(--text-main);margin:0}.how-step p{font-size:.9rem;line-height:1.7;color:var(--text-muted);margin:0}.landing-philosophy{padding:7rem 0}.philosophy-inner{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}.philosophy-label{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-primary);margin-bottom:1rem}.philosophy-title{font-family:var(--font-serif);font-size:2.4rem;font-weight:400;letter-spacing:-.025em;color:var(--text-main);margin-bottom:1.75rem;line-height:1.2}.philosophy-body{font-size:.97rem;line-height:1.8;color:var(--text-muted);margin-bottom:1.25rem}.philosophy-principles{display:flex;flex-direction:column;gap:2rem;padding-top:1rem}.principle{display:flex;gap:1rem;align-items:flex-start}.principle-mark{color:var(--accent-primary);font-size:1.2rem;line-height:1.4;flex-shrink:0}.principle strong{display:block;font-size:.9rem;font-weight:600;color:var(--text-main);margin-bottom:.35rem}.principle p{font-size:.87rem;line-height:1.6;color:var(--text-muted);margin:0}.landing-your-mind{padding:7rem 0;background:var(--surface-color, #f7f7f5);border-top:1px solid var(--border-color, #e8e8e8);border-bottom:1px solid var(--border-color, #e8e8e8)}.your-mind-inner{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}.your-mind-body{font-size:.97rem;line-height:1.8;color:var(--text-muted);margin-bottom:1.1rem}.ym-card{background:var(--bg-surface, #fff);border:1px solid var(--border-color, #e8e8e8);border-radius:12px;padding:1.5rem;box-shadow:0 8px 32px #0000000f;display:flex;flex-direction:column;gap:1rem}.ym-card-label{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.ym-concepts{display:flex;flex-direction:column;gap:.55rem}.ym-concept-row{display:grid;grid-template-columns:1fr 100px 32px;align-items:center;gap:.6rem}.ym-concept-name{font-size:.8rem;color:var(--text-main)}.ym-bar-track{height:5px;background:var(--border-color, #e8e8e8);border-radius:3px;overflow:hidden}.ym-bar-fill{height:100%;border-radius:3px}.ym-bar-fill.strong{background:#5a8f5a}.ym-bar-fill.developing{background:#5a78a0}.ym-bar-fill.gap{background:#bbb}.ym-pct{font-size:.72rem;color:var(--text-faint);text-align:right}.ym-your-words{border-top:1px solid var(--border-color, #e8e8e8);padding-top:1rem;border-left:2px solid var(--accent-primary);padding-left:.75rem}.ym-words-label{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-primary);display:block;margin-bottom:.4rem}.ym-words-text{font-size:.8rem;line-height:1.6;color:var(--text-muted);font-style:italic;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ym-footer{border-top:1px solid var(--border-color, #e8e8e8);padding-top:.75rem}.ym-owned{font-size:.75rem;color:var(--accent-primary);font-weight:500}.landing-community{background:var(--surface-color, #f7f7f5);padding:6rem 0;border-top:1px solid var(--border-color, #e8e8e8);border-bottom:1px solid var(--border-color, #e8e8e8)}.community-books-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.community-book-card{display:flex;gap:1rem;background:var(--bg-surface, #fff);border:1px solid var(--border-color, #e8e8e8);border-radius:10px;padding:1.25rem;transition:box-shadow .15s}.community-book-card:hover{box-shadow:0 4px 20px #00000012}.cbc-icon{width:36px;height:36px;background:var(--surface-color, #f7f7f5);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-faint);flex-shrink:0}.cbc-body{display:flex;flex-direction:column;gap:.3rem}.cbc-title{font-family:var(--font-serif);font-size:1rem;font-weight:400;color:var(--text-main);margin:0;line-height:1.3}.cbc-meta{font-size:.75rem;color:var(--text-faint)}.cbc-snippet{font-size:.82rem;color:var(--text-muted);line-height:1.5;margin-top:.25rem;font-style:italic;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.landing-cta-section{padding:8rem 0}.cta-inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.cta-title{font-family:var(--font-serif);font-size:2.6rem;font-weight:400;letter-spacing:-.03em;color:var(--text-main);max-width:600px;line-height:1.15}.cta-note{font-size:.85rem;color:var(--text-faint);margin:0}.landing-footer{border-top:1px solid var(--border-color, #e8e8e8);padding:2.5rem 0}.landing-footer-inner{max-width:1100px;margin:0 auto;padding:0 4rem;display:flex;align-items:center;gap:2rem}.footer-logo{height:32px;width:auto;mix-blend-mode:multiply;opacity:.6}.footer-tagline{font-size:.85rem;color:var(--text-faint);margin:0;flex:1}.footer-copy{font-size:.8rem;color:var(--text-faint);margin:0}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes genFill{0%{width:0}70%{width:85%}90%{width:95%}to{width:100%}}@keyframes shimmer{0%{opacity:.5}to{opacity:1}}@keyframes growBar{0%{width:0!important}}.typewriter{overflow:hidden;white-space:nowrap;border-right:2px solid var(--accent-primary);animation:typing 1.5s steps(22) forwards,blink .7s step-end infinite}@keyframes typing{0%{width:0}to{width:100%}}@media(max-width:1024px){.landing-nav{padding:1.5rem 2rem}.landing-hero{grid-template-columns:1fr;margin:3rem auto 5rem;padding:0 2rem;gap:3rem}.hero-title{font-size:2.6rem}.how-steps,.how-steps-4{grid-template-columns:1fr;gap:2.5rem}.how-step-arrow{display:none}.philosophy-inner{grid-template-columns:1fr;gap:3rem}.community-books-grid{grid-template-columns:1fr}.landing-section-inner{padding:0 2rem}.demo-step-indicators{grid-template-columns:repeat(2,1fr)}.cta-title{font-size:2rem}.landing-footer-inner{padding:0 2rem;flex-wrap:wrap;gap:.75rem}}@media(max-width:600px){.hero-title{font-size:2rem}.landing-section-title{font-size:1.75rem}.philosophy-title{font-size:1.9rem}.hero-ctas{flex-direction:column;align-items:flex-start}}.upgrade-overlay{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9000;padding:1rem}.upgrade-modal{background:#fff;border-radius:20px;padding:2.5rem;max-width:420px;width:100%;position:relative;box-shadow:0 24px 80px #0000002e}.upgrade-close{position:absolute;top:1.25rem;right:1.25rem;background:none;border:none;font-size:1rem;color:var(--text-muted);cursor:pointer;padding:.25rem .5rem;border-radius:50%;transition:background .15s}.upgrade-close:hover{background:#0000000f}.upgrade-header{text-align:center;margin-bottom:1.5rem}.upgrade-badge{display:inline-block;background:#f0ece4;color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.25rem .75rem;border-radius:100px;margin-bottom:1rem}.upgrade-title{font-size:1.5rem;font-weight:700;color:var(--text-primary, #1a1a1a);margin:0 0 .5rem;font-family:var(--font-serif)}.upgrade-sub{font-size:.9rem;color:var(--text-muted);line-height:1.5;margin:0}.upgrade-features{background:#faf8f5;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem}.upgrade-feature{font-size:.875rem;color:var(--text-primary, #1a1a1a);font-weight:500}.upgrade-plans{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.upgrade-plan-btn{width:100%;border:1.5px solid #e8e4dc;border-radius:12px;padding:1rem 1.25rem;background:#fff;cursor:pointer;display:flex;align-items:center;gap:.75rem;transition:all .2s;position:relative}.upgrade-plan-btn:hover:not(:disabled){border-color:var(--accent-primary);background:var(--accent-light, #fff6f2)}.upgrade-plan-btn:disabled{opacity:.6;cursor:not-allowed}.upgrade-plan-btn--primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.upgrade-plan-btn--primary:hover:not(:disabled){background:#c05020;border-color:#c05020;color:#fff}.plan-price{font-size:1.5rem;font-weight:700;font-family:var(--font-serif)}.plan-period{font-size:.875rem;font-weight:500;opacity:.7}.plan-label{font-size:.85rem;font-weight:500;flex:1;text-align:left}.plan-save{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:#ffffff40;padding:.2rem .5rem;border-radius:100px}.upgrade-footer{text-align:center;font-size:.78rem;color:var(--text-muted);margin:0}#root{width:100vw;height:100vh;overflow:hidden;display:flex;flex-direction:column}.app-container{flex:1;display:flex;position:relative;overflow:hidden}.app-container.home-screen{overflow-y:auto}.sign-in-container{width:100vw;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:var(--bg-primary);font-family:var(--font-sans)}.sign-in-branding{text-align:center;margin-bottom:2rem}.sign-in-branding h1{font-size:2.5rem;color:var(--accent-primary);margin-bottom:.5rem;font-family:var(--font-serif)}.sign-in-branding p{color:var(--text-muted);font-size:1.1rem}.user-nav{position:absolute;top:1.5rem;right:2.5rem;z-index:2000;display:flex;align-items:center;gap:1rem}.library-button{background:transparent;border:1px solid var(--border-color);color:var(--text-color);padding:.5rem 1rem;border-radius:8px;font-family:var(--font-sans);font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease}.library-button:hover{background:var(--surface-color);border-color:#d0d0d0;box-shadow:0 2px 4px #0000000d}.profile-menu-trigger{display:inline-flex;align-items:center;gap:.45rem;background:transparent;border:1px solid var(--border-color);border-radius:8px;padding:.3rem .65rem .3rem .35rem;cursor:pointer;font-family:var(--font-sans);font-size:.85rem;font-weight:500;color:var(--text-color);transition:background .15s,border-color .15s}.profile-menu-trigger:hover{background:var(--surface-color);border-color:#d0d0d0}.profile-menu-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover;flex-shrink:0}.profile-menu-avatar--initials{background:var(--accent-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700}.profile-menu-label{white-space:nowrap}.profile-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;background:var(--bg-surface, #fff);border:1px solid var(--border-color, rgba(0,0,0,.1));border-radius:10px;box-shadow:0 8px 28px #0000001f;z-index:3000;overflow:hidden;animation:menuFadeIn .12s ease}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.profile-menu-user{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.15rem}.profile-menu-name{font-family:var(--font-sans);font-size:.85rem;font-weight:600;color:var(--text-main, #1a1a1a)}.profile-menu-handle{font-family:var(--font-mono, monospace);font-size:.72rem;color:var(--text-faint, #999)}.profile-menu-divider{height:1px;background:var(--border-color, rgba(0,0,0,.07));margin:0}.profile-menu-item{display:block;width:100%;padding:.6rem 1rem;background:none;border:none;text-align:left;font-family:var(--font-sans);font-size:.83rem;color:var(--text-main, #1a1a1a);cursor:pointer;transition:background .12s}.profile-menu-item:hover{background:#0000000a}.profile-menu-item--danger{color:#c0392b}.profile-menu-item--danger:hover{background:#c0392b0f}.concise-toggle{border-color:var(--border-color);color:var(--text-muted)}.concise-toggle.concise-active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.concise-toggle.concise-active:hover{background:var(--accent-primary);filter:brightness(1.1)}.error-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:9999;background:var(--accent-primary);color:#fff;padding:.75rem 1.5rem;border-radius:10px;font-family:var(--font-sans);font-size:.9rem;font-weight:500;box-shadow:0 8px 24px #0003;cursor:pointer;animation:fadeUp .3s cubic-bezier(.16,1,.3,1) forwards;max-width:90vw;text-align:center}.tour-overlay{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .25s ease}.tour-modal{background:var(--bg-surface, #fff);border:1px solid var(--border-color, #e8e8e8);border-radius:14px;padding:2.5rem 2.5rem 2rem;max-width:440px;width:calc(100% - 3rem);position:relative;box-shadow:0 24px 80px #0000002e;animation:scaleIn .3s cubic-bezier(.16,1,.3,1)}.tour-dismiss{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-faint);font-size:.85rem;cursor:pointer;padding:.25rem .4rem;border-radius:4px;line-height:1;transition:color .15s}.tour-dismiss:hover{color:var(--text-main)}.tour-step-dots{display:flex;gap:.4rem;margin-bottom:1.5rem}.tour-dot{width:6px;height:6px;border-radius:50%;background:var(--border-color, #e0e0e0);transition:background .2s}.tour-dot.active{background:var(--text-main)}.tour-dot.done{background:var(--accent-primary)}.tour-title{font-family:var(--font-serif);font-size:1.45rem;font-weight:400;color:var(--text-main);margin-bottom:.85rem;line-height:1.2}.tour-body{font-size:.9rem;line-height:1.75;color:var(--text-muted);margin-bottom:2rem}.tour-cta{background:var(--text-main);color:var(--bg-color);border:none;padding:.7rem 1.5rem;border-radius:7px;font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .15s}.tour-cta:hover{opacity:.85}@keyframes scaleIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.book-nudge-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem .7rem 1.1rem;margin:0 auto 1rem;max-width:700px;background:#00000005;border:1px solid rgba(0,0,0,.07);border-left:3px solid rgba(0,0,0,.18);border-radius:6px}.book-nudge-left{display:flex;align-items:center;gap:0}.book-nudge-headline{font-family:var(--font-sans);font-size:.85rem;font-weight:600;color:var(--text-main);margin:0 0 .15rem}.book-nudge-sub{font-family:var(--font-sans);font-size:.75rem;color:var(--text-muted);margin:0}.book-nudge-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.book-nudge-btn{padding:.35rem .85rem;background:var(--accent-primary);color:#fff;border:none;border-radius:20px;font-family:var(--font-sans);font-size:.78rem;font-weight:600;cursor:pointer;transition:opacity .15s}.book-nudge-btn:hover{opacity:.85}.book-nudge-dismiss{background:none;border:none;color:var(--text-faint);font-size:.9rem;cursor:pointer;padding:.2rem .4rem}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--accent-primary, #c17a6a);color:#fff;border-radius:9px;font-size:.65rem;font-weight:700;margin-left:4px;line-height:1}.public-library-wrapper{width:100vw;min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-color)}.public-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:.75rem 2rem;background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);z-index:10;gap:1rem}.public-header-left{display:flex;align-items:center;gap:1.25rem;min-width:0;flex:1}.plv-back-btn{display:inline-flex;align-items:center;gap:.35rem;background:none;border:1px solid var(--border-color);border-radius:6px;padding:.4rem .75rem;font-family:var(--font-sans);font-size:.82rem;color:var(--text-muted);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:color .15s,border-color .15s}.plv-back-btn:hover{color:var(--text-main);border-color:var(--text-muted)}.plv-back-link{display:inline-block;margin-top:1rem;background:none;border:none;font-family:var(--font-sans);font-size:.9rem;color:var(--accent-primary);cursor:pointer;text-decoration:underline}.public-header-book-info{min-width:0}.public-title{margin:0 0 .15rem;font-size:1rem;font-family:var(--font-sans);font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plv-author-line{margin:0 0 .1rem;font-family:var(--font-sans);font-size:.78rem;color:var(--text-faint)}.plv-author-link{color:var(--accent-primary);text-decoration:none}.plv-author-link:hover{text-decoration:underline}.public-book-thesis{margin:0;font-family:var(--font-serif, Georgia, serif);font-size:.8rem;font-style:italic;color:var(--text-muted);max-width:480px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-header-nav{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.plv-toc-btn{display:inline-flex;align-items:center;gap:.4rem;background:none;border:1px solid var(--border-color);border-radius:6px;padding:.4rem .75rem;font-family:var(--font-sans);font-size:.82rem;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s;margin-right:.5rem}.plv-toc-btn:hover{color:var(--text-main);border-color:var(--text-muted)}.plv-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:none;border:1px solid var(--border-color);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s}.plv-nav-btn:hover:not(:disabled){color:var(--text-main);border-color:var(--text-muted)}.plv-nav-btn:disabled{opacity:.3;cursor:not-allowed}.plv-clip-btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--accent-primary, #c17a6a);border:none;border-radius:6px;padding:.4rem .9rem;font-family:var(--font-sans);font-size:.82rem;font-weight:600;color:#fff;cursor:pointer;margin-left:.5rem;transition:opacity .15s;white-space:nowrap}.plv-clip-btn:hover{opacity:.88}.plv-toc-panel{background:var(--bg-surface);border-bottom:1px solid var(--border-color);padding:.75rem 2rem 1rem;display:flex;flex-direction:column;gap:.1rem;z-index:9;box-shadow:0 4px 12px #0000000f}.plv-toc-label{font-family:var(--font-sans);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin:0 0 .5rem}.plv-toc-item{display:flex;align-items:center;gap:.75rem;background:none;border:none;padding:.45rem .5rem;border-radius:6px;cursor:pointer;text-align:left;transition:background .12s;width:100%;max-width:600px}.plv-toc-item:hover{background:#0000000a}.plv-toc-item.active{background:#0000000d}.plv-toc-num{font-family:var(--font-mono, monospace);font-size:.72rem;color:var(--text-faint);width:18px;flex-shrink:0;text-align:right}.plv-toc-topic{font-family:var(--font-sans);font-size:.88rem;color:var(--text-main);flex:1}.plv-toc-item.active .plv-toc-topic{font-weight:600;color:var(--accent-primary)}.plv-toc-badge{font-size:.65rem;color:var(--accent-primary);opacity:.7}.public-content{flex:1;position:relative;overflow:hidden}.public-messaging{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;width:400px;margin:15vh auto;text-align:center;border-radius:var(--radius-md);padding:2.5rem}.public-messaging h2{color:var(--text-main);margin-bottom:.5rem}.public-messaging p{color:var(--text-muted)}.error-panel h2{color:var(--accent-primary)}.plv-hint{font-family:var(--font-sans);font-size:.75rem;color:var(--text-faint);margin-left:.5rem;font-style:italic}.plv-sel-popover{position:fixed;z-index:1000;display:flex;align-items:center;gap:.4rem;background:var(--text-main, #1a1a1a);color:#fff;border-radius:8px;padding:.45rem .85rem;box-shadow:0 4px 16px #00000038;pointer-events:all;animation:popoverIn .12s ease}@keyframes popoverIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.plv-sel-popover svg{color:var(--accent-primary, #c17a6a);flex-shrink:0}.plv-sel-btn{background:none;border:none;color:#fff;font-family:var(--font-sans);font-size:.82rem;font-weight:600;cursor:pointer;padding:0;white-space:nowrap}.plv-sel-btn:hover{color:var(--accent-primary, #c17a6a)}.plv-gen-panel{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(680px,96vw);background:var(--bg-surface, #fff);border:1px solid var(--border-color, rgba(0,0,0,.1));border-bottom:none;border-radius:16px 16px 0 0;box-shadow:0 -8px 40px #0000001f;z-index:200;display:flex;flex-direction:column;animation:panelUp .25s cubic-bezier(.16,1,.3,1);max-height:70vh}@keyframes panelUp{0%{transform:translate(-50%) translateY(100%)}to{transform:translate(-50%) translateY(0)}}.plv-gen-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem .75rem 1.25rem;border-bottom:1px solid var(--border-color, rgba(0,0,0,.08));flex-shrink:0;gap:.75rem;flex-wrap:wrap}.plv-gen-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.plv-gen-panel-title{display:flex;align-items:center;gap:.5rem;font-family:var(--font-sans);font-size:.9rem;font-weight:600;color:var(--text-main)}.plv-gen-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-primary, #c17a6a);animation:pulse 1.2s infinite ease-in-out;flex-shrink:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.plv-gen-close{background:none;border:none;cursor:pointer;color:var(--text-faint);padding:.2rem;display:flex;align-items:center}.plv-gen-close:hover{color:var(--text-main)}.plv-gen-anchor{padding:.75rem 1.25rem;border-bottom:1px solid var(--border-color, rgba(0,0,0,.06));flex-shrink:0}.plv-gen-anchor-label{font-family:var(--font-sans);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);display:block;margin-bottom:.3rem}.plv-gen-anchor-text{font-family:var(--font-serif, Georgia, serif);font-size:.85rem;font-style:italic;color:var(--text-muted);margin:0;line-height:1.5}.plv-gen-preview{flex:1;overflow-y:auto;padding:1rem 1.25rem;font-family:var(--font-sans);font-size:.83rem;color:var(--text-muted);line-height:1.65}.plv-gen-preview h1,.plv-gen-preview h2,.plv-gen-preview h3{font-family:var(--font-serif, Georgia, serif);color:var(--text-main);margin:.75rem 0 .35rem;line-height:1.3;font-weight:600}.plv-gen-preview h1{font-size:1rem}.plv-gen-preview h2{font-size:.92rem}.plv-gen-preview h3{font-size:.85rem}.plv-gen-preview p{margin:0 0 .5rem}.plv-gen-preview strong{color:var(--text-main)}.plv-gen-preview img{display:none}.plv-gen-preview ul,.plv-gen-preview ol{padding-left:1.4rem;margin:0 0 .5rem}.plv-gen-preview li{margin-bottom:.2rem}.plv-gen-view-btn{background:var(--accent-primary, #c17a6a);color:#fff;border:none;border-radius:7px;padding:.38rem .85rem;font-family:var(--font-sans);font-size:.8rem;font-weight:600;cursor:pointer;text-decoration:none;transition:opacity .15s;white-space:nowrap}.plv-gen-view-btn:hover{opacity:.88}.plv-gen-open-btn{display:inline-flex;align-items:center;gap:.3rem;background:none;border:1px solid var(--border-color, rgba(0,0,0,.12));border-radius:7px;padding:.38rem .75rem;font-family:var(--font-sans);font-size:.8rem;font-weight:500;color:var(--text-main);text-decoration:none;transition:border-color .15s,color .15s;white-space:nowrap}.plv-gen-open-btn:hover{border-color:var(--text-muted);color:var(--accent-primary)}.plv-gen-dismiss{background:none;border:none;font-family:var(--font-sans);font-size:.8rem;color:var(--text-muted);cursor:pointer;white-space:nowrap}.plv-gen-dismiss:hover{color:var(--text-main)}:root{--pp-orange: #C05A45;--pp-orange-dark: #8f3d2c;--pp-orange-soft: rgba(192, 90, 69, .09)}.pp-container{min-height:100vh;background:var(--bg-color, #faf9f7);display:flex;flex-direction:column}.pp-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-color, #faf9f7)}.pp-spinner{width:30px;height:30px;border:2px solid rgba(0,0,0,.08);border-top-color:var(--pp-orange);border-radius:50%;animation:pp-spin .75s linear infinite}@keyframes pp-spin{to{transform:rotate(360deg)}}.pp-error{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-color, #faf9f7)}.pp-error-card{text-align:center;background:var(--bg-surface, #fff);padding:3rem;border-radius:16px;border:1px solid rgba(0,0,0,.07);max-width:380px}.pp-error-icon{color:var(--text-faint);margin-bottom:1rem}.pp-error-card h2{font-family:var(--font-serif, Georgia, serif);font-size:1.3rem;font-weight:500;margin:0 0 .5rem;color:var(--text-main)}.pp-error-card p{font-family:var(--font-sans);font-size:.85rem;color:var(--text-muted);margin:0 0 1.5rem}.pp-home-link{display:inline-block;padding:.55rem 1.2rem;background:var(--pp-orange);color:#fff;border-radius:8px;text-decoration:none;font-family:var(--font-sans);font-size:.82rem;font-weight:600;transition:opacity .15s}.pp-home-link:hover{opacity:.88}.pp-header{background:linear-gradient(130deg,var(--pp-orange-dark) 0%,var(--pp-orange) 55%,#d4785f 100%);padding:0;position:relative;overflow:hidden}.pp-header:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 50%,rgba(255,255,255,.08) 0%,transparent 70%);pointer-events:none}.pp-header-nav{padding:1.1rem 1.75rem 0;position:relative;z-index:1}.pp-back-btn{display:inline-flex;align-items:center;gap:.3rem;color:#ffffffd1;font-family:var(--font-sans);font-size:.78rem;font-weight:500;text-decoration:none;background:#00000029;border-radius:6px;padding:.28rem .65rem;transition:background .15s}.pp-back-btn:hover{background:#00000042;color:#fff}.pp-header-body{max-width:900px;margin:0 auto;padding:1.75rem 2rem 2.25rem;display:flex;align-items:center;gap:1.75rem;position:relative;z-index:1}.pp-avatar{width:96px;height:96px;border-radius:50%;border:3px solid rgba(255,255,255,.55);background:#fff3;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 20px #00000038}.pp-avatar img{width:100%;height:100%;object-fit:cover}.pp-avatar-fallback{color:#fffc}.pp-header-info{min-width:0}.pp-name{font-family:var(--font-serif, Georgia, serif);font-size:2rem;font-weight:500;color:#fff;margin:0 0 .2rem;line-height:1.15;text-shadow:0 1px 4px rgba(0,0,0,.15)}.pp-handle{font-family:var(--font-mono, monospace);font-size:.82rem;color:#ffffffb8;margin:0 0 .75rem}.pp-stats-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.pp-stat{font-family:var(--font-sans);font-size:.8rem;color:#ffffffd9;display:inline-flex;align-items:center;gap:.25rem}.pp-stat strong{color:#fff;font-weight:700}.pp-stat--verified{background:#ffffff2e;border-radius:20px;padding:.15rem .55rem;font-weight:500}.pp-stat-sep{color:#fff6;font-size:.7rem}.pp-featured{max-width:900px;width:100%;margin:2rem auto 0;padding:0 2rem}.pp-featured-label{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-sans);font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--pp-orange);margin-bottom:.65rem}.pp-featured-quote{font-family:var(--font-serif, Georgia, serif);font-size:1rem;font-style:italic;color:var(--text-main);line-height:1.65;margin:0 0 .65rem;padding:1.1rem 1.4rem;background:var(--pp-orange-soft);border-left:3px solid var(--pp-orange);border-radius:0 10px 10px 0}.pp-featured-source{font-family:var(--font-sans);font-size:.78rem;color:var(--text-faint);text-decoration:none;transition:color .15s}.pp-featured-source:hover{color:var(--pp-orange)}.pp-library{max-width:900px;width:100%;margin:0 auto;padding:2rem 2rem 4rem;flex:1}.pp-shelf-header{display:flex;align-items:center;gap:.65rem;margin-bottom:1.5rem;padding-bottom:.85rem;border-bottom:1px solid rgba(0,0,0,.07)}.pp-shelf-title{font-family:var(--font-sans);font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint)}.pp-shelf-count{background:#0000000f;color:var(--text-muted);font-family:var(--font-sans);font-size:.68rem;font-weight:600;border-radius:20px;padding:.1rem .45rem}.pp-empty{padding:4rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.pp-empty-icon{width:56px;height:56px;border-radius:14px;background:var(--pp-orange-soft);display:flex;align-items:center;justify-content:center;color:var(--pp-orange);margin-bottom:.25rem}.pp-empty h3{font-family:var(--font-serif, Georgia, serif);font-size:1.15rem;font-weight:500;color:var(--text-main);margin:0}.pp-empty p{font-family:var(--font-sans);font-size:.83rem;color:var(--text-faint);margin:0;max-width:320px;line-height:1.55}.pp-empty-cta{display:inline-block;margin-top:.5rem;padding:.5rem 1.1rem;background:var(--pp-orange);color:#fff;border-radius:8px;font-family:var(--font-sans);font-size:.82rem;font-weight:600;text-decoration:none;transition:opacity .15s}.pp-empty-cta:hover{opacity:.88}.pp-books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:1.75rem 1.5rem}.pp-book-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .2s ease}.pp-book-card:hover{transform:translateY(-5px)}.pp-book-card:hover .pp-cover{box-shadow:0 16px 36px #0000002e}.pp-book-card:hover .pp-cover-overlay{transform:translateY(0)}.pp-cover{width:100%;aspect-ratio:2 / 3;border-radius:3px 10px 10px 3px;display:flex;align-items:stretch;overflow:hidden;box-shadow:-3px 3px 10px #0000001a,0 4px 14px #0000001f;transition:box-shadow .2s ease;position:relative}.pp-cover-spine{width:18px;flex-shrink:0;background:#00000024;border-right:1px solid rgba(0,0,0,.06)}.pp-cover-body{flex:1;padding:1rem .85rem;display:flex;flex-direction:column;justify-content:center;gap:.6rem}.pp-cover-title{font-family:var(--font-serif, Georgia, serif);font-size:.85rem;font-weight:500;color:#000000c7;line-height:1.3}.pp-cover-badge{display:inline-flex;align-items:center;gap:.25rem;background:#ffffff73;border-radius:20px;padding:.15rem .45rem;font-family:var(--font-sans);font-size:.58rem;font-weight:700;color:#0009;letter-spacing:.03em;width:fit-content}.pp-cover-overlay{position:absolute;bottom:0;left:18px;right:0;background:#000000bd;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:.85rem .9rem .9rem;display:flex;flex-direction:column;gap:.4rem;transform:translateY(100%);transition:transform .22s ease;border-radius:0 0 10px}.pp-overlay-quote{font-family:var(--font-serif, Georgia, serif);font-size:.7rem;font-style:italic;color:#ffffffe0;line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.pp-overlay-topics{display:flex;flex-wrap:wrap;gap:.25rem}.pp-overlay-chip{font-family:var(--font-sans);font-size:.58rem;color:#ffffffb3;background:#ffffff1f;border-radius:20px;padding:.1rem .4rem;white-space:nowrap}.pp-overlay-cta{font-family:var(--font-sans);font-size:.7rem;font-weight:600;color:#fff;margin-top:.1rem}.pp-book-meta{padding:.55rem .2rem 0}.pp-book-name{font-family:var(--font-sans);font-size:.82rem;font-weight:600;color:var(--text-main);margin:0 0 .15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-book-sub{font-family:var(--font-sans);font-size:.72rem;color:var(--text-faint);margin:0}.pp-verified-tag{color:var(--pp-orange);font-weight:500}.pp-footer{padding:1.5rem 2rem;text-align:center;border-top:1px solid rgba(0,0,0,.05);margin-top:auto}.pp-footer-link{font-family:var(--font-sans);font-size:.72rem;color:var(--text-faint);text-decoration:none;transition:color .15s}.pp-footer-link:hover{color:var(--pp-orange)}
