:root{--bg-color:#f5f3ef;--card-bg:#eae8e3;--text-main:#1a1a1a;--text-muted:#71717a;--border-color:#dddddd;--accent:#9b8ab8;--box-bg:#eae8e3;--code-bg:#eae8e3;--inline-code-bg:rgba(155, 138, 184, 0.12);--shadow-base:rgba(26, 26, 26, 0.06);--shadow-hover:rgba(26, 26, 26, 0.12);--primary-bg:#1a1a1a;--primary-text:#f5f3ef;--quote-bg:#f0ede7;--quote-text:#1a1a1a;--quote-muted:#71717a;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-display:var(--font-body);--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;--radius:2px;--heading-spacing:-0.5px}html[data-theme=dark]{--bg-color:#0f0f0f;--card-bg:#161616;--text-main:#e8e8e8;--text-muted:#888888;--border-color:#1e1e1e;--accent:#c4b4e0;--box-bg:#161616;--code-bg:#161616;--inline-code-bg:rgba(196, 180, 224, 0.1);--shadow-base:rgba(0, 0, 0, 0.35);--shadow-hover:rgba(0, 0, 0, 0.6);--primary-bg:#e8e8e8;--primary-text:#0f0f0f;--quote-bg:#1e1e1e;--quote-text:#e8e8e8;--quote-muted:#888888}html[data-theme=dusk]{--bg-color:#1b1f2a;--card-bg:#232838;--text-main:#eef1ff;--text-muted:#b2b8d0;--border-color:#353b52;--accent:#8aa2ff;--box-bg:#232838;--code-bg:#202535;--inline-code-bg:rgba(138, 162, 255, 0.14);--shadow-base:rgba(0, 0, 0, 0.28);--shadow-hover:rgba(0, 0, 0, 0.48);--primary-bg:#eef1ff;--primary-text:#1b1f2a;--quote-bg:#262c3f;--quote-text:#eef1ff;--quote-muted:#c2c8de}html[data-theme=oled]{--bg-color:#000000;--card-bg:#0a0a0a;--text-main:#f1f1f1;--text-muted:#8f8f8f;--border-color:#171717;--accent:#c4b4e0;--box-bg:#0a0a0a;--code-bg:#0a0a0a;--inline-code-bg:rgba(196, 180, 224, 0.16);--shadow-base:rgba(0, 0, 0, 0.6);--shadow-hover:rgba(0, 0, 0, 0.85);--primary-bg:#f1f1f1;--primary-text:#000000;--quote-bg:#0e0e0e;--quote-text:#f1f1f1;--quote-muted:#8f8f8f}html[data-theme=forest]{--bg-color:#0f1a16;--card-bg:#15241f;--text-main:#dce9df;--text-muted:#8ea69a;--border-color:#243a33;--accent:#79c2a2;--box-bg:#15241f;--code-bg:#12201b;--inline-code-bg:rgba(121, 194, 162, 0.14);--shadow-base:rgba(0, 0, 0, 0.38);--shadow-hover:rgba(0, 0, 0, 0.6);--primary-bg:#dce9df;--primary-text:#0f1a16;--quote-bg:#1b2d26;--quote-text:#dce9df;--quote-muted:#9db4a8;--font-display:Optima,Candara,"Segoe UI",sans-serif;--font-body:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--heading-spacing:-0.2px}html[data-theme=ocean]{--bg-color:#0d141f;--card-bg:#142033;--text-main:#d9e7ff;--text-muted:#8aa3c7;--border-color:#22344d;--accent:#7fb2ff;--box-bg:#142033;--code-bg:#101b2b;--inline-code-bg:rgba(127, 178, 255, 0.14);--shadow-base:rgba(0, 0, 0, 0.4);--shadow-hover:rgba(0, 0, 0, 0.62);--primary-bg:#d9e7ff;--primary-text:#0d141f;--quote-bg:#1a2a40;--quote-text:#d9e7ff;--quote-muted:#9bb5da}html[data-theme=rose]{--bg-color:#1a1116;--card-bg:#271824;--text-main:#f7e9ef;--text-muted:#c5a8b7;--border-color:#3a2634;--accent:#f2a7c4;--box-bg:#271824;--code-bg:#22141f;--inline-code-bg:rgba(242, 167, 196, 0.15);--shadow-base:rgba(0, 0, 0, 0.4);--shadow-hover:rgba(0, 0, 0, 0.65);--primary-bg:#f7e9ef;--primary-text:#1a1116;--quote-bg:#311e2c;--quote-text:#f7e9ef;--quote-muted:#d0b0c0;--font-display:"Hoefler Text",Baskerville,"Palatino Linotype",Georgia,serif;--font-body:Palatino,"Palatino Linotype","Iowan Old Style",Georgia,serif;--heading-spacing:0px}html[data-theme=catppuccin]{--bg-color:#1e1e2e;--card-bg:#252538;--text-main:#cdd6f4;--text-muted:#a6adc8;--border-color:#313244;--accent:#cba6f7;--box-bg:#252538;--code-bg:#202033;--inline-code-bg:rgba(203, 166, 247, 0.15);--shadow-base:rgba(0, 0, 0, 0.38);--shadow-hover:rgba(0, 0, 0, 0.6);--primary-bg:#cdd6f4;--primary-text:#1e1e2e;--quote-bg:#2b2b41;--quote-text:#cdd6f4;--quote-muted:#b8c0df;--font-display:ui-rounded,"SF Pro Rounded","Hiragino Maru Gothic ProN",Quicksand,"Segoe UI",sans-serif;--font-body:ui-rounded,"SF Pro Rounded","Hiragino Maru Gothic ProN",Quicksand,"Segoe UI",sans-serif;--radius:12px;--heading-spacing:-0.2px}html[data-theme=one-dark]{--bg-color:#282c34;--card-bg:#2f3440;--text-main:#abb2bf;--text-muted:#7f8796;--border-color:#3a404c;--accent:#61afef;--box-bg:#2f3440;--code-bg:#262b33;--inline-code-bg:rgba(97, 175, 239, 0.16);--shadow-base:rgba(0, 0, 0, 0.38);--shadow-hover:rgba(0, 0, 0, 0.6);--primary-bg:#abb2bf;--primary-text:#282c34;--quote-bg:#353b47;--quote-text:#abb2bf;--quote-muted:#8f97a7}html[data-theme=gruvbox]{--bg-color:#282828;--card-bg:#32302f;--text-main:#ebdbb2;--text-muted:#bdae93;--border-color:#504945;--accent:#d79921;--box-bg:#32302f;--code-bg:#282828;--inline-code-bg:rgba(215, 153, 33, 0.16);--shadow-base:rgba(0, 0, 0, 0.4);--shadow-hover:rgba(0, 0, 0, 0.64);--primary-bg:#ebdbb2;--primary-text:#282828;--quote-bg:#3c3836;--quote-text:#ebdbb2;--quote-muted:#d5c4a1;--font-mono:ui-monospace,"JetBrains Mono","SF Mono","Fira Mono",Menlo,Consolas,monospace;--font-display:var(--font-mono);--font-body:var(--font-mono);--radius:0px;--heading-spacing:0px}html[data-theme=nord]{--bg-color:#2e3440;--card-bg:#3b4252;--text-main:#eceff4;--text-muted:#d8dee9;--border-color:#4c566a;--accent:#88c0d0;--box-bg:#3b4252;--code-bg:#2e3440;--inline-code-bg:rgba(136, 192, 208, 0.16);--shadow-base:rgba(0, 0, 0, 0.35);--shadow-hover:rgba(0, 0, 0, 0.58);--primary-bg:#eceff4;--primary-text:#2e3440;--quote-bg:#434c5e;--quote-text:#eceff4;--quote-muted:#d8dee9;--font-display:"Avenir Next",Avenir,"Segoe UI","Helvetica Neue",sans-serif;--font-body:Avenir,"Avenir Next","Segoe UI","Helvetica Neue",sans-serif;--radius:4px;--heading-spacing:-0.3px}html[data-theme=dracula]{--bg-color:#282a36;--card-bg:#303341;--text-main:#f8f8f2;--text-muted:#b8b8b2;--border-color:#44475a;--accent:#bd93f9;--box-bg:#303341;--code-bg:#282a36;--inline-code-bg:rgba(189, 147, 249, 0.16);--shadow-base:rgba(0, 0, 0, 0.4);--shadow-hover:rgba(0, 0, 0, 0.64);--primary-bg:#f8f8f2;--primary-text:#282a36;--quote-bg:#383a4c;--quote-text:#f8f8f2;--quote-muted:#d0d0cb}html[data-theme=solarized-light]{--bg-color:#fdf6e3;--card-bg:#eee8d5;--text-main:#586e75;--text-muted:#839496;--border-color:#d9cfb4;--accent:#268bd2;--box-bg:#eee8d5;--code-bg:#eee8d5;--inline-code-bg:rgba(38, 139, 210, 0.14);--shadow-base:rgba(88, 110, 117, 0.1);--shadow-hover:rgba(88, 110, 117, 0.2);--primary-bg:#073642;--primary-text:#fdf6e3;--quote-bg:#f6efdc;--quote-text:#586e75;--quote-muted:#93a1a1;--font-display:Charter,Georgia,"Times New Roman",serif;--font-body:Charter,Georgia,"Times New Roman",serif;--heading-spacing:-0.2px}html[data-theme=github-light]{--bg-color:#ffffff;--card-bg:#f6f8fa;--text-main:#1f2328;--text-muted:#59636e;--border-color:#d0d7de;--accent:#0969da;--box-bg:#f6f8fa;--code-bg:#f6f8fa;--inline-code-bg:rgba(9, 105, 218, 0.12);--shadow-base:rgba(31, 35, 40, 0.08);--shadow-hover:rgba(31, 35, 40, 0.16);--primary-bg:#1f2328;--primary-text:#ffffff;--quote-bg:#f0f3f6;--quote-text:#1f2328;--quote-muted:#59636e}html[data-theme=github-dark]{--bg-color:#0d1117;--card-bg:#161b22;--text-main:#c9d1d9;--text-muted:#8b949e;--border-color:#30363d;--accent:#58a6ff;--box-bg:#161b22;--code-bg:#0d1117;--inline-code-bg:rgba(88, 166, 255, 0.15);--shadow-base:rgba(0, 0, 0, 0.3);--shadow-hover:rgba(0, 0, 0, 0.55);--primary-bg:#c9d1d9;--primary-text:#0d1117;--quote-bg:#0d1117;--quote-text:#c9d1d9;--quote-muted:#8b949e}html[data-theme=obsidian-light]{--bg-color:#ffffff;--card-bg:#f3f3f3;--text-main:#2c3e50;--text-muted:#7f8c8d;--border-color:#ecf0f1;--accent:#3498db;--box-bg:#f3f3f3;--code-bg:#ecf0f1;--inline-code-bg:rgba(52, 152, 219, 0.12);--shadow-base:rgba(44, 62, 80, 0.08);--shadow-hover:rgba(44, 62, 80, 0.16);--primary-bg:#2c3e50;--primary-text:#ffffff;--quote-bg:#f8f9fa;--quote-text:#2c3e50;--quote-muted:#7f8c8d}html[data-theme=obsidian-dark]{--bg-color:#1e1e1e;--card-bg:#2d2d2d;--text-main:#ececec;--text-muted:#a0a0a0;--border-color:#383838;--accent:#3498db;--box-bg:#2d2d2d;--code-bg:#1a1a1a;--inline-code-bg:rgba(52, 152, 219, 0.15);--shadow-base:rgba(0, 0, 0, 0.4);--shadow-hover:rgba(0, 0, 0, 0.65);--primary-bg:#ececec;--primary-text:#1e1e1e;--quote-bg:#252525;--quote-text:#ececec;--quote-muted:#a0a0a0}html[data-theme=primary-light]{--bg-color:hsla(35, 36%, 96%, 1);--card-bg:hsla(35, 37%, 92%, 1);--text-main:hsla(31, 45%, 24%, 1);--text-muted:hsla(35, 28%, 40%, 1);--border-color:hsla(37, 38%, 83%, 1);--accent:hsl(30, 23%, 54%);--box-bg:hsla(34, 34%, 90%, 1);--code-bg:hsla(35, 37%, 92%, 1);--inline-code-bg:hsla(34, 37%, 70%, 0.15);--shadow-base:rgba(0, 0, 0, 0.08);--shadow-hover:rgba(0, 0, 0, 0.16);--primary-bg:hsla(31, 45%, 24%, 1);--primary-text:hsla(36, 38%, 98%, 1);--quote-bg:hsla(34, 34%, 90%, 1);--quote-text:hsla(31, 45%, 24%, 1);--quote-muted:hsla(35, 28%, 40%, 1);--font-display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--font-body:Charter,"Iowan Old Style","Palatino Linotype",Georgia,serif;--radius:3px;--heading-spacing:-0.3px}html[data-theme=primary-dark]{--bg-color:hsla(30, 19%, 15%, 1);--card-bg:hsla(30, 17%, 14%, 1);--text-main:hsla(34, 39%, 74%, 1);--text-muted:hsla(35, 27%, 55%, 1);--border-color:hsla(28, 22%, 19%, 1);--accent:hsl(28, 28%, 28%);--box-bg:hsla(29, 16%, 13%, 1);--code-bg:hsla(30, 17%, 14%, 1);--inline-code-bg:hsla(34, 24%, 40%, 0.2);--shadow-base:rgba(0, 0, 0, 0.3);--shadow-hover:rgba(0, 0, 0, 0.55);--primary-bg:hsla(34, 39%, 74%, 1);--primary-text:hsla(30, 19%, 15%, 1);--quote-bg:hsla(30, 17%, 14%, 1);--quote-text:hsla(34, 39%, 74%, 1);--quote-muted:hsla(35, 27%, 55%, 1);--font-display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--font-body:Charter,"Iowan Old Style","Palatino Linotype",Georgia,serif;--radius:3px;--heading-spacing:-0.3px}.back-btn,.copyright-box,.module,.post-navigation a,.theme-option,.theme-switcher,.theme-switcher-trigger,body{transition:background-color .4s ease,border-color .4s ease,color .4s ease,box-shadow .4s ease}.is-home .module{transition:background-color .4s ease,border-color .4s ease,transform .2s cubic-bezier(.2, 0, 0, 1),box-shadow .2s ease,opacity .18s ease;opacity:0}.is-home .module.dragging{transition:background-color .4s ease,border-color .4s ease}body.is-home.layout-ready .module{opacity:1;animation:card-in .55s cubic-bezier(.16,1,.3,1) backwards}@keyframes card-in{from{opacity:0;transform:rotate(var(--rot,0deg)) translateY(16px) scale(.98)}}body.is-home.layout-ready .mod-profile{animation-delay:0s}body.is-home.layout-ready .mod-nav{animation-delay:80ms}body.is-home.layout-ready .mod-posts{animation-delay:.16s}body.is-home.layout-ready .mod-quote{animation-delay:.24s}body.is-home.layout-ready .mod-contact{animation-delay:.32s}body.is-home.layout-ready .mod-tags{animation-delay:.4s}body.is-post .post-container{animation:rise-in .6s cubic-bezier(.16,1,.3,1) both}@keyframes rise-in{from{opacity:0;transform:translateY(16px)}}body,html{margin:0;padding:0;width:100%;min-height:100dvh;font-family:var(--font-body);background-color:var(--bg-color);color:var(--text-main);background-image:radial-gradient(var(--border-color) 1px,transparent 1px);background-size:24px 24px}body,html{--glow-a:color-mix(in srgb, var(--accent) 6%, transparent);--glow-b:color-mix(in srgb, var(--accent) 4%, transparent);background-image:radial-gradient(560px circle at 18% 22%,var(--glow-a),transparent 65%),radial-gradient(720px circle at 82% 78%,var(--glow-b),transparent 70%),radial-gradient(var(--border-color) 1px,transparent 1px);background-size:auto,auto,24px 24px}::selection{background:color-mix(in srgb,var(--accent) 42%,transparent);color:var(--bg-color)}::-moz-selection{background:color-mix(in srgb,var(--accent) 42%,transparent);color:var(--bg-color)}*{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:999px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body.is-home{overflow:hidden;position:fixed;touch-action:none}.controls{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));right:max(24px,env(safe-area-inset-right));z-index:9999}button{background:#111;color:#f5f5f5;border:none;padding:12px 24px;font-size:14px;cursor:pointer;border-radius:var(--radius);transition:background .2s;box-shadow:0 4px 12px var(--shadow-base)}button:hover{background:#1f1f1f}.module{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);padding:24px;box-sizing:border-box;box-shadow:0 8px 24px var(--shadow-base);display:flex;flex-direction:column;gap:16px}.is-home .module{position:absolute;cursor:grab;user-select:none;transition:transform .2s cubic-bezier(.2, 0, 0, 1),box-shadow .2s ease;transform-origin:center center;max-width:calc(100vw - 32px);max-height:calc(100dvh - 100px);overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.is-home .module::-webkit-scrollbar{display:none}.is-home .module.dragging{cursor:grabbing;box-shadow:0 20px 48px var(--shadow-hover);transition:none}.module h3{padding-bottom:10px;border-bottom:1px solid var(--border-color);background-image:linear-gradient(90deg,var(--accent),transparent 70%);background-repeat:no-repeat;background-size:42px 2px;background-position:bottom left}h1,h2,h3{margin:0;font-weight:600;font-family:var(--font-display);letter-spacing:var(--heading-spacing)}p{margin:0;line-height:1.6;font-size:18px}a{color:var(--text-main);text-decoration:none;transition:all .2s}.module a:not(.tag):not(.back-btn):not(.post-tag){border-bottom:1px solid var(--text-muted)}.module a:not(.tag):not(.back-btn):not(.post-tag):hover{border-color:var(--accent);color:var(--accent)}.mod-profile{width:300px}.mod-posts{width:340px}.mod-quote{width:280px}.mod-tags{width:260px}.mod-nav{width:240px}.nav-link{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color)!important;padding-bottom:8px;font-size:15px}.nav-link:last-child{border-bottom:none!important;padding-bottom:0}.nav-link span{opacity:0;transform:translateX(-8px);transition:all .2s;color:var(--text-muted)}.nav-link:hover span{opacity:1;transform:translateX(0);color:var(--accent)}.nav-link{transition:color .2s,border-color .2s}.nav-link:hover{color:var(--accent);border-color:var(--accent)!important}.post-item{border-bottom:1px solid var(--border-color);padding-bottom:12px}.post-item:last-child{border-bottom:none;padding-bottom:0}.post-meta{font-size:13px;color:var(--text-muted);margin-bottom:4px;display:block}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag{border:1px solid var(--border-color);padding:4px 10px;font-size:12px;border-radius:var(--radius);transition:background-color .2s,border-color .2s,color .2s,transform .2s}.tag:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);transform:translateY(-1px)}.tag-primary{background:#111;color:#f5f5f5;border-color:#111}.tag-primary:hover{background:#1f1f1f;border-color:#1f1f1f;color:#f5f5f5}.svg-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.back-btn{display:inline-block;background:var(--card-bg);border:1px solid var(--border-color);padding:8px 16px;border-radius:var(--radius);font-size:14px;box-shadow:0 4px 12px rgba(0,0,0,.05)}.back-btn:hover{background:var(--bg-color)}.post-container{position:relative;margin:96px auto 48px;max-width:760px;width:90%;padding:clamp(28px,5vw,56px);gap:0;cursor:auto}.post-header{margin-bottom:40px;padding-bottom:28px;border-bottom:1px solid var(--border-color)}.post-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-family:var(--font-body);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.post-eyebrow-sep{opacity:.5}.post-title{margin:0;font-size:clamp(30px, 5vw, 44px);line-height:1.12}.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.post-tag{font-family:var(--font-body);font-size:12px;letter-spacing:.02em;color:var(--text-muted);padding:3px 11px;border:1px solid var(--border-color);border-radius:999px;transition:color .2s,border-color .2s}.post-tag:hover{color:var(--accent);border-color:var(--accent)}.post-content{font-size:18px;line-height:1.75}.post-content>:first-child{margin-top:0}.post-content p{margin:0 0 1.35em;line-height:1.75}.post-content>p:first-of-type{font-size:1.07em}.post-content h2,.post-content h3,.post-content h4{line-height:1.25;letter-spacing:var(--heading-spacing)}.post-content h2{font-size:1.5em;margin:2.1em 0 .7em;padding-left:16px;border-left:3px solid var(--accent)}.post-content h3{font-size:1.2em;margin:1.8em 0 .5em}.post-content h4{font-size:1.05em;margin:1.6em 0 .5em}.post-content ol,.post-content ul{margin:0 0 1.35em;padding-left:1.4em}.post-content li{margin-bottom:.5em;line-height:1.75}.post-content li::marker{color:var(--accent)}.post-content hr{border:none;border-top:1px solid var(--border-color);margin:2.4em 0}.post-content blockquote{margin:1.7em 0;padding:2px 0 2px 22px;border-left:3px solid var(--accent);color:var(--text-muted);font-style:italic}.post-content blockquote p:last-child{margin-bottom:0}.post-content img{max-width:100%;border-radius:var(--radius);border:1px solid var(--border-color)}.post-content pre{background:var(--code-bg);padding:16px;border:1px solid var(--border-color);overflow-x:auto;border-radius:var(--radius);font-family:var(--font-mono);font-size:14px;line-height:1.5;margin:1.6em 0}.post-content code{font-family:var(--font-mono);font-size:.88em;background:var(--inline-code-bg);padding:2px 6px;border-radius:var(--radius)}.post-content pre code{background:0 0;padding:0;font-size:inherit}.post-content table{display:block;width:max-content;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:1.8em 0;font-size:15px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius)}.post-content td,.post-content th{border:1px solid var(--border-color);padding:10px 14px;text-align:left;vertical-align:top;line-height:1.55}.post-content th{background:var(--box-bg);font-weight:600;font-family:var(--font-display)}html[data-theme=forest] .post-content>p:first-of-type::first-letter,html[data-theme=primary-dark] .post-content>p:first-of-type::first-letter,html[data-theme=primary-light] .post-content>p:first-of-type::first-letter,html[data-theme=rose] .post-content>p:first-of-type::first-letter{float:left;font-family:var(--font-display);font-size:3.1em;line-height:.78;padding:6px 10px 0 0;color:var(--accent);font-weight:600}.post-content .footnotes-sep{display:none}.post-content .footnotes{margin-top:3em;padding-top:1.4em;border-top:1px solid var(--border-color);font-size:14px;line-height:1.7;color:var(--text-muted)}.post-content .footnotes ol{margin:0;padding-left:1.3em}.post-content .footnotes li{margin-bottom:.7em;line-height:1.7}.post-content .footnotes li::marker{color:var(--text-muted)}.post-content .footnote-ref a{border-bottom:none!important;color:var(--accent);font-weight:600;padding:0 1px}.post-content .footnote-backref{border-bottom:none!important;margin-left:4px}.archive-item{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-color)}.archive-item:last-child{border-bottom:none}.archive-item a{flex-grow:1;font-size:18px;border:none!important}.archive-item a:hover{color:var(--accent)}.tag-cloud a{display:inline-block;margin:4px 8px;border:none!important;text-decoration:none;transition:transform .2s}.tag-cloud a:hover{color:var(--accent)!important;transform:scale(1.05)}.category-tree ul{list-style:none;padding-left:20px}.category-tree>ul{padding-left:0}.category-tree li{padding:6px 0}.category-tree a{border:none!important}.category-tree a:hover{color:var(--accent)}.category-list-count{margin-left:8px;color:var(--text-muted);font-size:12px}.pagination{display:flex;gap:16px;justify-content:center}.pagination a,.pagination span{padding:4px 12px;border:1px solid var(--border-color);border-radius:var(--radius);font-size:14px}.pagination .current{background:var(--text-main);color:#fff;border-color:var(--text-main)}.pagination a:hover{border-color:var(--accent);color:var(--accent)}.mod-contact{width:auto;min-width:160px}.mod-contact a{transition:color .2s,transform .2s}.mod-contact a:hover{color:var(--accent)!important;transform:translateY(-2px)}.copyright-box{margin-top:48px;padding:16px 20px;background:var(--box-bg);border:1px solid var(--border-color);border-radius:var(--radius);font-size:13px;color:var(--text-muted);line-height:1.6}.copyright-box a{color:var(--text-main);border-bottom:1px solid var(--text-muted);border-radius:0}.copyright-box a:hover{border-color:var(--accent);color:var(--accent)}.post-navigation{display:flex;justify-content:space-between;margin-top:32px;padding-top:24px;border-top:1px solid var(--border-color);gap:16px}.post-navigation a{flex:1;display:flex;flex-direction:column;border:none!important;padding:12px;border-radius:var(--radius);background:var(--box-bg);transition:background .2s;text-decoration:none}.post-navigation a:hover{background:var(--bg-color)}.nav-prev{text-align:left}.nav-next{text-align:right}.nav-label{font-size:12px;color:var(--text-muted);margin-bottom:4px}.nav-title{font-size:14px;font-weight:500;color:var(--text-main)}.nav-next.empty,.nav-prev.empty{background:0 0;pointer-events:none}.global-footer{font-size:12px;color:var(--text-muted);line-height:1.6}.global-footer a{border-bottom:1px solid var(--border-color);color:inherit}.global-footer a:hover{color:var(--accent);border-color:var(--accent)}body.is-home .global-footer{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:max(24px,env(safe-area-inset-left));z-index:100;pointer-events:none}body.is-home .global-footer a{pointer-events:auto}body.is-post .global-footer{position:relative;text-align:center;padding:24px 0 48px 0}.katex-display{overflow-x:auto;overflow-y:hidden;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.katex-display::-webkit-scrollbar{height:4px}.katex-display::-webkit-scrollbar-track{background:0 0}.katex-display::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius)}.theme-switcher{position:fixed;top:24px;right:max(24px,env(safe-area-inset-right));z-index:9999;width:44px;height:44px;padding:0;background:var(--card-bg);color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius);display:none;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;overflow:hidden;box-shadow:0 4px 12px var(--shadow-base);transition:width .22s ease,padding .22s ease,background-color .4s ease,border-color .4s ease,color .4s ease,box-shadow .4s ease}.theme-switcher.open,.theme-switcher:focus-within{width:min(92vw,360px);height:auto;min-height:244px;padding:8px;align-items:stretch;justify-content:flex-start;border-color:var(--accent);box-shadow:0 10px 28px var(--shadow-hover)}.theme-switcher-trigger{appearance:none;border:1px solid transparent;background:0 0;color:currentColor;position:absolute;inset:0;width:100%;height:100%;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.theme-switcher.open .theme-switcher-trigger,.theme-switcher:focus-within .theme-switcher-trigger{position:static;width:28px;height:28px;align-self:flex-start}.theme-switcher-trigger:hover{border-color:var(--border-color);background:var(--bg-color)}.theme-switcher-trigger .svg-icon{width:18px;height:18px;stroke:currentColor}.theme-options{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;opacity:0;transform:translateY(6px);pointer-events:none;overflow:hidden;min-height:0}.theme-switcher.open .theme-options,.theme-switcher:focus-within .theme-options{display:grid;opacity:1;transform:translateY(0);pointer-events:auto}.theme-option{appearance:none;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-main);border-radius:var(--radius);font:inherit;font-size:12px;line-height:1.2;text-align:left;padding:7px 8px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-option:hover{border-color:var(--accent);color:var(--accent)}.theme-option.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--bg-color));color:var(--text-main)}@media (hover:hover){.theme-switcher:hover{width:min(92vw,360px);height:auto;min-height:244px;padding:8px;align-items:stretch;justify-content:flex-start;border-color:var(--accent);box-shadow:0 10px 28px var(--shadow-hover)}.theme-switcher:hover .theme-switcher-trigger{align-self:flex-start}.theme-switcher:hover .theme-options{display:grid;opacity:1;transform:translateY(0);pointer-events:auto}}.friends-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:32px}.friend-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--box-bg);border:1px solid var(--border-color)!important;border-radius:var(--radius);transition:transform .2s,border-color .2s,box-shadow .2s;text-decoration:none!important}.friend-card:hover{transform:translateY(-2px);border-color:var(--accent)!important;box-shadow:0 4px 12px var(--shadow-base)}.friend-avatar{width:48px;height:48px;border-radius:var(--radius);object-fit:cover;border:1px solid var(--border-color);background:var(--card-bg)}.friend-info{display:flex;flex-direction:column;gap:4px;overflow:hidden}.friend-name{font-size:15px;font-weight:600;color:var(--text-main)}.friend-card:hover .friend-name{color:var(--accent)}.friend-desc{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media screen and (max-width:768px){body.is-home{position:relative;display:flex;flex-direction:column;align-items:center;overflow-x:hidden;overflow-y:auto;touch-action:auto;padding:max(16px,env(safe-area-inset-top)) 0 16px}.controls{display:none}.theme-switcher,.theme-switcher.open{display:none}.is-home .module{position:relative;left:auto!important;top:auto!important;transform:none!important;width:calc(100vw - 24px);max-width:520px;max-height:none;margin:0 auto 14px;cursor:auto;opacity:1;overflow:visible;animation:none}.is-home .module.dragging{box-shadow:0 8px 24px var(--shadow-base)}.mod-profile{order:1}.mod-nav{order:2}.mod-posts{order:3}.mod-tags{order:4}.mod-contact{order:5}.mod-quote{order:6}.mod-contact,.mod-nav,.mod-posts,.mod-profile,.mod-quote,.mod-tags{width:calc(100vw - 24px);max-width:520px;min-width:0}.footnotes a,.post-content a{display:inline-block;max-width:100%;word-break:break-word;overflow-wrap:anywhere}.footnotes li,.footnotes ol{padding-left:10px;margin-left:0;list-style-position:inside}body.is-home .global-footer{position:relative;order:7;width:calc(100vw - 24px);max-width:520px;box-sizing:border-box;left:auto;bottom:auto;padding:12px 0 20px;text-align:left}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}@media (hover:hover){.is-home .module.dragging{box-shadow:0 8px 24px var(--shadow-base)}}}#reading-progress{position:fixed;top:0;left:0;width:0%;height:2px;background:var(--accent);z-index:9998;transition:width .1s linear;pointer-events:none}.copy-btn{position:absolute;top:8px;right:8px;background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-muted);padding:4px 6px;border-radius:var(--radius);cursor:pointer;font-size:11px;display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .15s,color .15s,border-color .15s;line-height:1;box-shadow:none}.copy-btn:focus,pre:hover .copy-btn{opacity:1}.copy-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--card-bg)}.copy-btn.copied{color:var(--accent);border-color:var(--accent);opacity:1}.fn-tooltip{position:absolute;z-index:9000;max-width:320px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius);padding:10px 14px;font-size:13px;color:var(--text-muted);line-height:1.55;box-shadow:0 8px 24px var(--shadow-hover);pointer-events:none}.fn-tooltip p{margin:0;font-size:13px}.fn-tooltip a{border-bottom:1px solid var(--border-color)}.related-posts{margin-top:40px;padding-top:24px;border-top:1px solid var(--border-color)}.related-posts-title{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}.related-posts-list{display:flex;flex-direction:column;gap:8px}.related-post-item{display:flex;align-items:baseline;gap:12px;border-bottom:none!important;padding:6px 0}.related-post-item:hover .related-post-name{color:var(--accent)}.related-post-name{font-size:15px;color:var(--text-main);border-bottom:1px solid var(--border-color);transition:color .2s,border-color .2s}.related-post-item:hover .related-post-name{border-color:var(--accent)}