@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Variable;font-style:italic;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-italic-DUE6_iCb.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:italic;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-italic-Cz4n9dED.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-italic-BicUS2cM.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-italic-BfTTTDIL.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-italic-Py8at3oI.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Delius Swash Caps;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/delius-swash-caps-latin-400-normal-BMme4KBi.woff2)format("woff2"),url(/assets/delius-swash-caps-latin-400-normal-C1_s7SRG.woff)format("woff")}*{box-sizing:border-box;margin:0;padding:0}:root{--font-display:"Fraunces Variable", Georgia, "Times New Roman", serif;--font-body:"DM Sans Variable", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono Variable", "SF Mono", Monaco, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--radius-full:9999px;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.65;--duration-instant:.1s;--duration-fast:.18s;--duration-normal:.28s;--duration-slow:.4s;--duration-slower:.6s;--ease-default:cubic-bezier(.4, 0, .2, 1);--ease-in:cubic-bezier(.55, 0, 1, .45);--ease-out:cubic-bezier(0, .55, .45, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ease-smooth:cubic-bezier(.25, .1, .25, 1);--ease-elastic:cubic-bezier(.68, -.55, .265, 1.55);--z-base:0;--z-dropdown:100;--z-sticky:500;--z-header:1000;--z-overlay:1500;--z-modal:2000;--z-lightbox:3000;--z-tooltip:4000;--bg-primary:#faf7f2;--bg-secondary:#fffcf7;--bg-tertiary:#f5f1ea;--bg-elevated:#fff;--bg-overlay:#2c241666;--bg-paper:#fdf9f3;--bg-canvas:#f0ebe3;--text-primary:#2c2416;--text-secondary:#5c4a32;--text-tertiary:#7d6b52;--text-muted:#74644f;--text-inverse:#fffcf7;--border-color:#5c4a323d;--border-color-strong:#9b8a73;--border-focus:#c4785d;--accent-color:#c4785d;--accent-hover:#b0684d;--accent-active:#9c5840;--accent-text:#8a4a34;--accent-button-bg:#9c5840;--accent-button-text:#fff;--accent-light:#c4785d1f;--accent-lighter:#c4785d0f;--accent-secondary:#e8a844;--accent-secondary-light:#e8a84426;--success-color:#5f7d58;--success-light:#7d9b7626;--warning-color:#a87b22;--warning-light:#d4a84b26;--error-color:#9f3f3f;--error-light:#c17b7b26;--info-color:#4f7591;--info-light:#7b9bb526;--shadow-xs:0 1px 2px #2c24160f;--shadow-sm:0 2px 4px #2c241614, 0 1px 2px #2c24160a;--shadow-md:0 4px 8px #2c241614, 0 2px 4px #2c24160a;--shadow-lg:0 8px 16px #2c24161a, 0 4px 8px #2c24160f;--shadow-xl:0 16px 32px #2c24161f, 0 8px 16px #2c241614;--shadow-2xl:0 24px 48px #2c241629, 0 12px 24px #2c24161a;--shadow-focus:0 0 0 3px #c4785d4d;--shadow-paper:0 1px 3px #2c24161a, 0 0 0 1px #2c24160d;--shadow-lifted:0 12px 24px #2c241626, 0 4px 8px #2c24161a;--hover-overlay:#2c24160a;--active-overlay:#2c241614;--selected-overlay:#c4785d1a;--header-bg:#e8dfd0;--header-text:#2c2416;--note-white:#fffcf7;--note-red:#f2d4cf;--note-orange:#f5dfc4;--note-yellow:#f7ebc4;--note-green:#d4e8d0;--note-teal:#c9e5e0;--note-cyan:#c9dfe8;--note-blue:#d0dbe8;--note-purple:#e0d4e8;--note-pink:#f0d4e0;--note-brown:#e0d4c4;--note-gray:#e5e0d8}body.dark-mode{--bg-primary:#1a1814;--bg-secondary:#242019;--bg-tertiary:#2e2a22;--bg-elevated:#302b23;--bg-overlay:#0009;--bg-paper:#282420;--bg-canvas:#1e1b17;--text-primary:#f5f1ea;--text-secondary:#c9c0b0;--text-tertiary:#9e9484;--text-muted:#9c8f7e;--text-inverse:#1a1814;--border-color:#f5f1ea1a;--border-color-strong:#f5f1ea33;--border-focus:#d4906e;--accent-color:#d4906e;--accent-hover:#e0a080;--accent-active:#ebb090;--accent-text:#e8a87c;--accent-button-bg:#a85c3f;--accent-button-text:#fff;--accent-light:#d4906e26;--accent-lighter:#d4906e14;--accent-secondary:#f0b850;--accent-secondary-light:#f0b8502e;--success-color:#8fb085;--success-light:#8fb0852e;--warning-color:#e0b860;--warning-light:#e0b8602e;--error-color:#d09090;--error-light:#d090902e;--info-color:#90b0c8;--info-light:#90b0c82e;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 2px 4px #00000040, 0 1px 2px #0003;--shadow-md:0 4px 8px #0000004d, 0 2px 4px #0003;--shadow-lg:0 8px 16px #00000059, 0 4px 8px #00000040;--shadow-xl:0 16px 32px #0006, 0 8px 16px #0000004d;--shadow-2xl:0 24px 48px #00000080;--shadow-focus:0 0 0 3px #d4906e66;--shadow-paper:0 1px 3px #0000004d, 0 0 0 1px #ffffff0d;--shadow-lifted:0 12px 24px #0006, 0 4px 8px #0000004d;--hover-overlay:#ffffff0a;--active-overlay:#ffffff14;--selected-overlay:#d4906e1f;--header-bg:#2e2a22;--header-text:#f5f1ea;--note-white:#2a2620;--note-red:#3d2a28;--note-orange:#3d3020;--note-yellow:#3d3820;--note-green:#283d28;--note-teal:#203838;--note-cyan:#203038;--note-blue:#202838;--note-purple:#302838;--note-pink:#382030;--note-brown:#302820;--note-gray:#303028}body.oled-mode{--bg-primary:#000;--bg-secondary:#0a0908;--bg-tertiary:#141210;--bg-elevated:#1a1816;--bg-overlay:#000c;--bg-paper:#0f0e0c;--bg-canvas:#050504;--text-primary:#f5f1ea;--text-secondary:#b8afa0;--text-tertiary:#8a8070;--text-muted:#897d6e;--text-inverse:#000;--accent-text:#e8a87c;--accent-button-bg:#a85c3f;--accent-button-text:#fff;--border-color:#f5f1ea14;--border-color-strong:#f5f1ea26;--border-focus:#d4906e;--header-bg:#0a0908;--header-text:#f5f1ea;--note-white:#141210;--note-red:#2a1a18;--note-orange:#2a2010;--note-yellow:#2a2810;--note-green:#182a18;--note-teal:#102828;--note-cyan:#102028;--note-blue:#101828;--note-purple:#201828;--note-pink:#281020;--note-brown:#201810;--note-gray:#202018}body.eink-mode{--bg-primary:#fff;--bg-secondary:#f8f8f8;--bg-tertiary:#f0f0f0;--bg-elevated:#fff;--bg-overlay:#0000004d;--bg-paper:#fff;--bg-canvas:#f5f5f5;--text-primary:#000;--text-secondary:#333;--text-tertiary:#555;--text-muted:#6b6b6b;--text-inverse:#fff;--border-color:#000;--border-color-strong:#000;--border-focus:#000;--accent-color:#000;--accent-hover:#333;--accent-active:#000;--accent-text:#000;--accent-button-bg:#000;--accent-button-text:#fff;--accent-light:#e8e8e8;--accent-lighter:#f0f0f0;--success-color:#000;--success-light:#e8e8e8;--warning-color:#555;--warning-light:#e8e8e8;--error-color:#000;--error-light:#e8e8e8;--info-color:#000;--info-light:#e8e8e8;--shadow-xs:none;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--shadow-xl:none;--shadow-2xl:none;--shadow-focus:none;--shadow-paper:none;--shadow-lifted:none;--hover-overlay:#e0e0e0;--active-overlay:#ccc;--selected-overlay:#d8d8d8;--header-bg:#fff;--header-text:#000;--note-white:#fff;--note-red:#e8e8e8;--note-orange:#e0e0e0;--note-yellow:#f0f0f0;--note-green:#e8e8e8;--note-teal:#e4e4e4;--note-cyan:#e0e0e0;--note-blue:#e0e0e0;--note-purple:#e4e4e4;--note-pink:#e8e8e8;--note-brown:#d8d8d8;--note-gray:#d0d0d0}body.eink-mode,body.eink-mode *,body.eink-mode :before,body.eink-mode :after{transition:none!important;animation:none!important}html{height:100%!important;overflow:hidden!important}body{font-family:var(--font-body);font-size:var(--font-size-base);font-weight:var(--font-normal);line-height:var(--leading-normal);letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--duration-slow) var(--ease-smooth), color var(--duration-normal) var(--ease-smooth);height:100%!important;overflow:hidden!important}#root{height:100%!important;overflow:hidden!important}h1,h2,h3,.heading{font-family:var(--font-display);font-weight:var(--font-medium);letter-spacing:0;line-height:var(--leading-tight)}code,pre,.mono{font-family:var(--font-mono)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus{outline:none}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;box-shadow:var(--shadow-focus)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.font-light{font-weight:var(--font-light)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.font-display{font-family:var(--font-display)}.font-body{font-family:var(--font-body)}::selection{background:var(--accent-light);color:var(--text-primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full);background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary);background-clip:padding-box;border:3px solid #0000}*{scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent}body.eink-mode ::-webkit-scrollbar-thumb{background:#666;border:2px solid #fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes gentlePulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes paperGrain{0%,to{transform:translate(0)}10%{transform:translate(-1%,-1%)}20%{transform:translate(1%,1%)}30%{transform:translate(-1%,1%)}40%{transform:translate(1%,-1%)}50%{transform:translate(-1%)}60%{transform:translate(1%)}70%{transform:translateY(1%)}80%{transform:translateY(-1%)}90%{transform:translate(1%,1%)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.paper-texture{position:relative}.paper-texture:before{content:"";opacity:.03;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:absolute;inset:0}html,body{height:100%;margin:0;padding:0;overflow:hidden}.skip-link{top:var(--space-4);left:var(--space-4);z-index:var(--z-tooltip);padding:var(--space-2) var(--space-4);background:var(--accent-button-bg);color:var(--accent-button-text);border-radius:var(--radius-md);font-weight:var(--font-semibold);transition:transform var(--duration-fast) var(--ease-default);text-decoration:none;position:fixed;transform:translateY(-300%)}.skip-link:focus{outline:2px solid var(--border-focus);outline-offset:2px;transform:translateY(0)}body{font-family:var(--font-body);background:var(--bg-canvas);color:var(--text-primary);transition:background var(--duration-slow) var(--ease-smooth), color var(--duration-normal) var(--ease-smooth)}body:before{content:"";opacity:.025;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:fixed;inset:0}body.dark-mode:before,body.oled-mode:before{opacity:.015}body.eink-mode:before{display:none}#root{z-index:1;height:100%;position:relative;overflow:hidden}.App{background:0 0;flex-direction:column;display:flex;height:100vh!important;overflow:hidden!important}.App-header{background:var(--header-bg);color:var(--header-text);padding:var(--space-4) var(--space-6);box-shadow:var(--shadow-sm);z-index:var(--z-header);border-bottom:1px solid var(--border-color);transition:all var(--duration-slow) var(--ease-smooth);animation:headerSlideDown .4s var(--ease-out) both;flex-shrink:0;position:relative}@keyframes headerSlideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.App-header:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--accent-color) 20%, var(--accent-secondary) 50%, var(--accent-color) 80%, transparent 100%);opacity:.6;height:3px;position:absolute;bottom:0;left:0;right:0}.oled-mode .App-header{border-bottom-color:var(--border-color)}.oled-mode .App-header:after{opacity:.4}.eink-mode .App-header{box-shadow:none;border-bottom:2px solid #000}.eink-mode .App-header:after{display:none}.header-content{width:100%;max-width:100%;padding:0 var(--space-4);align-items:center;gap:var(--space-8);grid-template-columns:auto 1fr auto;margin:0 auto;display:grid}.App-header h1{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-medium);align-items:center;gap:var(--space-3);letter-spacing:-.02em;margin:0;display:flex}.App-header p{font-size:var(--font-size-sm);opacity:.7;font-weight:var(--font-normal);margin:0}.user-info{align-items:center;gap:var(--space-4);display:flex}.demo-user-identity{align-items:center;gap:var(--space-2);display:flex}.demo-user-icon{color:var(--text-secondary);flex-shrink:0}.demo-user-badge,.mobile-demo-badge{min-height:24px;padding:2px var(--space-2);color:#172033;font-size:var(--font-size-xs);font-weight:var(--font-bold);letter-spacing:.04em;text-transform:uppercase;background:#f4a340;border:1px solid #263d5b;border-radius:5px;align-items:center;line-height:1;display:inline-flex;transform:rotate(1deg)}.demo-banner{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);color:#334155;font-size:var(--font-size-sm);line-height:var(--leading-relaxed);z-index:calc(var(--z-header) - 1);background:#fff7ed;border-bottom:2px solid #d97706;flex-wrap:wrap;display:flex;position:relative}.demo-banner strong{color:#7c3500;font-weight:var(--font-bold)}.demo-banner span+span:before{content:"•";margin-right:var(--space-3);color:#d97706;font-weight:var(--font-bold)}.dark-mode .demo-user-badge,.oled-mode .demo-user-badge,.dark-mode .mobile-demo-badge,.oled-mode .mobile-demo-badge{color:#172033;background:#f4b860;border-color:#f8fafc}.dark-mode .demo-banner,.oled-mode .demo-banner{color:#e2e8f0;background:#251d16;border-bottom-color:#f4b860}.dark-mode .demo-banner strong,.oled-mode .demo-banner strong{color:#f4b860}.eink-mode .demo-user-badge,.eink-mode .mobile-demo-badge{color:#000;background:#fff;border:2px solid #000;transform:none}.eink-mode .demo-banner{color:#000;background:#fff;border-bottom:2px solid #000}.eink-mode .demo-banner strong,.eink-mode .demo-banner span+span:before{color:#000}.user-info .theme-toggle{background:var(--hover-overlay);width:40px;height:40px;box-shadow:none;border-radius:var(--radius-full);transition:all var(--duration-normal) var(--ease-smooth);border:none;justify-content:center;align-items:center;margin:0;padding:0;font-size:20px;display:flex;position:static}.user-info .theme-toggle:hover{background:var(--active-overlay);transform:rotate(15deg)scale(1.05)}.user-name{font-family:var(--font-body);font-weight:var(--font-medium);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-5);background:var(--bg-paper);border-radius:var(--radius-2xl);cursor:default;border:1px solid var(--border-color);color:var(--text-primary);transition:all var(--duration-normal) var(--ease-smooth);box-shadow:var(--shadow-xs)}.user-name.clickable{cursor:pointer}.user-name.clickable:hover{background:var(--bg-elevated);box-shadow:var(--shadow-md);border-color:var(--accent-color);transform:translateY(-2px)}.eink-mode .user-name{box-shadow:none;background:#fff;border:2px solid #000}.btn-primary{padding:var(--space-3) var(--space-6);background:var(--accent-color);color:var(--text-inverse);font-family:var(--font-body);font-weight:var(--font-semibold);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);font-size:var(--font-size-sm);border:none;position:relative;overflow:hidden;box-shadow:0 2px 8px #c4785d40,inset 0 1px #ffffff26}.btn-primary:before{content:"";width:100%;height:100%;transition:left var(--duration-slower) var(--ease-smooth);background:linear-gradient(90deg,#0000,#ffffff26,#0000);position:absolute;top:0;left:-100%}.btn-primary:hover:not(:disabled):before{left:100%}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-3px)scale(1.02);box-shadow:0 8px 20px #c4785d59,inset 0 1px #fff3}.btn-primary:active:not(:disabled){transition-duration:.1s;transform:translateY(0)scale(.98);box-shadow:0 2px 4px #c4785d33}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:var(--space-3) var(--space-6);background:var(--bg-paper);border:1px solid var(--border-color-strong);color:var(--text-primary);font-family:var(--font-body);font-weight:var(--font-medium);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);font-size:var(--font-size-sm)}.btn-secondary:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--accent-color);color:var(--accent-text,var(--accent-color));box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{padding:var(--space-2) var(--space-4);color:var(--text-secondary);font-family:var(--font-body);font-weight:var(--font-medium);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth);font-size:var(--font-size-sm);background:0 0;border:none}.btn-ghost:hover{background:var(--hover-overlay);color:var(--text-primary)}.btn-ghost:active{background:var(--active-overlay)}.btn-icon{border-radius:var(--radius-full);cursor:pointer;width:36px;height:36px;color:var(--text-tertiary);transition:all var(--duration-fast) var(--ease-smooth);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:hover{background:var(--hover-overlay);color:var(--text-primary);transform:scale(1.12)}.btn-icon:active{background:var(--active-overlay);transition-duration:.1s;transform:scale(.9)}.btn-icon.active{background:var(--accent-light);color:var(--accent-text,var(--accent-color))}.btn-danger{padding:var(--space-3) var(--space-6);background:var(--error-color);color:#fff;font-family:var(--font-body);font-weight:var(--font-semibold);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);font-size:var(--font-size-sm);border:none}.btn-danger:hover:not(:disabled){filter:brightness(.9);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-logout{padding:var(--space-2) var(--space-5);border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-body);font-weight:var(--font-medium);border-radius:var(--radius-2xl);cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);font-size:var(--font-size-sm);background:0 0}.btn-logout:hover{background:var(--error-light);border-color:var(--error-color);color:var(--error-color);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.btn-logout:active{transition-duration:.1s;transform:translateY(0)scale(.97)}.eink-mode .btn-logout{background:#fff;border:2px solid #000}.eink-mode .btn-logout:hover{color:#fff;background:#000;transform:none}.App-container{background:var(--bg-primary);flex:1;min-height:0;display:flex;overflow:hidden!important}.App-main{max-width:1400px;padding:var(--space-8) var(--space-6);scrollbar-width:none;-ms-overflow-style:none;flex:1;width:100%;margin:0 auto;overflow:hidden auto!important}.App-main::-webkit-scrollbar{display:none}.loading{text-align:center;padding:var(--space-16);font-size:var(--font-size-base);color:var(--text-tertiary);align-items:center;gap:var(--space-5);flex-direction:column;display:flex}.loading-spinner{border:3px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;width:44px;height:44px;animation:1s ease-in-out infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.notes-skeleton{column-count:4;column-gap:16px;margin-top:24px;padding:0 16px}@media (width<=1600px){.notes-skeleton{column-count:3}}@media (width<=1200px){.notes-skeleton{column-count:2}}@media (width<=768px){.notes-skeleton{column-count:1;padding:0 8px}}.notes-skeleton .skeleton-card{break-inside:avoid;width:100%;display:inline-block}.skeleton{background:linear-gradient(90deg, var(--bg-tertiary) 0%, var(--bg-secondary) 50%, var(--bg-tertiary) 100%);border-radius:var(--radius-md);background-size:200% 100%;animation:2s ease-in-out infinite shimmer}.skeleton-card{height:140px;margin-bottom:var(--space-4);border-radius:var(--radius-lg)}.skeleton-text{height:14px;margin-bottom:var(--space-3);border-radius:var(--radius-sm)}.skeleton-text.short{width:55%}.auth-loading{justify-content:center;align-items:center;gap:var(--space-5);background:var(--bg-canvas);min-height:100vh;color:var(--text-primary);flex-direction:column;display:flex}.auth-loading:before{content:"";background:radial-gradient(circle at 50% 30%, var(--accent-lighter) 0%, transparent 60%);opacity:.5;position:absolute;inset:0}.empty-state{text-align:center;padding:var(--space-20) var(--space-8);color:var(--text-muted)}.empty-state p:first-child{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:var(--font-light);margin-bottom:var(--space-3);color:var(--text-tertiary);letter-spacing:-.02em}.empty-hint{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:var(--space-3)}.empty-hint kbd{background:var(--bg-paper);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:3px var(--space-2);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-medium);box-shadow:var(--shadow-xs);color:var(--text-secondary)}.pagination{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-10) 0;margin-top:var(--space-8);display:flex}.pagination button{padding:var(--space-2) var(--space-5);background:var(--bg-paper);border:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-body);font-weight:var(--font-medium);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-normal) var(--ease-smooth);font-size:var(--font-size-sm)}.pagination button:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--accent-color);color:var(--accent-text,var(--accent-color));box-shadow:var(--shadow-sm);transform:translateY(-2px)scale(1.03)}.pagination button:active:not(:disabled){transition-duration:.1s;transform:translateY(0)scale(.97)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination span{font-family:var(--font-display);font-weight:var(--font-medium);color:var(--text-secondary);font-size:var(--font-size-sm)}.keyboard-shortcuts-hint{margin-top:var(--space-12);padding:var(--space-5);background:var(--bg-paper);border-radius:var(--radius-lg);border:1px solid var(--border-color);max-width:560px;box-shadow:var(--shadow-paper);margin-left:auto;margin-right:auto}.keyboard-shortcuts-hint summary{cursor:pointer;font-family:var(--font-display);font-weight:var(--font-medium);color:var(--text-primary);padding:var(--space-2);-webkit-user-select:none;user-select:none;font-size:var(--font-size-base);transition:color var(--duration-normal) var(--ease-smooth)}.keyboard-shortcuts-hint summary:hover{color:var(--accent-text,var(--accent-color))}.keyboard-shortcuts-hint ul{margin-top:var(--space-5);padding-left:var(--space-4);list-style:none}.keyboard-shortcuts-hint li{margin-bottom:var(--space-3);color:var(--text-secondary);font-size:var(--font-size-sm);align-items:center;gap:var(--space-4);display:flex}.keyboard-shortcuts-hint kbd{background:var(--bg-canvas);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-medium);color:var(--text-primary);text-align:center;min-width:100px;box-shadow:inset 0 -1px 0 var(--border-color)}.notes-section{margin-bottom:var(--space-10);animation:fadeInUp var(--duration-slow) var(--ease-out)}.section-title{font-family:var(--font-display);font-size:var(--font-size-xs);font-weight:var(--font-semibold);letter-spacing:.15em;color:var(--text-muted);margin:0 0 var(--space-4) var(--space-2);text-transform:uppercase;animation:slideInRight var(--duration-slow) var(--ease-out) both}.floating-controls{top:var(--space-5);right:var(--space-5);gap:var(--space-2);z-index:var(--z-header);display:flex;position:fixed}.mobile-menu-toggle{background:var(--bg-paper);border:1px solid var(--border-color);padding:var(--space-2);cursor:pointer;color:var(--text-primary);margin-right:var(--space-2);border-radius:var(--radius-md);transition:all var(--duration-normal) var(--ease-smooth);box-shadow:var(--shadow-xs);display:none}.mobile-menu-toggle:hover{background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.eink-mode .mobile-menu-toggle{border:2px solid #000}@media (width<=1200px){.App-main{max-width:100%;padding:var(--space-6) var(--space-4)}}@media (width<=768px){.App-header{padding:var(--space-3) var(--space-4)}.App-header h1{font-size:var(--font-size-xl)}.App-main{padding:var(--space-4) var(--space-3)}.header-content{gap:var(--space-3);grid-template-columns:auto 1fr auto}.user-info{gap:var(--space-2)}.demo-banner{justify-content:flex-start;align-items:flex-start;gap:var(--space-1) var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs)}.demo-banner strong,.demo-banner span{width:100%}.demo-banner span+span:before{margin-right:var(--space-2)}.pagination{gap:var(--space-3);padding:var(--space-6) 0;flex-wrap:wrap}.keyboard-shortcuts-hint{margin-top:var(--space-8)}.keyboard-shortcuts-hint li{align-items:flex-start;gap:var(--space-2);flex-direction:column}.keyboard-shortcuts-hint kbd{min-width:auto}.section-title{margin-left:var(--space-1)}.floating-controls{top:var(--space-3);right:var(--space-3)}.mobile-menu-toggle{display:flex!important}.App-header .logo-container{display:none}.empty-state p:first-child{font-size:var(--font-size-2xl)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes noteAppear{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.visually-hidden{clip:rect(1px, 1px, 1px, 1px);overflow:hidden;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important}.paper-card{background:var(--bg-paper);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-paper);transition:all var(--duration-normal) var(--ease-smooth)}.paper-card:hover{box-shadow:var(--shadow-lifted);transform:translateY(-2px)}.trash-header{align-items:center;gap:var(--space-4);padding:var(--space-4) 16px 0;flex-wrap:wrap;display:flex}.trash-header .section-title{margin:0}.trash-hint{font-size:var(--font-size-sm);color:var(--text-secondary);flex:16rem;margin:0}.btn-empty-trash{padding:var(--space-2) var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--accent-text,var(--accent-color));font-size:var(--font-size-sm);font-weight:var(--font-semibold);cursor:pointer;background:0 0;font-family:inherit;transition:all .2s}.btn-empty-trash:hover:not(:disabled){background:var(--accent-light);border-color:var(--accent-color)}.btn-empty-trash:disabled{opacity:.5;cursor:not-allowed}.folder-scope-breadcrumb{margin:0 0 var(--space-3,12px);border-radius:var(--radius-full,999px);background:var(--bg-secondary);border:1px solid var(--border-color,#00000014);color:var(--text-primary,inherit);align-items:center;gap:8px;padding:6px 12px;font-size:.9rem;display:inline-flex}.folder-scope-breadcrumb button{width:20px;height:20px;color:var(--text-secondary,#666);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.folder-scope-breadcrumb button:hover{background:var(--accent-light);color:var(--text-primary,inherit)}.bulk-action-bar{margin:0 0 var(--space-3,12px);border-radius:var(--radius-md,8px);background:var(--bg-secondary);border:1px solid var(--accent-color,#2563eb);box-shadow:var(--shadow-sm,0 1px 2px #00000014);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.bulk-action-count{color:var(--accent-text,var(--accent-color));font-size:.9rem;font-weight:600}.bulk-action-buttons{flex-wrap:wrap;gap:6px;display:flex}.bulk-action-buttons button{border:1px solid var(--border-color,#0000001f);border-radius:var(--radius-sm,6px);background:var(--bg-primary,#fff);color:var(--text-primary,inherit);cursor:pointer;padding:5px 10px;font-size:.85rem}.bulk-action-buttons button:hover:not(:disabled){background:var(--accent-light);border-color:var(--accent-color)}.bulk-action-buttons button.bulk-danger{color:var(--error-color,#dc2626)}.bulk-action-buttons button:disabled{opacity:.5;cursor:default}.bulk-action-inputs{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.bulk-tag-input,.bulk-folder-select{border:1px solid var(--border-color,#0000001f);border-radius:var(--radius-sm,6px);background:var(--bg-primary,#fff);color:var(--text-primary,inherit);max-width:180px;padding:5px 8px;font-size:.85rem}.bulk-cancel{border-radius:var(--radius-sm,6px);color:var(--text-secondary,#666);cursor:pointer;background:0 0;border:none;padding:5px 10px;font-size:.85rem;text-decoration:underline}.bulk-cancel:hover:not(:disabled){color:var(--text-primary,inherit)}body.doodle-mode{--font-display:"Delius Swash Caps", "Comic Sans MS", cursive;--font-body:"Delius Swash Caps", "Comic Sans MS", cursive;--font-mono:"JetBrains Mono Variable", "SF Mono", Monaco, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:8px;--radius-xl:8px;--radius-2xl:8px;--bg-primary:#f8fcff;--bg-secondary:#fff;--bg-tertiary:#eaf7fd;--bg-elevated:#fff;--bg-overlay:#11182759;--bg-paper:#fff;--bg-canvas:#f8fcff;--text-primary:#111827;--text-secondary:#263d5b;--text-tertiary:#4b5563;--text-muted:#626b79;--text-inverse:#fff;--border-color:#263d5b47;--border-color-strong:#263d5b;--border-focus:#49b6e5;--accent-color:#263d5b;--accent-hover:#1d2f48;--accent-active:#142239;--accent-text:#263d5b;--accent-button-bg:#263d5b;--accent-button-text:#fff;--accent-light:#49b6e52e;--accent-lighter:#49b6e514;--accent-secondary:#49b6e5;--accent-secondary-light:#49b6e538;--success-color:#16a34a;--success-light:#16a34a24;--warning-color:#d97706;--warning-light:#d9770626;--error-color:#dc2626;--error-light:#dc262621;--info-color:#263d5b;--info-light:#49b6e52e;--shadow-xs:2px 2px 0 #263d5b1f;--shadow-sm:3px 3px 0 #263d5b24;--shadow-md:4px 4px 0 #263d5b29;--shadow-lg:5px 5px 0 #263d5b2e;--shadow-xl:7px 7px 0 #263d5b33;--shadow-2xl:9px 9px 0 #263d5b38;--shadow-focus:0 0 0 3px #49b6e559, 3px 3px 0 #263d5b38;--shadow-paper:4px 4px 0 #263d5b29;--shadow-lifted:7px 7px 0 #263d5b33;--hover-overlay:#49b6e51f;--active-overlay:#263d5b24;--selected-overlay:#49b6e538;--header-bg:#49b6e5;--header-text:#111827;--note-white:#fff;--note-red:#ffe2e2;--note-orange:#ffe8cc;--note-yellow:#fff6bf;--note-green:#dcfce7;--note-teal:#ccfbf1;--note-cyan:#d8f3ff;--note-blue:#dbeafe;--note-purple:#ede9fe;--note-pink:#fce7f3;--note-brown:#f1e3d3;--note-gray:#f3f4f6}body.doodle-mode:before{opacity:1;background-image:linear-gradient(#49b6e521 1px,#0000 1px),linear-gradient(90deg,#49b6e521 1px,#0000 1px);background-size:28px 28px}body.doodle-mode .note,body.doodle-mode .note-modal,body.doodle-mode .sidebar,body.doodle-mode .settings-modal,body.doodle-mode .auth-box,body.doodle-mode .toast{border:2px solid var(--border-color-strong);border-radius:var(--radius-md);box-shadow:4px 4px #263d5b29}body.doodle-mode button,body.doodle-mode input,body.doodle-mode textarea,body.doodle-mode select{border-radius:var(--radius-md)}body.doodle-mode input,body.doodle-mode textarea,body.doodle-mode select{border-color:var(--border-color-strong)}body.doodle-mode .note:hover,body.doodle-mode .user-name.clickable:hover{transform:translate(-1px,-1px);box-shadow:6px 6px #263d5b2e}body.doodle-mode .note-tag,body.doodle-mode .tag-pill{border:1px dashed var(--border-color-strong)}body.doodle-mode .btn-primary,body.doodle-mode .btn-secondary,body.doodle-mode .auth-button{border:2px solid var(--border-color-strong);box-shadow:3px 3px #263d5b2e}body.doodle-mode .auth-container{background:0 0}body.doodle-mode .auth-box{border-radius:8px 5px 7px 4px;box-shadow:7px 7px #263d5b33}body.doodle-mode .auth-box:before{border-top-style:dashed;border-top-color:#d97706}body.doodle-mode .auth-button{color:#fff;background:#263d5b}.doodle-mode .App-header{border-bottom:2px solid var(--border-color-strong);box-shadow:0 3px #263d5b38}.doodle-mode .App-header:after{opacity:1;background:repeating-linear-gradient(90deg,#263d5b 0 18px,#fff 18px 24px,#d97706 24px 36px,#fff 36px 42px);height:4px}.note-form-container{max-width:600px;margin:0 auto var(--space-8);animation:formSlideDown .5s var(--ease-bounce) both}@keyframes formSlideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.note-form-button{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-sm);transition:all .3s var(--ease-bounce);cursor:pointer;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--font-size-sm);text-align:left;font-family:inherit;display:flex}.note-form-button:hover{box-shadow:var(--shadow-md);background:var(--bg-primary);border-color:var(--border-color-strong);transform:translateY(-2px)}.note-form-button:active{transition-duration:.1s;transform:translateY(0)scale(.99)}.note-form-button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;box-shadow:var(--shadow-focus)}.note-form-button svg{opacity:.6;transition:opacity var(--duration-normal) var(--ease-default);flex-shrink:0}.note-form-button:hover svg{opacity:1}.note-form-button span{flex:1}.note-form-title{width:100%;font-size:var(--font-size-base);font-weight:var(--font-medium);margin-bottom:var(--space-3);color:var(--text-primary);transition:color var(--duration-normal) var(--ease-default);background:0 0;border:none;outline:none;padding:0;font-family:inherit}.note-form-content{width:100%;font-size:var(--font-size-sm);resize:none;color:var(--text-primary);font-family:inherit;line-height:var(--leading-normal);min-height:46px;transition:color var(--duration-normal) var(--ease-default);background:0 0;border:none;outline:none;padding:0}.note-form-tags{width:100%;font-size:var(--font-size-xs);padding:var(--space-3) 0 0 0;border:none;border-top:1px solid var(--border-color);margin-top:var(--space-3);color:var(--text-secondary);background:0 0;outline:none;font-family:inherit}.note-form-tags::placeholder,.note-form-title::placeholder,.note-form-content::placeholder{color:var(--text-muted);opacity:.8}.note-form-actions{margin-top:var(--space-4);padding-top:var(--space-2);justify-content:space-between;align-items:center;display:flex}.form-buttons{align-items:center;gap:var(--space-2);display:flex}.eink-mode .note-form-button{box-shadow:none;background:#fff;border:2px solid #000}.eink-mode .note-form-button:hover{box-shadow:none;background:#f5f5f5}.eink-mode .note-form-tags{border-top-color:#000}@media (width<=768px){.note-form-container{margin:0 0 var(--space-6) 0}.note-form-button{border-left:none;border-right:none;border-radius:0}}.note{background:var(--bg-paper);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-md);transition:transform .35s var(--ease-bounce), box-shadow .3s var(--ease-smooth), border-color .3s var(--ease-smooth);cursor:pointer;border:1px solid var(--border-color);break-inside:avoid;animation:noteSlideIn .5s var(--ease-bounce) both;animation-delay:calc(var(--note-index,0) * 60ms);flex-direction:column;display:flex;position:relative;overflow:hidden}@keyframes noteSlideIn{0%{opacity:0;transform:translateY(20px)scale(.95)}40%{opacity:1}to{opacity:1;transform:translateY(0)scale(1)}}.note:hover{box-shadow:var(--shadow-lg);border-color:var(--accent-color);transform:translateY(-4px)scale(1.01)}.note:active{transition-duration:.1s;transform:translateY(-1px)scale(.99)}.note.editing{cursor:default}.note.dragging{opacity:.6;cursor:grabbing;box-shadow:var(--shadow-xl);transform:rotate(2deg)scale(1.02)}.note.drag-over{border:2px dashed var(--accent-color);background:var(--accent-light)}.note.drag-over-tag{border:2px dashed var(--success);background:#4b7f5214;transform:scale(1.02)}.note-content-wrapper{flex:1;min-height:60px}.note-title{font-size:var(--font-size-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-3) 0;color:var(--text-primary);font-family:var(--font-display);word-wrap:break-word;letter-spacing:-.01em;line-height:1.4;transition:color .3s}.note-content{font-size:var(--font-size-sm);color:var(--text-secondary);white-space:pre-wrap;word-wrap:break-word;line-height:1.65;font-family:var(--font-body);-webkit-line-clamp:6;-webkit-box-orient:vertical;max-height:9em;margin:0;transition:color .3s;display:-webkit-box;position:relative;overflow:hidden}.note-content:after{content:"";background:linear-gradient(to bottom, transparent, var(--note-bg-color,var(--bg-paper)));pointer-events:none;height:2em;position:absolute;bottom:0;left:0;right:0}.note-content.markdown{white-space:normal}.note-content.markdown h1,.note-content.markdown h2,.note-content.markdown h3,.note-content.markdown h4,.note-content.markdown h5,.note-content.markdown h6{color:var(--text-primary);margin:.4em 0 .15em;font-size:1em;font-weight:600;line-height:1.35}.note-content.markdown>:first-child{margin-top:0}.note-content.markdown>:last-child{margin-bottom:0}.note-content.markdown ul,.note-content.markdown ol{margin:.3em 0;padding-left:1.35em}.note-content.markdown li{margin:.1em 0}.note-content.markdown li>input[type=checkbox]{vertical-align:middle;margin-right:.4em}.note-content.markdown code{font-family:var(--font-mono);background:var(--accent-lighter);border-radius:3px;padding:.08em .3em;font-size:.92em}.note-content.markdown pre{background:var(--accent-lighter);white-space:pre;border-radius:6px;margin:.35em 0;padding:.5em .6em;overflow-x:auto}.note-content.markdown pre code{background:0 0;padding:0}.note-content.markdown blockquote{border-left:3px solid var(--border-color);margin:.35em 0;padding-left:.7em}.note-content.markdown a{color:var(--accent-text)}.note-content.markdown img{border-radius:6px;max-width:100%;margin:.35em 0;display:block}.note-content.markdown table{border-collapse:collapse;margin:.35em 0}.note-content.markdown th,.note-content.markdown td{border:1px solid var(--border-color);text-align:left;padding:.15em .45em}.note-content.markdown hr{border:none;border-top:1px solid var(--border-color);margin:.5em 0}.note-todo-list{gap:var(--space-2);flex-direction:column;max-height:9em;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.note-todo-list:after{content:"";background:linear-gradient(to bottom, transparent, var(--note-bg-color,var(--bg-paper)));pointer-events:none;height:2em;position:absolute;bottom:0;left:0;right:0}.note-todo-item{align-items:flex-start;gap:var(--space-2);padding:var(--space-1) 0;display:flex}.note-todo-checkbox{cursor:pointer;border-radius:var(--radius-xs);width:16px;height:16px;accent-color:var(--accent-color);flex-shrink:0;margin-top:2px}.note-todo-text{font-size:var(--font-size-sm);color:var(--text-primary);word-break:break-word;line-height:1.5;font-family:var(--font-body);flex:1}.note-todo-text.completed{color:var(--text-muted);text-decoration:line-through}.dark-mode .note-todo-text{color:#ffffffde}.dark-mode .note-todo-text.completed{color:#ffffff80}.note-link-previews{margin-top:var(--space-3)}.note-images{gap:var(--space-2);margin-top:var(--space-3);border-radius:var(--radius-md);grid-template-columns:repeat(2,1fr);display:grid;overflow:hidden}.note-images.single{grid-template-columns:1fr}.note-image-preview{aspect-ratio:1;border-radius:var(--radius-sm);background:var(--bg-secondary);position:relative;overflow:hidden}.note-image-preview img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.note-image-preview:hover img{transform:scale(1.08)}.note-images-more{color:#fff;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-semibold);border-radius:var(--radius-sm) 0 0 0;background:#2c2416cc;position:absolute;bottom:0;right:0}.dark-mode .note-image-preview{background:#ffffff0d}.oled-mode .note-image-preview{background:#ffffff14}.note-link{color:var(--accent-text,var(--accent-color));font-weight:var(--font-medium);cursor:pointer;border-bottom:1px solid #0000;text-decoration:none;transition:all .2s;position:relative}.note-link:hover{border-bottom-color:var(--accent-color);opacity:.85}.note-link:hover:after{content:attr(data-url);background:var(--bg-inverse);color:var(--text-inverse);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-xs);white-space:nowrap;z-index:100;text-overflow:ellipsis;max-width:300px;margin-bottom:var(--space-2);box-shadow:var(--shadow-lg);pointer-events:none;animation:.2s fadeIn;position:absolute;bottom:100%;left:0;overflow:hidden}.dark-mode .note-link{color:var(--accent-text,var(--accent-color))}.dark-mode .note-link:hover:after{color:#000000de;background:#fffffff2}.todo-item{align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;margin-right:var(--space-2);display:inline-flex}.todo-checkbox{appearance:none;border:2px solid var(--border-strong);border-radius:var(--radius-xs);cursor:pointer;flex-shrink:0;width:18px;height:18px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.todo-checkbox:hover{border-color:var(--accent-color);background:var(--accent-light)}.todo-checkbox:checked{background:var(--accent-color);border-color:var(--accent-color)}.todo-checkbox:checked:after{content:"✓";color:#fff;font-size:11px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dark-mode .todo-checkbox{border-color:#fff6}.dark-mode .todo-checkbox:hover{border-color:var(--accent-color)}.dark-mode .todo-checkbox:checked{background:var(--accent-color);border-color:var(--accent-color)}.note-tags{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.note-tag{background:var(--accent-light);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--accent-text,var(--accent-color));font-weight:var(--font-medium);font-family:var(--font-body);transition:all .25s var(--ease-bounce);border:1px solid #0000}.note-tag:hover{border-color:var(--accent-color);background:#c4785d26;transform:translateY(-2px)scale(1.05)}button.note-tag{cursor:pointer;line-height:inherit}button.note-tag:focus-visible{outline:2px solid var(--accent-color);outline-offset:1px}.note-collaborators{align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) 0;font-size:var(--font-size-xs);color:var(--text-muted);display:flex}.dark-mode .note-collaborators{color:#ffffffb3}.oled-mode .note-collaborators{color:#fffc}.collaborators-text{font-weight:var(--font-medium);margin-right:var(--space-1)}.collaborator-avatars{align-items:center;gap:-4px;display:flex}.collaborator-avatar{border-radius:var(--radius-full);background:var(--accent-button-bg,var(--accent-color));width:24px;height:24px;color:var(--accent-button-text,#fff);font-size:var(--font-size-xs);font-weight:var(--font-semibold);border:2px solid var(--bg-paper);cursor:default;justify-content:center;align-items:center;margin-left:-6px;transition:all .2s;display:flex}.collaborator-avatar:first-child{margin-left:0}.collaborator-avatar:hover{z-index:1;transform:scale(1.15)}.collaborator-avatar.more{background:var(--bg-tertiary);color:var(--text-muted);font-size:.5rem}.dark-mode .collaborator-avatar.more{background:#fff3}.oled-mode .collaborator-avatar.more{background:#ffffff40}.note-hover-actions{opacity:0;align-items:center;gap:var(--space-1);margin-top:var(--space-2);padding-top:var(--space-2);transition:opacity .25s var(--ease-smooth), transform .25s var(--ease-bounce);border-top:1px solid #0000;display:flex;transform:translateY(6px)}.note:hover .note-hover-actions,.note:focus .note-hover-actions,.note:focus-within .note-hover-actions{opacity:1;border-top-color:var(--border-color);transform:translateY(0)}.note:focus-visible{outline:3px solid var(--focus-color,#1a73e8);outline-offset:3px}.action-btn{padding:var(--space-2);border-radius:var(--radius-full);cursor:pointer;color:var(--text-muted);transition:all .2s var(--ease-bounce);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.action-btn:hover{background:var(--hover-overlay);color:var(--text-primary);transform:scale(1.15)}.action-btn:active{background:var(--active-overlay);transform:scale(.9)}.action-btn svg{transition:transform .2s cubic-bezier(.4,0,.2,1)}.pin-btn:active svg{animation:.5s cubic-bezier(.4,0,.2,1) pinPulse;transform:rotate(20deg)scale(1.2)}@keyframes pinPulse{0%{transform:rotate(0)scale(1)}50%{transform:rotate(20deg)scale(1.3)}to{transform:rotate(0)scale(1)}}.pin-btn.pinned{color:var(--accent-text,var(--accent-color))}.pin-btn.pinned svg{fill:var(--accent-color);animation:.3s cubic-bezier(.4,0,.2,1) pinned}@keyframes pinned{0%{transform:rotate(0)scale(1)}25%{transform:rotate(-15deg)scale(1.2)}75%{transform:rotate(15deg)scale(1.2)}to{transform:rotate(0)scale(1)}}.note-edit-title,.note-edit-content,.note-edit-tags{width:100%;font-family:var(--font-body);color:var(--text-primary);background:0 0;border:none;outline:none;padding:0}.note-edit-title{font-size:var(--font-size-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-3);font-family:var(--font-display)}.note-edit-title::placeholder{color:var(--text-muted)}.note-edit-content{font-size:var(--font-size-sm);resize:none;min-height:80px;margin-bottom:var(--space-3);line-height:1.65}.note-edit-content::placeholder{color:var(--text-muted)}.note-edit-tags{font-size:var(--font-size-xs);padding:var(--space-2) 0;border-top:1px solid var(--border-color);margin-bottom:var(--space-2);color:var(--text-secondary)}.note-edit-tags::placeholder{color:var(--text-muted)}.note-edit-footer{margin-top:var(--space-1);justify-content:space-between;align-items:center;display:flex;position:relative}.note-toolbar{align-items:center;gap:var(--space-1);display:flex}.toolbar-btn{padding:var(--space-2);border-radius:var(--radius-full);cursor:pointer;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.toolbar-btn:hover{background:var(--hover-overlay);color:var(--text-primary)}.toolbar-btn:active{background:var(--active-overlay)}.color-picker-popup{z-index:100;animation:.2s cubic-bezier(.4,0,.2,1) slideUp;position:absolute;bottom:40px;left:0}.note-edit-actions{gap:var(--space-2);display:flex}.btn-text{padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-medium);color:var(--text-primary);font-family:var(--font-body);background:0 0;border:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-text:hover{background:var(--hover-overlay)}.btn-text:active{background:var(--active-overlay)}.dark-mode .note{background:var(--bg-paper);border-color:var(--border-color);box-shadow:0 2px 8px #0000004d,0 1px 3px #0003}.dark-mode .note:hover{box-shadow:0 4px 16px #0006,0 2px 6px #0000004d}.dark-mode .note-title,.dark-mode .note-content,.dark-mode .note-edit-title,.dark-mode .note-edit-content{color:var(--text-primary)}.dark-mode .note-tag{color:#e8a87c;background:#c4785d33}.dark-mode .note-edit-tags{color:#ffffffb3;border-top-color:#ffffff1f}.dark-mode .action-btn,.dark-mode .toolbar-btn{color:#ffffffb3}.dark-mode .action-btn:hover,.dark-mode .toolbar-btn:hover{color:#fffffff2;background:#ffffff14}.dark-mode .action-btn:active,.dark-mode .toolbar-btn:active{background:#ffffff29}.dark-mode .btn-text{color:#ffffffde}.dark-mode .btn-text:hover{background:#ffffff14}.dark-mode .btn-text:active{background:#ffffff29}.dark-mode .pin-btn.pinned{color:var(--accent-text,var(--accent-color))}.dark-mode .pin-btn.pinned svg{fill:var(--accent-color)}.dark-mode .note.drag-over-tag{background:#7cb97f1f;border:2px dashed #7cb97f}.oled-mode .note{background:#0a0a0a;border-color:#ffffff1a;box-shadow:0 1px 4px #00000080,0 1px 2px #0000004d}.oled-mode .note:hover{box-shadow:0 4px 12px #0009,0 2px 4px #0006}.oled-mode .note-title,.oled-mode .note-content,.oled-mode .note-edit-title,.oled-mode .note-edit-content{color:#fffffff2}.oled-mode .note-tag{color:#e8a87c;background:#c4785d40}.oled-mode .note-edit-tags{color:#fffc;border-top-color:#ffffff26}.oled-mode .action-btn,.oled-mode .toolbar-btn{color:#ffffffd9}.oled-mode .action-btn:hover,.oled-mode .toolbar-btn:hover{color:#fffffff2;background:#ffffff1a}.oled-mode .action-btn:active,.oled-mode .toolbar-btn:active{background:#ffffff2e}.oled-mode .btn-text{color:#fffffff2}.oled-mode .btn-text:hover{background:#ffffff1a}.oled-mode .btn-text:active{background:#ffffff2e}.oled-mode .pin-btn.pinned{color:#e8a87c}.oled-mode .pin-btn.pinned svg{fill:#e8a87c}.oled-mode .note-todo-text{color:#fffffff2}.oled-mode .note-todo-text.completed{color:#ffffff80}.oled-mode .note-link{color:#e8a87c}.oled-mode .note-link:hover:after{background:#e8a87c26}.oled-mode .todo-checkbox{background:#ffffff14;border-color:#ffffff4d}.oled-mode .todo-checkbox:hover{background:#ffffff1f}.oled-mode .todo-checkbox:checked{background:var(--accent-color);border-color:var(--accent-color)}.oled-mode .note.drag-over-tag{background:#7cb97f26;border:2px dashed #7cb97f}.eink-mode .note{box-shadow:none;background:#fff;border:2px solid #000;border-radius:0}.eink-mode .note:hover{box-shadow:none;background:#f5f5f5;transform:none}.eink-mode .note-title,.eink-mode .note-content,.eink-mode .note-edit-title,.eink-mode .note-edit-content{color:#000;font-family:Georgia,Times New Roman,serif}.eink-mode .note-tag{color:#000;background:#e0e0e0;border:1px solid #000;border-radius:0}.eink-mode .note-edit-tags{color:#333;border-top-color:#000}.eink-mode .action-btn,.eink-mode .toolbar-btn{color:#000}.eink-mode .action-btn:hover,.eink-mode .toolbar-btn:hover{background:#e0e0e0}.eink-mode .action-btn:active,.eink-mode .toolbar-btn:active{background:#ccc}.eink-mode .btn-text{color:#000}.eink-mode .btn-text:hover{background:#e0e0e0}.eink-mode .btn-text:active{background:#ccc}.eink-mode .pin-btn.pinned{color:#000;background:#ccc}.eink-mode .pin-btn.pinned svg{fill:#000}.eink-mode .note-todo-text{color:#000}.eink-mode .note-todo-text.completed{color:#666}.eink-mode .note-link{color:#000;text-decoration:underline}.eink-mode .todo-checkbox{background:#fff;border-width:2px;border-color:#000;border-radius:0}.eink-mode .todo-checkbox:hover{background:#e0e0e0}.eink-mode .todo-checkbox:checked{background:#000;border-color:#000}.eink-mode .note.drag-over-tag{background:#e0e0e0;border:2px dashed #000}.eink-mode .note-collaborators{color:#333}.eink-mode .collaborator-avatar{color:#fff;background:#000;border:2px solid #fff}.eink-mode .collaborator-avatar.more{background:#666}.eink-mode .note-image-preview{background:#f0f0f0;border:1px solid #000}.eink-mode .note-content:after,.eink-mode .note-todo-list:after{background:linear-gradient(#0000,#fff)}@media (width<=768px){.note{padding:var(--space-3) var(--space-4)}.note-title{font-size:var(--font-size-base)}.note-content{font-size:var(--font-size-xs)}.note-hover-actions{opacity:1;border-top-color:var(--border-color);transform:none}.note:hover{transform:none}}.note .restore-btn:hover{background:var(--success-light,#2e7d3226);color:var(--success-color,#2e7d32)}.note .purge-btn:hover{background:var(--error-light,#d32f2f26);color:var(--error-color,#d32f2f)}.note-edited-by{margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--text-tertiary)}.note-content mark{background:var(--accent-secondary-light,#e8a84473);color:inherit;border-radius:2px;padding:0 .1em}.note{position:relative}.note-select{cursor:pointer;width:18px;height:18px;accent-color:var(--accent-color,#2563eb);z-index:2;opacity:0;pointer-events:none;transition:opacity var(--duration-fast,.15s) ease;margin:0;position:absolute;top:10px;right:10px}.note:hover .note-select,.note:focus-visible .note-select,.note-select.visible,.note-select:checked{opacity:1;pointer-events:auto}.note-select.visible~.note-hover-actions,.note-select:checked~.note-hover-actions{opacity:0;pointer-events:none}.note-tag-dot{vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:4px;display:inline-block}.note-reminder-chip{align-items:center;gap:var(--space-1,4px);margin-top:var(--space-1,4px);padding:2px var(--space-2,8px);font-size:var(--font-size-xs);color:var(--text-tertiary);background:var(--accent-soft,#1976d214);border-radius:var(--radius-full,999px);width:fit-content;display:inline-flex}.note-reminder-chip.due{color:var(--accent-text,var(--accent-color));background:var(--accent-light,#1976d229)}.confirm-dialog-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s ease-in-out fadeIn;display:flex;position:fixed;inset:0}.confirm-dialog{background:#fff;border-radius:12px;width:90%;max-width:400px;padding:2rem;animation:.3s ease-out slideUp;box-shadow:0 10px 40px #0000004d}.confirm-dialog-title{color:#333;margin:0 0 1rem;font-size:1.5rem;font-weight:600}.confirm-dialog-message{color:#666;margin:0 0 1.5rem;font-size:1rem;line-height:1.5}.confirm-dialog-actions{justify-content:flex-end;gap:.75rem;display:flex}.btn-cancel-confirm,.btn-confirm{cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.btn-cancel-confirm{color:#333;background:#e0e0e0}.btn-cancel-confirm:hover{background:#d0d0d0}.btn-confirm{color:#fff;background:#f44336}.btn-confirm:hover{background:#d32f2f;transform:scale(1.02)}@media (width<=768px){.confirm-dialog{padding:1.5rem}.confirm-dialog-title{font-size:1.3rem}.confirm-dialog-message{font-size:.95rem}}.confirm-dialog:focus{outline:none}.link-preview{cursor:pointer;background:#fff;border:1px solid #0000001f;border-radius:8px;margin-top:.75rem;transition:all .2s;display:flex;position:relative;overflow:hidden}.link-preview:hover{border-color:#0003;box-shadow:0 2px 8px #0000001a}.link-preview:focus-visible{outline:3px solid var(--focus-color,#1a73e8);outline-offset:2px}.dark-mode .link-preview{background:#2d2e30;border-color:#ffffff1f}.dark-mode .link-preview:hover{border-color:#fff3;box-shadow:0 2px 8px #0000004d}.link-preview-image-container{background:#0000000d;flex-shrink:0;width:120px;height:120px;overflow:hidden}.link-preview-image{object-fit:cover;width:100%;height:100%}.dark-mode .link-preview-image-container{background:#ffffff0d}.link-preview-content{flex-direction:column;flex:1;gap:.25rem;min-width:0;padding:.75rem 1rem;display:flex;overflow:hidden}.link-preview-site{color:#0009;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:500;overflow:hidden}.dark-mode .link-preview-site{color:#fff9}.link-preview-title{color:#000000de;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.938rem;font-weight:500;line-height:1.4;display:-webkit-box;overflow:hidden}.dark-mode .link-preview-title{color:#ffffffde}.link-preview-description{color:#0009;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.813rem;line-height:1.4;display:-webkit-box;overflow:hidden}.dark-mode .link-preview-description{color:#fff9}.link-preview-url{color:#00000080;white-space:nowrap;text-overflow:ellipsis;margin-top:auto;font-size:.75rem;overflow:hidden}.dark-mode .link-preview-url{color:#ffffff80}.link-preview-remove{cursor:pointer;color:#0009;opacity:0;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex;position:absolute;top:.5rem;right:.5rem;box-shadow:0 2px 4px #0000001a}.link-preview:hover .link-preview-remove,.link-preview:focus-within .link-preview-remove,.link-preview-remove:focus-visible{opacity:1}.link-preview-remove:hover{color:#000000de;background:#fff;transform:scale(1.1)}.dark-mode .link-preview-remove{color:#ffffffb3;background:#000000b3}.dark-mode .link-preview-remove:hover{color:#ffffffde;background:#000000e6}@media (width<=768px){.link-preview-image-container{width:100px;height:100px}.link-preview-content{padding:.5rem .75rem}}.note-list{column-count:4;animation:listFadeIn .3s var(--ease-out) both;column-gap:16px;margin-top:24px;padding:0 16px}@keyframes listFadeIn{0%{opacity:0}to{opacity:1}}@media (width<=1600px){.note-list{column-count:3}}@media (width<=1200px){.note-list{column-count:2}}@media (width<=768px){.note-list{column-count:1;padding:0 8px}}.note-list .note{width:100%;margin-bottom:16px;display:inline-block}.empty-state{text-align:center;color:#00000061;grid-column:1/-1;padding:4rem 2rem}.empty-state p:first-child{margin-bottom:1rem;font-size:3rem}.empty-state p:last-child{color:#0000008a;font-size:1.2rem}.dark-mode .empty-state{color:#ffffff80}.dark-mode .empty-state p:last-child{color:#ffffffb3}.oled-mode .empty-state{color:#fff9}.oled-mode .empty-state p:last-child{color:#fffc}.search-bar{max-width:600px;animation:fadeInScale .4s var(--ease-bounce) both;flex:1;margin:0;position:relative}.search-input{border:2px solid var(--border-color);background:var(--bg-secondary);width:100%;color:var(--text-primary);transition:all .35s var(--ease-bounce);border-radius:24px;padding:.75rem 3rem .75rem 1rem;font-family:inherit;font-size:1rem}.search-input:focus{border-color:var(--accent-color);outline:none;transform:scale(1.02);box-shadow:0 4px 16px #c4785d33}.search-input::placeholder{color:var(--text-muted);transition:opacity .3s}.search-input:focus::placeholder{opacity:.5}.search-icon{pointer-events:none;opacity:.5;transition:opacity .3s ease, transform .3s var(--ease-bounce);font-size:1.2rem;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.search-input:focus~.search-icon{opacity:.8;transform:translateY(-50%)scale(1.1)}.search-clear{cursor:pointer;color:#999;width:24px;height:24px;transition:all .25s var(--ease-bounce);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.25rem;font-size:1.2rem;display:flex;position:absolute;top:50%;right:3rem;transform:translateY(-50%)}.search-clear:hover{color:#333;background:#0000001a;transform:translateY(-50%)scale(1.15)rotate(90deg)}.eink-mode .search-input{background:#fff;border:2px solid #000}.eink-mode .search-input:focus{box-shadow:none;border-color:#000}.eink-mode .search-clear:hover{color:#000;background:#e0e0e0}@media (width<=768px){.search-bar{max-width:100%;margin-bottom:1.5rem}.search-input{padding:.65rem 3rem .65rem .875rem;font-size:.95rem}}.theme-toggle{display:none}.user-info .theme-toggle,.sidebar-mobile-actions .theme-toggle{transition:transform .35s var(--ease-bounce);display:flex}.user-info .theme-toggle:hover,.sidebar-mobile-actions .theme-toggle:hover{transform:rotate(30deg)scale(1.1)}.user-info .theme-toggle:active,.sidebar-mobile-actions .theme-toggle:active{transition-duration:.5s;transform:rotate(180deg)scale(.9)}.logo-container{align-items:center;gap:10px;animation:.5s cubic-bezier(.4,0,.2,1) logoFadeIn;display:flex}.logo-svg{filter:drop-shadow(0 1px 3px #0000001f);flex-shrink:0;transition:transform .2s}.logo-svg:hover{transform:scale(1.06)}.logo-text{color:#1a1a1a;letter-spacing:-.02em;font-size:1.5rem;font-weight:600}.dark-mode .logo-text,.oled-mode .logo-text{color:#fff}.dark-mode .logo-svg,.oled-mode .logo-svg{filter:drop-shadow(0 1px 4px #0000004d)}@keyframes logoFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.sidebar{background:var(--bg-secondary);width:260px;height:100%;transition:all var(--duration-slow) var(--ease-default);border-right:1px solid var(--border-color);flex-shrink:0;overflow:hidden auto!important}.dark-mode .sidebar{background:#1e1c1a99}.oled-mode .sidebar{background:#0a0a0acc}.eink-mode .sidebar{background:#fff;border-right:2px solid #000}.sidebar.collapsed{width:72px}.sidebar-toggle{top:var(--space-2);right:var(--space-2);padding:var(--space-2);border-radius:var(--radius-full);cursor:pointer;color:var(--text-muted);transition:all var(--duration-normal) var(--ease-default);z-index:10;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute}.sidebar-toggle:hover{background:var(--hover-overlay);color:var(--text-primary)}.sidebar-toggle:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.eink-mode .sidebar-toggle:hover{background:#e0e0e0}.sidebar-nav{padding:var(--space-3) 0}.sidebar-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-6);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-normal) var(--ease-default);border-radius:0 var(--radius-xl) var(--radius-xl) 0;margin:var(--space-1) var(--space-3) var(--space-1) 0;text-align:left;font-family:var(--font-body);background:0 0;border:none;display:flex}.sidebar-item:hover{background:var(--accent-light);color:var(--accent-text,var(--accent-color))}.sidebar-item:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px}.sidebar-item.active{color:var(--accent-text,var(--accent-color));font-weight:var(--font-semibold);border-left:3px solid var(--accent-color);padding-left:calc(var(--space-6) - 3px);background:#c4785d33}.sidebar-item.dragging{opacity:.5;cursor:grabbing}.dark-mode .sidebar-item:hover{color:#e8a87c;background:#c4785d26}.dark-mode .sidebar-item.active{color:#e8a87c;background:#c4785d33;border-left-color:#e8a87c}.oled-mode .sidebar-item:hover{color:#e8a87c;background:#c4785d2e}.oled-mode .sidebar-item.active{color:#e8a87c;background:#c4785d40;border-left-color:#e8a87c}.eink-mode .sidebar-item:hover{background:#e0e0e0}.eink-mode .sidebar-item.active{color:#000;background:#ccc;border:1px solid #000;border-left-width:3px}.sidebar-admin{color:var(--accent-secondary);font-weight:var(--font-semibold)}.sidebar-admin:hover{color:var(--accent-secondary);background:#e8a8441f}.dark-mode .sidebar-admin{color:#e8a844}.dark-mode .sidebar-admin:hover{background:#e8a84426}.oled-mode .sidebar-admin{color:#e8a844}.oled-mode .sidebar-admin:hover{background:#e8a8442e}.eink-mode .sidebar-admin{color:#000;font-weight:var(--font-bold)}.sidebar-item svg{transition:transform var(--duration-normal) var(--ease-default);color:inherit;flex-shrink:0}.sidebar-item:hover svg{transform:scale(1.1)}.sidebar-item span{white-space:nowrap;opacity:1;transition:opacity var(--duration-normal) var(--ease-default);flex:1;overflow:hidden}.sidebar.collapsed .sidebar-item span{opacity:0;width:0}.sidebar-item .count{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:var(--font-normal);background:var(--bg-tertiary);padding:2px var(--space-2);border-radius:var(--radius-full);text-align:center;min-width:20px;transition:all var(--duration-normal) var(--ease-default);flex:0}.sidebar-item:hover .count,.sidebar-item.active .count{color:#733c2d;background:#c4785d33}.dark-mode .sidebar-item:hover .count,.dark-mode .sidebar-item.active .count,.oled-mode .sidebar-item:hover .count,.oled-mode .sidebar-item.active .count{color:#f0b98d;background:#e8a87c33}.sidebar.collapsed .sidebar-item{padding:var(--space-3);border-radius:var(--radius-md);justify-content:center;margin-right:0}.sidebar-section-title{padding:var(--space-4) var(--space-6) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;transition:all var(--duration-slow) var(--ease-default);max-height:40px;font-family:var(--font-body);overflow:hidden}.sidebar.collapsed .sidebar-section-title{opacity:0;max-height:0;margin:0;padding:0}.sidebar-divider,.sidebar-mobile-controls{display:none}@media (width<=768px){.sidebar{width:300px;height:100vh;z-index:var(--z-header);box-shadow:var(--shadow-2xl);visibility:hidden;transition:transform var(--duration-slow) var(--ease-default), visibility 0s linear var(--duration-slow);background:var(--bg-paper);-webkit-backdrop-filter:blur(20px);position:fixed;top:0;left:0;transform:translate(-100%)}.dark-mode .sidebar{background:#1e1c1afa}.oled-mode .sidebar{background:#0a0a0afa}.eink-mode .sidebar{box-shadow:none;background:#fff;border-right:2px solid #000}.sidebar.mobile-open{visibility:visible;transition:transform var(--duration-slow) var(--ease-default), visibility 0s;transform:translate(0)}.sidebar-mobile-controls{padding:var(--space-5);border-bottom:1px solid var(--border-color);background:var(--bg-secondary);display:block}.sidebar-mobile-logo{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-color);justify-content:center;display:flex}.sidebar-mobile-logo .logo-container{gap:var(--space-2)}.sidebar-mobile-logo .logo-text{font-size:var(--font-size-lg);font-family:var(--font-display);color:var(--text-primary)}.sidebar-mobile-user{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);background:var(--accent-light);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-normal) var(--ease-default);text-align:left;width:100%;font-family:var(--font-body);border:1px solid #c4785d4d;display:flex}.sidebar-mobile-user:hover{border-color:var(--accent-color);box-shadow:var(--shadow-sm);background:#c4785d33;transform:translateY(-1px)}.sidebar-mobile-user-static{cursor:default}.sidebar-mobile-user-static:hover{background:var(--accent-light);box-shadow:none;border-color:#c4785d4d;transform:none}.sidebar-mobile-user:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.dark-mode .sidebar-mobile-user{background:#c4785d26;border-color:#e8a87c33}.dark-mode .sidebar-mobile-user:hover{background:#c4785d33;border-color:#e8a87c}.oled-mode .sidebar-mobile-user{background:#c4785d2e;border-color:#e8a87c40}.oled-mode .sidebar-mobile-user:hover{background:#c4785d40;border-color:#e8a87c}.eink-mode .sidebar-mobile-user{background:#f0f0f0;border:2px solid #000}.eink-mode .sidebar-mobile-user:hover{box-shadow:none;background:#e0e0e0;transform:none}.mobile-user-icon{font-size:32px}.mobile-user-name{font-size:var(--font-size-base);font-weight:var(--font-semibold);color:var(--text-primary)}.mobile-demo-badge{margin-left:auto}.sidebar-mobile-actions{justify-content:center;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.sidebar-mobile-logout{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3);background:var(--accent-button-bg,var(--accent-color));color:var(--accent-button-text,#fff);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--duration-normal) var(--ease-default);font-family:var(--font-body);border:none;display:flex;box-shadow:0 2px 8px #c4785d4d}.sidebar-mobile-logout:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #c4785d66}.sidebar-mobile-logout:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.eink-mode .sidebar-mobile-logout{color:#fff;box-shadow:none;background:#000}.eink-mode .sidebar-mobile-logout:hover{box-shadow:none;background:#333;transform:none}.sidebar-mobile-logout svg{width:18px;height:18px}.user-info{display:none!important}.mobile-menu-toggle{display:flex!important}}.sidebar-overlay{z-index:calc(var(--z-header) - 1);animation:overlayFadeIn var(--duration-normal) var(--ease-default);-webkit-backdrop-filter:blur(4px);background:#2c241699;display:none;position:fixed;inset:0}@media (width<=768px){.sidebar-overlay{display:block}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.sidebar-folder-row{align-items:center;gap:2px;display:flex}.sidebar-folder-caret{width:20px;height:28px;color:var(--text-secondary,#666);cursor:pointer;transition:transform var(--duration-fast,.15s) var(--ease-default,ease);background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex}.sidebar-folder-caret:hover{color:var(--text-primary,inherit);background:var(--accent-light,#0000000d)}.sidebar-folder-caret.open{transform:rotate(90deg)}.sidebar-folder-caret-spacer{flex:none;width:20px}.sidebar-folder{flex:auto;min-width:0}.sidebar-folder-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-folder.drop-target{outline:2px dashed var(--accent-color);outline-offset:-2px;background:var(--accent-light)}.sidebar.collapsed .sidebar-folder-title,.sidebar.collapsed .sidebar-tag-palette,.sidebar.collapsed .sidebar-savedsearch-delete,.sidebar.collapsed .sidebar-savedsearch-add{display:none}.sidebar-section-title-row{justify-content:space-between;align-items:center;gap:4px;display:flex}.sidebar-savedsearch-add{width:22px;height:22px;color:var(--text-secondary,#666);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.sidebar-savedsearch-add:hover{background:var(--accent-light);color:var(--accent-text,var(--accent-color))}.sidebar-savedsearch-row{align-items:center;gap:2px;display:flex}.sidebar-savedsearch-row .sidebar-savedsearch{flex:auto;min-width:0}.sidebar-savedsearch-row .sidebar-savedsearch span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-savedsearch-delete{width:22px;height:22px;color:var(--text-secondary,#666);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex}.sidebar-savedsearch-delete:hover{background:var(--accent-light);color:var(--error-color,#dc2626)}.sidebar-tag-palette{flex-wrap:wrap;gap:6px;padding:6px 12px 8px;display:flex}.sidebar-tag-color{cursor:pointer;border:2px solid #0000;border-radius:50%;width:16px;height:16px;padding:0;box-shadow:inset 0 0 0 1px #00000026}.sidebar-tag-color.selected{border-color:var(--text-primary,#222)}.sidebar-tag-color-none{background:var(--bg-secondary,#eee);color:var(--text-secondary,#666);justify-content:center;align-items:center;display:inline-flex}.sidebar-tag-dot{border-radius:50%;flex:none;width:8px;height:8px;margin-left:auto;margin-right:4px}.sidebar-item .sidebar-tag-dot+.count{margin-left:0}.sidebar-tag-row{align-items:center;gap:2px;display:flex}.sidebar-tag-main{flex:auto;min-width:0}.sidebar-tag-main span:first-of-type{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-tag-menu-toggle{width:22px;height:22px;color:var(--text-secondary,#666);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex}.sidebar-tag-menu-toggle:hover,.sidebar-tag-menu-toggle[aria-expanded=true]{background:var(--accent-light);color:var(--text-primary,inherit)}.sidebar-tag-manage{background:var(--bg-secondary,#f5f5f5);border-radius:6px;flex-direction:column;gap:6px;margin:2px 0 6px 26px;padding:8px;display:flex}.sidebar-tag-manage-row{gap:6px;display:flex}.sidebar-tag-rename-input,.sidebar-tag-merge-select{border:1px solid var(--border-color,#ccc);background:var(--bg-primary,#fff);min-width:0;color:var(--text-primary,inherit);font:inherit;border-radius:4px;flex:auto;padding:4px 8px;font-size:13px}.sidebar-tag-manage-action{background:var(--accent-color);color:var(--accent-contrast,#fff);cursor:pointer;border:none;border-radius:4px;flex:none;padding:4px 10px;font-size:13px}.sidebar-tag-manage-action:disabled{opacity:.5;cursor:default}.sidebar-tag-manage-delete{color:var(--error-color,#dc2626);cursor:pointer;background:0 0;border:none;border-radius:4px;align-self:flex-start;padding:4px 10px;font-size:13px}.sidebar-tag-manage-delete:hover,.sidebar-tag-manage-delete.confirm{background:var(--error-color,#dc2626);color:#fff}.sidebar-tag-manage-delete:disabled{opacity:.5;cursor:default}.sidebar.collapsed .sidebar-tag-menu-toggle,.sidebar.collapsed .sidebar-tag-manage{display:none}.sidebar-item .count.pending-friends-badge{background:var(--accent-color);color:var(--accent-text,#fff)}.sidebar-reminders{padding:0 var(--space-4) var(--space-2)}.sidebar-reminders .sidebar-section-title{align-items:center;gap:var(--space-1,4px);padding:var(--space-3) var(--space-2) var(--space-1);display:flex}.sidebar-reminder-item{align-items:center;gap:var(--space-2,8px);width:100%;padding:var(--space-1,4px) var(--space-2,8px);border-radius:var(--radius-sm,6px);color:var(--text-secondary);font-size:var(--font-size-xs);text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.sidebar-reminder-item:hover{background:var(--accent-soft,#1976d214)}.sidebar-reminder-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.sidebar-reminder-date{color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none}.sidebar.collapsed .sidebar-reminders{display:none}.toast{bottom:var(--space-8);min-width:320px;max-width:500px;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-xl);align-items:center;gap:var(--space-3);z-index:var(--z-lightbox,3000);animation:toastSlideIn .4s var(--ease-bounce);border:1px solid var(--border-color);display:flex;position:fixed;left:50%;overflow:hidden;transform:translate(-50%)}.toast-stack{bottom:calc(var(--space-8) + 92px);gap:var(--space-2);z-index:calc(var(--z-lightbox,3000) + 1000);pointer-events:none;width:max-content;max-width:min(500px, calc(100vw - 2 * var(--space-4)));flex-direction:column-reverse;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast-stack .toast{pointer-events:auto;animation:toastStackIn .3s var(--ease-default);position:static;transform:none}@keyframes toastStackIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.toast:after{content:"";background:var(--toast-accent-color,var(--accent-color));opacity:.8;height:3px;animation:3s linear forwards toastProgress;position:absolute;bottom:0;left:0}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%)translateY(100%)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toastProgress{0%{width:100%}to{width:0%}}.toast-icon{font-size:var(--font-size-xl);font-weight:var(--font-bold);border-radius:var(--radius-full);background:var(--toast-icon-bg,var(--accent-light));flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.toast-message{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-medium);line-height:var(--leading-snug);flex:1}.toast-action{border:1px solid var(--border-color);color:var(--accent-text,var(--accent-color));cursor:pointer;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-semibold);background:0 0;flex-shrink:0;font-family:inherit;transition:all .2s}.toast-action:hover{background:var(--accent-light)}.toast-action:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.toast-close{color:var(--text-tertiary);cursor:pointer;font-size:var(--font-size-lg);padding:var(--space-1);border-radius:var(--radius-sm);transition:all var(--duration-normal) var(--ease-default);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.toast-close:hover{background:var(--hover-overlay);color:var(--text-primary)}.toast-close:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.toast-success{border-left:4px solid var(--success-color);--toast-accent-color:var(--success-color);--toast-icon-bg:var(--success-light)}.toast-success .toast-icon{color:var(--success-color)}.toast-error{border-left:4px solid var(--error-color);--toast-accent-color:var(--error-color);--toast-icon-bg:var(--error-light)}.toast-error .toast-icon{color:var(--error-color)}.toast-warning{border-left:4px solid var(--warning-color);--toast-accent-color:var(--warning-color);--toast-icon-bg:var(--warning-light)}.toast-warning .toast-icon{color:var(--warning-color)}.toast-info{border-left:4px solid var(--info-color);--toast-accent-color:var(--info-color);--toast-icon-bg:var(--info-light)}.toast-info .toast-icon{color:var(--info-color)}.eink-mode .toast{box-shadow:none;border:2px solid #000}.eink-mode .toast:after{background:#000}.eink-mode .toast-icon{color:#000;background:#e0e0e0}.eink-mode .toast-success,.eink-mode .toast-error,.eink-mode .toast-warning,.eink-mode .toast-info{border-left:4px solid #000}@media (width<=768px){.toast{min-width:auto;left:var(--space-4);right:var(--space-4);max-width:none;bottom:var(--space-4);transform:none}.toast-stack{left:var(--space-4);right:var(--space-4);width:auto;max-width:none;bottom:calc(var(--space-4) + 92px);transform:none}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}body:not(.dark-mode):not(.oled-mode):not(.eink-mode):not(.doodle-mode) .auth-container{--bg-canvas:#edf3f6;--bg-secondary:#fff;--bg-primary:#f8fafc;--bg-tertiary:#e5e7eb;--text-primary:#111827;--text-secondary:#334155;--text-muted:#64748b;--border-color:#263d5b3d;--border-color-strong:#64748b;--border-focus:#d97706;--accent-secondary:#e9a23b;--shadow-focus:0 0 0 3px #49b6e552}.auth-container{background:var(--bg-canvas);height:100%;min-height:100%;padding:max(var(--space-5), env(safe-area-inset-top)) max(var(--space-5), env(safe-area-inset-right)) max(var(--space-5), env(safe-area-inset-bottom)) max(var(--space-5), env(safe-area-inset-left));justify-content:center;align-items:flex-start;display:flex;overflow-y:auto}.auth-box{background:var(--bg-secondary);border:2px solid var(--border-color-strong);padding:var(--space-10);width:100%;max-width:440px;animation:authFadeIn .4s var(--ease-out);border-radius:8px;margin:auto;position:relative;box-shadow:7px 7px #263d5b29}.auth-box:before{content:"";top:var(--space-3);left:var(--space-6);right:var(--space-6);border-top:3px solid var(--accent-secondary);pointer-events:none;position:absolute;transform:rotate(-.4deg)}@keyframes authFadeIn{0%{opacity:0;transform:translateY(var(--space-5))}to{opacity:1;transform:translateY(0)}}.setup-info{margin-top:1rem}.setup-info p{color:var(--text-secondary);font-size:.9em;line-height:1.5}.auth-header{text-align:center;margin-bottom:var(--space-8)}.auth-header h1{margin:0 0 var(--space-3) 0;color:var(--text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-semibold)}.auth-header p{color:var(--text-secondary);font-size:var(--font-size-base);line-height:var(--leading-relaxed);margin:0}.demo-login-panel{gap:var(--space-4);margin:calc(-1 * var(--space-2)) 0 var(--space-8);padding:var(--space-5);background:#fff7ed;border:2px solid #d97706;border-radius:8px;flex-direction:column;display:flex;position:relative;overflow:hidden;transform:rotate(-.15deg);box-shadow:4px 4px #d9770633}.demo-login-panel:after{content:"";pointer-events:none;border-top:3px solid #263d5b;border-bottom:2px solid #e9a23b;width:56px;height:16px;position:absolute;top:12px;right:-18px;transform:rotate(24deg)}.demo-login-copy{z-index:1;position:relative}.demo-login-kicker{margin-bottom:var(--space-2);color:#8a3f00;font-size:var(--font-size-xs);font-weight:var(--font-bold);letter-spacing:.06em;text-transform:uppercase;display:inline-block}.demo-login-copy h2{margin:0 0 var(--space-2);color:#172033;font-family:var(--font-display);font-size:var(--font-size-xl);line-height:var(--leading-tight)}.demo-login-copy p{color:#334155;font-size:var(--font-size-sm);line-height:var(--leading-relaxed);margin:0}.demo-login-button{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);color:#172033;cursor:pointer;font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-bold);transition:transform var(--duration-fast) var(--ease-default), box-shadow var(--duration-fast) var(--ease-default), background-color var(--duration-fast) var(--ease-default);background:#f4a340;border:2px solid #263d5b;border-radius:6px;display:flex;position:relative}.demo-login-button:hover:not(:disabled){background:#ffb75d;transform:translate(-1px,-1px);box-shadow:3px 3px #263d5b}.demo-login-button:active:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px #263d5b}.demo-login-button:focus-visible{outline-offset:3px;outline:3px solid #49b6e5}.demo-login-button:disabled{cursor:not-allowed;opacity:.65}.auth-form{gap:var(--space-5);flex-direction:column;display:flex}.auth-error{background:var(--error-light);border:1px solid var(--error-color);color:var(--error-color);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);text-align:center;animation:shake .4s var(--ease-default)}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-group label{font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--font-size-sm)}.form-group input{padding:var(--space-3) var(--space-4);border:2px solid var(--border-color-strong);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--bg-primary);color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease-default), box-shadow var(--duration-fast) var(--ease-default), background-color var(--duration-fast) var(--ease-default);font-family:inherit}.form-group input::placeholder{color:var(--text-muted)}.form-group input:hover:not(:disabled){border-color:var(--border-color-strong)}.form-group input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus);outline:none}.form-group input:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-tertiary)}.form-hint{color:var(--text-muted);font-size:var(--font-size-xs);margin-top:calc(-1 * var(--space-1));line-height:var(--leading-relaxed)}.auth-button{padding:var(--space-4) var(--space-6);font-size:var(--font-size-base);font-weight:var(--font-semibold);cursor:pointer;transition:transform var(--duration-fast) var(--ease-default), box-shadow var(--duration-fast) var(--ease-default), background-color var(--duration-fast) var(--ease-default);color:#fff;margin-top:var(--space-3);background:#263d5b;border:2px solid #263d5b;border-radius:8px;font-family:inherit}.auth-button:hover:not(:disabled){background:#1d2f48;transform:translate(-1px,-1px);box-shadow:4px 4px #263d5b3d}.auth-button:active:not(:disabled){transform:translateY(0);box-shadow:1px 1px #263d5b33}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.oauth-section{margin-top:var(--space-6)}.oauth-divider{align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.oauth-divider:before,.oauth-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.oauth-divider span{color:var(--text-muted);font-size:var(--font-size-sm);white-space:nowrap}.oauth-buttons{gap:var(--space-3);display:flex}.oauth-button{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:2px solid var(--border-color-strong);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--duration-normal) var(--ease-default);flex:1;font-family:inherit;display:flex}.oauth-button:hover:not(:disabled){border-color:var(--border-color-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.oauth-button:active:not(:disabled){transform:translateY(0)}.oauth-button:disabled{opacity:.6;cursor:not-allowed}.oauth-button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.oauth-button svg{flex-shrink:0}.oauth-google:hover:not(:disabled){background:#4285f40d;border-color:#4285f4}.oauth-github:hover:not(:disabled){background:#0000000d;border-color:#333}.auth-footer{margin-top:var(--space-6);text-align:center;padding-top:var(--space-6);border-top:1px solid var(--border-color)}.auth-footer p{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.auth-link{color:var(--accent-active);font-weight:var(--font-semibold);cursor:pointer;font-size:inherit;transition:all var(--duration-normal) var(--ease-default);background:0 0;border:none;padding:0;font-family:inherit;text-decoration:none}.auth-link:hover:not(:disabled){color:var(--text-primary);text-decoration:underline}.auth-link:disabled{opacity:.6;cursor:not-allowed}.auth-link:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}body.dark-mode .auth-container{background:var(--bg-canvas)}body.dark-mode .auth-error{border-color:var(--error-color);color:var(--error-color);background:#f28b8226}body.dark-mode .demo-login-panel,body.oled-mode .demo-login-panel{background:#251d16;border-color:#f4b860;box-shadow:4px 4px #f4b86038}body.dark-mode .demo-login-kicker,body.oled-mode .demo-login-kicker{color:#f4b860}body.dark-mode .demo-login-copy h2,body.oled-mode .demo-login-copy h2{color:#f8fafc}body.dark-mode .demo-login-copy p,body.oled-mode .demo-login-copy p{color:#e2e8f0}body.dark-mode .auth-button{color:#111827;background:#49b6e5;border-color:#49b6e5}body.dark-mode .auth-link{color:#8ab4f8}body.dark-mode .auth-link:hover:not(:disabled){color:#aecbfa}body.dark-mode .oauth-button{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}body.dark-mode .oauth-google:hover:not(:disabled){background:#8ab4f81a;border-color:#8ab4f8}body.dark-mode .oauth-github:hover:not(:disabled){background:#ffffff14;border-color:#aaa}body.oled-mode .auth-container{background:var(--bg-canvas)}body.oled-mode .auth-box{border:1px solid #ffffff1a}body.eink-mode .auth-container{background:var(--bg-canvas)}body.eink-mode .auth-box{box-shadow:none;border:2px solid #000}body.eink-mode .auth-button{color:#fff;background:#000}body.eink-mode .auth-button:hover:not(:disabled){box-shadow:none;background:#333;transform:none}body.eink-mode .auth-link{color:#000;text-decoration:underline}body.eink-mode .auth-error{color:#000;background:#f0f0f0;border:2px solid #000}body.eink-mode .demo-login-panel{box-shadow:none;background:#fff;border:2px solid #000;transform:none}body.eink-mode .demo-login-panel:after{border-color:#000}body.eink-mode .demo-login-kicker,body.eink-mode .demo-login-copy h2,body.eink-mode .demo-login-copy p{color:#000}body.eink-mode .demo-login-button{color:#000;background:#fff;border-color:#000}body.eink-mode .demo-login-button:hover:not(:disabled){box-shadow:none;color:#fff;background:#000;transform:none}body.eink-mode .form-group input:focus{box-shadow:none;border-color:#000}body.eink-mode .oauth-button{background:#fff;border:2px solid #000}body.eink-mode .oauth-button:hover:not(:disabled){box-shadow:none;background:#f0f0f0;transform:none}@media (width<=500px){.auth-box{padding:var(--space-8) var(--space-5);border-radius:8px}.auth-header h1{font-size:var(--font-size-2xl)}.auth-header p{font-size:var(--font-size-sm)}}@media (width<=360px){.auth-container{padding:var(--space-3)}.auth-box{padding:var(--space-6) var(--space-4)}}.auth-language{top:calc(var(--space-3,12px) + env(safe-area-inset-top,0px));right:calc(var(--space-3,12px) + env(safe-area-inset-right,0px));z-index:10;position:absolute}.language-selector{display:inline-block;position:relative}.language-toggle{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;font-size:24px;transition:background-color .2s;display:flex}.language-toggle:hover{background-color:#0000001a}.dark-mode .language-toggle:hover{background-color:#ffffff26}.oled-mode .language-toggle:hover{background-color:#fff3}.language-emoji{font-size:24px;line-height:1}.language-popup{z-index:1000;background:#fff;border-radius:12px;min-width:150px;padding:12px;animation:.2s ease-out slideDown;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 4px 12px #00000026}.dark-mode .language-popup{background:#2d2d2d;box-shadow:0 4px 12px #0006}.oled-mode .language-popup{background:#0a0a0a;border:1px solid #ffffff1a;box-shadow:0 4px 12px #0009}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.language-options{flex-direction:column;gap:4px;display:flex}.language-option{cursor:pointer;color:#333;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:10px;font-size:14px;transition:background-color .2s;display:flex}.dark-mode .language-option{color:#e0e0e0}.oled-mode .language-option{color:#f0f0f0}.language-option:hover{background-color:#0000000d}.dark-mode .language-option:hover{background-color:#ffffff1a}.oled-mode .language-option:hover{background-color:#ffffff26}.language-option.active{background-color:#4285f426}.dark-mode .language-option.active{background-color:#4285f440}.oled-mode .language-option.active{background-color:#4285f44d}.language-emoji-large{font-size:28px;line-height:1}.language-name{text-align:left;flex:1;font-weight:500}.language-option.active .language-name{font-weight:600}@media (width<=768px){.language-popup{right:-8px}.language-toggle{padding:6px;font-size:20px}.language-emoji{font-size:20px}}.offline-banner{border:1px solid var(--border-color,#d0b400);border-left:4px solid var(--warning-color,#f4b400);background:var(--card-background,#fff8e1);color:var(--text-color,#202124);border-radius:8px;align-items:center;gap:10px;margin:0 0 12px;padding:10px 14px;font-size:.9rem;display:flex}.offline-banner svg{color:var(--warning-color,#b06000);flex:none}.offline-banner-text{flex:auto}.offline-banner-retry{border:1px solid var(--border-color,#d0b400);color:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:4px 10px;font-size:.85rem}.offline-banner-retry:hover{background:var(--hover-background,#0000000f)}.error-boundary{background:var(--bg-primary);min-height:100vh;color:var(--text-primary);padding:var(--space-5);font-family:var(--font-body);justify-content:center;align-items:center;display:flex}.error-boundary-content{background:var(--bg-elevated);border:2px solid var(--border-color-strong);border-radius:var(--radius-lg) var(--radius-xl) var(--radius-md) var(--radius-xl);padding:var(--space-10);width:100%;max-width:600px;box-shadow:7px 8px 0 var(--border-color);text-align:center;position:relative}.error-boundary h1{justify-content:center;align-items:center;gap:var(--space-3);margin:0 0 var(--space-5);color:var(--text-primary);font-family:var(--font-display);font-size:var(--font-size-3xl);line-height:var(--leading-tight);display:flex}.error-boundary-mark{width:34px;height:34px;font-family:var(--font-body);font-size:var(--font-size-xl);border:2px solid;border-radius:48% 55% 46% 52%;flex:none;justify-content:center;align-items:center;display:inline-flex;transform:rotate(-3deg)}.error-boundary-message{color:var(--text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--space-6);line-height:var(--leading-relaxed)}.error-boundary-diagnostics{margin:0 0 var(--space-5)}.error-boundary-diagnostic{padding:var(--space-2) var(--space-3);border:1px dashed var(--border-color-strong);border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--bg-tertiary);font-size:var(--font-size-sm);margin:0;display:inline-block}.error-boundary-diagnostic code{color:var(--text-primary);font-family:var(--font-mono);font-weight:var(--font-semibold)}.error-boundary-hint{margin:var(--space-3) auto 0;max-width:500px;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--leading-relaxed)}.error-boundary-hint code{overflow-wrap:anywhere;color:var(--text-primary);font-family:var(--font-mono);font-size:.9em}.error-boundary-details{text-align:left;margin:var(--space-5) 0;background:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--space-4)}.error-boundary-details summary{cursor:pointer;color:var(--accent-text,var(--accent-color));margin-bottom:var(--space-3);-webkit-user-select:none;user-select:none;font-weight:600}.error-boundary-details summary:hover{color:var(--accent-hover)}.error-boundary-stack{color:#f8f8f2;border-radius:var(--radius-sm);margin-top:var(--space-3);background:#2d2d2d;padding:15px;font-family:Courier New,monospace;font-size:.85em;line-height:1.5;overflow-x:auto}.error-boundary-actions{gap:var(--space-3);margin:var(--space-6) 0;justify-content:center;display:flex}.error-boundary-button{min-height:46px;padding:var(--space-3) var(--space-6);font:inherit;font-weight:var(--font-semibold);border:2px solid var(--accent-active);border-radius:var(--radius-md) var(--radius-lg) var(--radius-md) var(--radius-lg);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);background:var(--accent-color);color:var(--text-inverse)}.error-boundary-button:hover{box-shadow:3px 4px 0 var(--border-color-strong);transform:translateY(-1px)rotate(-.2deg)}.error-boundary-button:focus-visible{outline:3px solid var(--border-focus);outline-offset:3px}.error-boundary-button:disabled{cursor:wait;opacity:.72;box-shadow:none;transform:none}.error-boundary-button-secondary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-color-strong)}.error-boundary-button-secondary:hover{background:var(--bg-tertiary);box-shadow:3px 4px 0 var(--border-color)}.error-boundary-help{margin:var(--space-5) auto 0;max-width:450px;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--leading-relaxed)}.error-boundary-status{margin:calc(var(--space-3) * -1) auto var(--space-4);color:var(--text-secondary);font-size:var(--font-size-sm)}.error-boundary-status-error{color:var(--error-color)}@media (width<=600px){.error-boundary-content{padding:var(--space-8) var(--space-5)}.error-boundary h1{font-size:var(--font-size-2xl)}.error-boundary-actions{flex-direction:column}.error-boundary-button{width:100%}}@media (prefers-reduced-motion:reduce){.error-boundary-button{transition:none}.error-boundary-button:hover{transform:none}}
