@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/62492e45f348cf87-s.0nej_lxd5q~2o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/8f9704ed0c18c9e0-s.0kr5766.tjsv_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/c73d4b34880585a8-s.0xzjw9gd~3oqw.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/f00b8cc54454926d-s.0r2x4jit4v-hc.woff2)format("woff2");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:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/741805f5bd1ef272-s.0bsrhmc7ksh9o.woff2)format("woff2");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:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/ea3421846039b7f3-s.p.0ohrq615g_kqa.woff2)format("woff2");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:"Source Serif 4";font-style:italic;font-weight:500;font-display:swap;src:url(../media/62492e45f348cf87-s.0nej_lxd5q~2o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:500;font-display:swap;src:url(../media/8f9704ed0c18c9e0-s.0kr5766.tjsv_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:500;font-display:swap;src:url(../media/c73d4b34880585a8-s.0xzjw9gd~3oqw.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:500;font-display:swap;src:url(../media/f00b8cc54454926d-s.0r2x4jit4v-hc.woff2)format("woff2");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:"Source Serif 4";font-style:italic;font-weight:500;font-display:swap;src:url(../media/741805f5bd1ef272-s.0bsrhmc7ksh9o.woff2)format("woff2");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:"Source Serif 4";font-style:italic;font-weight:500;font-display:swap;src:url(../media/ea3421846039b7f3-s.p.0ohrq615g_kqa.woff2)format("woff2");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:"Source Serif 4";font-style:italic;font-weight:600;font-display:swap;src:url(../media/62492e45f348cf87-s.0nej_lxd5q~2o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:600;font-display:swap;src:url(../media/8f9704ed0c18c9e0-s.0kr5766.tjsv_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:600;font-display:swap;src:url(../media/c73d4b34880585a8-s.0xzjw9gd~3oqw.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:600;font-display:swap;src:url(../media/f00b8cc54454926d-s.0r2x4jit4v-hc.woff2)format("woff2");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:"Source Serif 4";font-style:italic;font-weight:600;font-display:swap;src:url(../media/741805f5bd1ef272-s.0bsrhmc7ksh9o.woff2)format("woff2");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:"Source Serif 4";font-style:italic;font-weight:600;font-display:swap;src:url(../media/ea3421846039b7f3-s.p.0ohrq615g_kqa.woff2)format("woff2");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:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/20aee433927f7d4b-s.157oer57eo50s.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/256e1f7f180674ba-s.0lzyohd.mq-zj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/be3bf58b83159894-s.0k50~bcr4_n6n.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/753b6407f468151f-s.0ld551rg41h9m.woff2)format("woff2");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:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/292081311a6a8abc-s.0kzsaos0rt4.l.woff2)format("woff2");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:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.0nhx~dwif.9~q.woff2)format("woff2");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:"Source Serif 4";font-style:normal;font-weight:500;font-display:swap;src:url(../media/20aee433927f7d4b-s.157oer57eo50s.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:500;font-display:swap;src:url(../media/256e1f7f180674ba-s.0lzyohd.mq-zj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:500;font-display:swap;src:url(../media/be3bf58b83159894-s.0k50~bcr4_n6n.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:500;font-display:swap;src:url(../media/753b6407f468151f-s.0ld551rg41h9m.woff2)format("woff2");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:"Source Serif 4";font-style:normal;font-weight:500;font-display:swap;src:url(../media/292081311a6a8abc-s.0kzsaos0rt4.l.woff2)format("woff2");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:"Source Serif 4";font-style:normal;font-weight:500;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.0nhx~dwif.9~q.woff2)format("woff2");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:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/20aee433927f7d4b-s.157oer57eo50s.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/256e1f7f180674ba-s.0lzyohd.mq-zj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/be3bf58b83159894-s.0k50~bcr4_n6n.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/753b6407f468151f-s.0ld551rg41h9m.woff2)format("woff2");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:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/292081311a6a8abc-s.0kzsaos0rt4.l.woff2)format("woff2");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:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.0nhx~dwif.9~q.woff2)format("woff2");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:"Source Serif 4 Fallback";src:local(Times New Roman);ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.0%;size-adjust:117.91%}.source_serif_4_440a5d8-module__U5EQmW__className{font-family:"Source Serif 4","Source Serif 4 Fallback"}.source_serif_4_440a5d8-module__U5EQmW__variable{--font-source-serif:"Source Serif 4", "Source Serif 4 Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");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 Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_8e1b1c2a-module__OyRuAW__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_8e1b1c2a-module__OyRuAW__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
.KeyboardShortcuts-module__DR4hrq__overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.KeyboardShortcuts-module__DR4hrq__modal{background:var(--card);border:1px solid var(--border);border-radius:12px;width:90%;max-width:360px;padding:1.5rem 2rem;box-shadow:0 8px 32px #0000004d}.KeyboardShortcuts-module__DR4hrq__modal h3{color:var(--foreground);margin:0 0 1rem;font-size:1.1rem}.KeyboardShortcuts-module__DR4hrq__list{margin:0;padding:0}.KeyboardShortcuts-module__DR4hrq__list>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.KeyboardShortcuts-module__DR4hrq__list>div:last-child{border-bottom:none}.KeyboardShortcuts-module__DR4hrq__list dt{gap:.25rem;font-weight:400;display:flex}.KeyboardShortcuts-module__DR4hrq__list dd{color:var(--muted-foreground);margin:0;font-size:.9rem}.KeyboardShortcuts-module__DR4hrq__footer{color:var(--muted-foreground);text-align:center;margin:1rem 0 0;font-size:.8rem}.KeyboardShortcuts-module__DR4hrq__helpButton{background:var(--card);border:1px solid var(--border);width:36px;height:36px;color:var(--muted-foreground);cursor:pointer;z-index:50;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:600;transition:all .2s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 2px 8px #0000001a}.KeyboardShortcuts-module__DR4hrq__helpButton:hover{background:var(--accent);color:var(--foreground);border-color:var(--accent);transform:scale(1.05)}@media (max-width:640px){.KeyboardShortcuts-module__DR4hrq__helpButton{width:32px;height:32px;font-size:.9rem;bottom:1rem;right:1rem}}
*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.break-all{word-break:break-all}.border{border-width:1px}.text-xl{font-size:1.25rem;line-height:1.75rem}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.underline{text-decoration-line:underline}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--background:#1f1f1f;--foreground:#e6e6e6;--card:#242424;--muted:#333;--muted-foreground:#949494;--muted-secondary:#999;--accent:#6aaf8c;--accent-foreground:#1f1f1f;--border:#383838;--font-serif:var(--font-source-serif), Georgia, serif;--font-mono:var(--font-jetbrains), monospace}.light{--background:#fafafa;--foreground:#262626;--card:#fff;--muted:#ebebeb;--muted-foreground:#737373;--muted-secondary:#666;--accent:#3d8f66;--accent-foreground:#fff;--border:#d1d1d1}body,.site-header,.site-footer,.card,.toc,.series-nav,.series-link,.blog-subscribe,.post-reactions,.command-palette,.mobile-nav,.theme-toggle,.share-btn,.tag,.search-filter-chip,.tag-cloud-item,.gallery-item,main,h1,h2,h3,h4,h5,h6,p,a,li,input,textarea,select,button,.prose pre,.prose code,.prose blockquote{transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s}@media (prefers-reduced-motion:reduce){body,.site-header,.site-footer,.card,.toc,.series-nav,.series-link,.blog-subscribe,.post-reactions,.command-palette,.mobile-nav,.theme-toggle,.share-btn,.tag,.search-filter-chip,.tag-cloud-item,.gallery-item,main,h1,h2,h3,h4,h5,h6,p,a,li,input,textarea,select,button,.prose pre,.prose code,.prose blockquote{transition:none!important}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-serif);background:var(--background);color:var(--foreground);font-variant-numeric:tabular-nums;flex-direction:column;min-height:100vh;font-size:1.1rem;line-height:1.7;display:flex}.skip-to-content{z-index:9999;background:var(--accent);color:var(--background);padding:.75rem 1.5rem;font-weight:600;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-to-content:focus-visible{outline:2px solid var(--foreground);outline-offset:2px;left:0}.site-header{border-bottom:1px solid var(--border)}.site-header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;max-width:768px;margin:0 auto;padding:1rem;display:flex;position:relative}.site-logo{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:-.02em;color:var(--foreground);font-size:.875rem;font-weight:500;text-decoration:none}.site-logo:hover{color:var(--foreground);text-decoration:none}.site-nav{align-items:center;gap:1rem;display:flex}.site-nav a,.site-nav button{font-family:var(--font-mono);color:var(--muted-foreground);font-size:.8rem;text-decoration:none;transition:color .15s}.site-nav a:hover,.site-nav button:hover{color:var(--accent)}.site-nav a.active{color:var(--foreground)}.nav-more{position:relative}.nav-more-btn{cursor:pointer;font-family:var(--font-mono);background:0 0;border:none;padding:.5rem;font-size:.8rem}.nav-dropdown{z-index:50;padding-top:.5rem;display:none;position:absolute;top:100%;right:0}.nav-dropdown-inner{background:var(--card);border:1px solid var(--border);border-radius:6px;min-width:140px;padding:.5rem 0}.nav-more:hover .nav-dropdown{display:block}.nav-dropdown a{font-family:var(--font-mono);padding:.375rem 1rem;font-size:.8rem;display:block}main{flex:1;width:100%;max-width:768px;margin:0 auto;padding:4rem 1rem}.site-footer{border-top:1px solid var(--border);margin-top:auto}.footer-content{grid-template-columns:repeat(3,1fr);gap:2rem;max-width:768px;margin:0 auto;padding:2rem 1rem;display:grid}.footer-section h4,.footer-section .footer-heading{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted-secondary);margin-bottom:.75rem;font-size:.7rem;display:block}.footer-section nav{flex-direction:column;gap:.5rem;display:flex}.footer-section a{color:var(--foreground);font-size:.875rem;text-decoration:none;transition:color .15s}.footer-section a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--border);max-width:768px;font-family:var(--font-mono);color:var(--muted-foreground);justify-content:space-between;margin:0 auto;padding:1rem;font-size:.75rem;display:flex}.footer-tagline{color:var(--muted-secondary)}.footer-cta{text-align:center;max-width:768px;margin:0 auto;padding:1rem}.footer-hire-link{color:var(--accent);align-items:center;gap:.5rem;font-size:.9rem;text-decoration:none;transition:opacity .2s;display:inline-flex}.footer-hire-link:hover{opacity:.8}.footer-hire-link .availability-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}@media (max-width:640px){.footer-content{grid-template-columns:1fr 1fr}.footer-section:last-child{grid-column:span 2}}.site-footer a{color:var(--muted-foreground);text-decoration:none}.site-footer a:hover{color:var(--accent)}h1,h2,h3,h4,h5,h6{font-family:var(--font-mono);letter-spacing:-.02em;line-height:1.3}h1{text-transform:uppercase;margin-bottom:.5rem;font-size:1.5rem}h2,h3,h4{text-transform:uppercase}h2{color:var(--muted-foreground);letter-spacing:.05em;margin-bottom:1rem;font-size:.75rem}p{margin-bottom:1rem}a{color:var(--accent);text-underline-offset:4px;text-decoration:none;transition:color .15s}a:hover{text-decoration:underline}code{font-family:var(--font-mono)}.text-muted{color:var(--muted-foreground)}.text-meta{font-family:var(--font-mono);color:var(--muted-foreground);font-size:.8rem}.page-intro{color:var(--muted-foreground);margin-bottom:2rem}.section{margin-bottom:3rem}.card{border:1px solid var(--border);padding:1rem;text-decoration:none;transition:border-color .15s;display:block}.card:hover{border-color:var(--accent);text-decoration:none}.post-list{list-style:none}.post-list li{align-items:baseline;gap:1rem;padding:.5rem 0;display:flex}.post-list .date{font-family:var(--font-mono);color:var(--muted-foreground);flex-shrink:0;font-size:.8rem}.post-list .reading-time{font-family:var(--font-mono);color:var(--muted-secondary);flex-shrink:0;font-size:.75rem}.post-list .word-count{font-family:var(--font-mono);color:var(--muted-secondary);flex-shrink:0;margin-right:.5rem;font-size:.7rem}.post-list a{color:var(--foreground)}.post-list a:hover{color:var(--accent)}.post-list .read-indicator{color:var(--muted-foreground);opacity:.5;flex-shrink:0;margin-left:auto;font-size:.7rem}.principles-list{list-style:none}.principles-list li{border-bottom:1px solid var(--border);padding:1rem 0}.principles-list li:last-child{border-bottom:none}.principles-list .title{font-family:var(--font-mono);color:var(--accent);font-size:.875rem}.principles-list .desc{color:var(--muted-foreground);margin-top:.25rem}.project-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.prose{width:100%}.prose h2{color:var(--foreground);margin-top:2rem;margin-bottom:.75rem;font-size:1rem}.prose h3{color:var(--foreground);margin-top:1.5rem;margin-bottom:.5rem;font-size:.875rem}.prose ul,.prose ol{margin-bottom:1rem;padding-left:1.5rem}.prose li{margin-bottom:.25rem}.prose blockquote{border-left:2px solid var(--border);color:var(--muted-foreground);margin:1rem 0;padding-left:1rem;font-style:italic}.prose img{max-width:100%;height:auto}.prose hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.prose pre{border:1px solid var(--border);tab-size:2;background:#0d1117;border-radius:8px;margin:1.5rem 0;padding:1rem 1.25rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.875rem;line-height:1.6;position:relative;overflow-x:auto}.prose pre code{font-size:inherit;color:#e6edf3;background:0 0;border-radius:0;padding:0;font-family:inherit;display:block}.prose pre code[data-theme*=\ ],.prose pre code[data-theme*=\ ] span,.light .prose pre code[data-theme*=\ ],.light .prose pre code[data-theme*=\ ] span{color:var(--shiki-light);background-color:var(--shiki-light-bg)}:root:not(.light) .prose pre code[data-theme*=\ ],:root:not(.light) .prose pre code[data-theme*=\ ] span{color:var(--shiki-dark);background-color:var(--shiki-dark-bg)}.light .prose pre{background:#f6f8fa;border:1px solid #d0d7de}.light .prose pre code{color:#24292f}.prose pre[data-language]:before{content:attr(data-language);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);background:#6e768126;border-top-right-radius:7px;border-bottom-left-radius:6px;padding:.25rem .75rem;font-size:.65rem;font-weight:500;position:absolute;top:0;right:0}.light .prose pre[data-language]:before{color:#57606a;background:#afb8c14d}.prose figure[data-rehype-pretty-code-figure]{margin:1.5rem 0;position:relative}.prose figure[data-rehype-pretty-code-figure] figcaption{border:1px solid var(--border);font-family:var(--font-mono);color:var(--muted-foreground);background:#0000004d;border-bottom:none;border-radius:8px 8px 0 0;padding:.5rem 1rem;font-size:.75rem;display:block}.prose figure[data-rehype-pretty-code-figure] figcaption+pre{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.light .prose figure[data-rehype-pretty-code-figure] figcaption{background:#afb8c133}.prose pre:has(code[data-line-numbers]){padding-left:3.5rem}.prose pre code[data-line-numbers]{counter-reset:line}.prose pre code[data-line-numbers] [data-line]:before{counter-increment:line;content:counter(line);text-align:right;color:#6e7681;border-right:1px solid #6e76814d;width:1.5rem;margin-left:-3rem;margin-right:1.5rem;padding-right:.75rem;font-size:.8em;display:inline-block}.light .prose pre code[data-line-numbers] [data-line]:before{color:#8c959f;border-right-color:#afb8c166}.prose pre [data-highlighted-line],.prose pre .highlighted-line{border-left:3px solid var(--accent);background:#4ade801a;margin:0 -1.25rem;padding:0 1rem 0 1.25rem;display:block}.light .prose pre [data-highlighted-line],.light .prose pre .highlighted-line{background:#4ade8026}.prose pre [data-highlighted-chars],.prose pre .highlighted-chars{background:#4ade8040;border-radius:3px;padding:.125rem .25rem}.prose pre [data-line][data-line-diff=\+]{background:#2ea04333}.prose pre [data-line][data-line-diff=\-]{background:#f8514933}.prose pre [data-line]:hover{background:#6e76811a}.light .prose pre [data-line]:hover{background:#afb8c126}.prose :not(pre)>code{background:var(--muted);color:#c9d1d9;border-radius:4px;padding:.2rem .4rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.875em}.light .prose :not(pre)>code{color:#24292f;background:#afb8c133}.prose a code{color:var(--accent)}.prose pre .code-copy-btn,.code-copy-btn{font-size:.7rem;font-family:var(--font-mono);color:#8b949e;cursor:pointer;opacity:0;background:#6e768133;border:1px solid #6e76814d;border-radius:5px;padding:.35rem .6rem;transition:opacity .15s,background .15s;position:absolute;top:.5rem;right:.5rem}.prose pre[data-language] .code-copy-btn,.prose pre[data-language]+.code-copy-btn{top:2rem}.prose pre:hover .code-copy-btn,pre:hover .code-copy-btn{opacity:1}.prose pre .code-copy-btn:hover,.code-copy-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.prose pre .code-copy-btn.copied,.code-copy-btn.copied{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground);opacity:1}.light .prose pre .code-copy-btn,.light .code-copy-btn{color:#57606a;background:#afb8c14d;border-color:#afb8c166}.prose pre::-webkit-scrollbar{height:8px}.prose pre::-webkit-scrollbar-track{background:0 0}.prose pre::-webkit-scrollbar-thumb{background:#6e768166;border-radius:4px}.prose pre::-webkit-scrollbar-thumb:hover{background:#6e768199}.light .prose pre::-webkit-scrollbar-thumb{background:#afb8c180}.light .prose pre::-webkit-scrollbar-thumb:hover{background:#afb8c1b3}::selection{background:#6aaf8c40}.tag{font-family:var(--font-mono);color:var(--muted-foreground);background:var(--muted);border-radius:2px;padding:.125rem .5rem;font-size:.75rem}.post-header{margin-bottom:2rem}.post-header h1{margin-bottom:.5rem}.post-meta{font-family:var(--font-mono);color:var(--muted-foreground);flex-wrap:wrap;gap:1rem;font-size:.8rem;display:flex}.post-meta .updated-date{color:var(--accent);font-style:italic}.post-meta .last-updated{color:var(--muted-foreground);opacity:.7;font-size:.85em}.post-meta .history-link{color:var(--muted-foreground);opacity:.8;font-size:.85em;text-decoration:none}.post-meta .history-link:hover{color:var(--accent);opacity:1}.back-link{font-family:var(--font-mono);margin-bottom:2rem;font-size:.8rem;display:inline-block}input,textarea,select{font-family:var(--font-serif);background:var(--card);border:1px solid var(--border);color:var(--foreground);width:100%;padding:.5rem;font-size:1rem}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}button,.btn{font-family:var(--font-mono);background:var(--accent);color:var(--accent-foreground);cursor:pointer;border:none;padding:.5rem 1rem;font-size:.875rem;text-decoration:none;display:inline-block}button:hover,.btn:hover{opacity:.9;text-decoration:none}.stats-section{margin:2rem 0}.stats-grid{flex-wrap:wrap;justify-content:center;gap:3rem;display:flex}.stat{text-align:center}.stat-value{color:var(--accent);font-size:2rem;font-weight:700;display:block}.stat-label{color:var(--muted-foreground);margin-top:.25rem;font-size:.875rem;display:block}@media (max-width:640px){main{padding:2rem 1rem}.site-header-inner{flex-direction:column;align-items:flex-start}.site-nav{flex-wrap:wrap;justify-content:flex-start;width:100%;margin-top:.5rem}h1{font-size:1.25rem}.stats-grid{gap:2rem}.stat-value{font-size:1.5rem}}.theme-toggle{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.5rem;font-size:1.25rem;transition:background .2s,border-color .2s;display:inline-flex}.theme-toggle:hover{border-color:var(--accent);background:#ffffff1a}.share-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.share-label{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;margin-right:.25rem;font-size:.75rem}.share-btn{border:1px solid var(--border);height:32px;color:var(--foreground);cursor:pointer;background:#ffffff05;border-radius:9999px;justify-content:center;align-items:center;padding:0 .75rem;font-size:.85rem;text-decoration:none;transition:border-color .2s,background .2s;display:inline-flex}.share-btn:hover{background:#4ade8014;border-color:#4ade8099;text-decoration:none}.series-nav{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:2rem;padding:1rem 1.25rem}.series-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.series-label{color:var(--muted-foreground);font-size:.875rem}.series-name{color:var(--accent);font-weight:600}.series-progress{background:var(--muted);border-radius:2px;height:4px;margin:.75rem 0;overflow:hidden}.series-progress-bar{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.series-links{flex-wrap:wrap;gap:1rem;display:flex}.series-link{background:#4ade800d;border-radius:6px;flex:1;min-width:200px;padding:.75rem;text-decoration:none;transition:background .2s}.light .series-link{background:#4ade801a}.series-link:hover{background:#4ade801a;text-decoration:none}.light .series-link:hover{background:#4ade8026}.series-link .direction{color:var(--muted-foreground);margin-bottom:.25rem;font-size:.75rem;display:block}.series-link .title{color:var(--foreground);font-size:.9rem;line-height:1.3;display:block}.related-posts{border-top:1px solid var(--border);margin-top:3rem;padding-top:2rem}.related-posts h3{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem;font-size:.875rem}.related-posts-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.related-post-card{background:var(--card);border:1px solid var(--border);border-radius:8px;flex-direction:column;padding:1rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.related-post-card:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-2px)}.related-post-title{color:var(--foreground);margin-bottom:.5rem;font-size:.9rem;line-height:1.4}.related-post-meta{font-family:var(--font-mono);color:var(--muted-foreground);font-size:.75rem}.hire-badge{color:var(--accent);white-space:nowrap;background:#4ade801a;border:1px solid #4ade804d;border-radius:9999px;padding:.2rem .6rem;font-size:.75rem;text-decoration:none;transition:all .2s;display:inline-block}.hire-badge:hover{background:#4ade8033;border-color:#4ade8080;text-decoration:none}.code-copy-btn{background:var(--muted);border:1px solid var(--border);cursor:pointer;opacity:0;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;transition:opacity .2s;position:absolute;top:.5rem;right:.5rem}.prose pre:hover .code-copy-btn{opacity:1}.code-copy-btn:hover{background:var(--accent);color:var(--accent-foreground)}.code-copy-btn.copied{background:var(--accent);color:var(--accent-foreground);opacity:1}.blog-subscribe{border:1px solid var(--border);background:var(--card);border-radius:8px;margin-top:3rem;padding:1.5rem}.blog-subscribe h3{color:var(--foreground);margin:0 0 .5rem;font-size:1rem}.blog-subscribe p{color:var(--muted-foreground);margin:0 0 1rem;font-size:.9rem}.blog-subscribe form{gap:.5rem;display:flex}.blog-subscribe input{flex:1}@media (max-width:500px){.blog-subscribe form{flex-direction:column}}.blog-subscribe-footer{margin-top:0;padding:1rem}.blog-subscribe-footer h3{margin-bottom:.25rem;font-size:.9rem}.blog-subscribe-footer p{margin-bottom:.75rem;font-size:.8rem}.footer-subscribe-section{grid-column:1/-1;max-width:400px;margin-top:1rem}.post-body{width:100%;position:relative}.post-content{width:100%;min-width:0}.post-toc{width:200px;max-height:calc(100vh - 8rem);position:fixed;top:6rem;right:max(1rem,50vw - 34ch - 220px - 2rem);overflow-y:auto}@media (max-width:1200px){.post-toc{display:none}}.toc{border:1px solid var(--border);background:var(--card);border-radius:8px;margin:0;padding:1rem}.toc h4{color:var(--muted-foreground);text-transform:uppercase;margin:0 0 .75rem;font-size:.8rem}.toc ul{margin:0;padding:0;list-style:none}.toc li{margin-bottom:.25rem}.toc a{color:var(--muted-foreground);font-size:.9rem}.toc a:hover{color:var(--accent)}.toc li.active a{color:var(--accent);font-weight:500}.toc li.active{position:relative}.toc li.active:before{content:"";background:var(--accent);border-radius:2px;width:3px;height:1rem;position:absolute;top:.25rem;left:-.75rem}.search-container{position:relative}.search-input{background:var(--card);border:1px solid var(--border);border-radius:8px;width:100%;padding:.75rem 1rem;font-size:1rem}.search-results{margin-top:1rem;padding:0;list-style:none}.search-results li{border-bottom:1px solid var(--border);padding:.75rem 0}.search-results li:last-child{border-bottom:none}.breadcrumbs{font-family:var(--font-mono);margin-bottom:1.5rem;font-size:.8rem}.breadcrumbs ol{flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li{align-items:center;display:inline-flex}.breadcrumbs a{color:var(--muted-foreground);text-decoration:none;transition:color .15s}.breadcrumbs a:hover{color:var(--accent)}.breadcrumb-separator{color:var(--muted-foreground);opacity:.5;margin:0 .5rem}.breadcrumb-current{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}@media (max-width:640px){.breadcrumb-current{max-width:150px}}.mobile-menu-btn{cursor:pointer;z-index:1001;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.625rem;transition:background .2s;display:none}.mobile-menu-btn:hover{background:#ffffff1a}.light .mobile-menu-btn:hover{background:#0000000d}.hamburger{flex-direction:column;justify-content:space-between;width:22px;height:16px;display:flex}.hamburger span{background:var(--foreground);transform-origin:50%;border-radius:2px;width:100%;height:2px;transition:all .3s cubic-bezier(.4,0,.2,1);display:block}.hamburger.open span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-menu-overlay{z-index:999;pointer-events:none;background:0 0;transition:background .3s cubic-bezier(.4,0,.2,1);position:fixed;inset:0}.mobile-menu-overlay.visible{pointer-events:auto;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080}.mobile-nav{background:var(--background);border-left:1px solid var(--border);z-index:1000;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;width:300px;max-width:85vw;height:100dvh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}.mobile-nav.open{transform:translate(0)}.mobile-nav-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.mobile-nav-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground);font-size:.75rem}.mobile-nav-close{border:1px solid var(--border);width:44px;height:44px;color:var(--foreground);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;font-size:1rem;transition:all .2s;display:flex}.mobile-nav-close:hover{background:var(--muted);border-color:var(--accent)}.mobile-nav-links{flex:1;padding:.5rem 0;overflow-y:auto}.mobile-nav-link{min-height:52px;font-family:var(--font-mono);color:var(--foreground);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:0 1.25rem;font-size:1rem;text-decoration:none;transition:all .15s;display:flex}.mobile-nav-link:hover{background:var(--muted);color:var(--accent)}.mobile-nav-link:active{background:#4ade801a}.mobile-nav-link.active{color:var(--accent);background:#4ade800d}.mobile-nav-active-indicator{color:var(--accent);font-size:1.25rem}.mobile-nav-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.mobile-nav-hint{font-family:var(--font-mono);color:var(--muted-secondary);font-size:.7rem}@media (max-width:768px){.desktop-nav{display:none!important}.mobile-menu-btn{display:flex}.site-header-inner{flex-flow:row;justify-content:space-between;align-items:center}}@media (max-width:380px){.mobile-nav{width:100%;max-width:100%}.mobile-nav-hint{display:none}}@media (prefers-reduced-motion:reduce){.mobile-menu-overlay,.mobile-nav,.hamburger span{transition-duration:.01ms!important}}@supports (padding-top:env(safe-area-inset-top)){.mobile-nav-header{padding-top:max(1rem, env(safe-area-inset-top))}.mobile-nav-footer{padding-bottom:max(1rem, env(safe-area-inset-bottom))}}.command-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:flex-start;padding-top:20vh;display:flex;position:fixed;inset:0}.command-palette{background:var(--background);border:1px solid var(--border);border-radius:12px;width:100%;max-width:500px;overflow:hidden;box-shadow:0 20px 50px #0000004d}.command-input{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--foreground);background:0 0;outline:none;padding:1rem 1.25rem;font-size:1rem}.command-input::placeholder{color:var(--muted-foreground)}.command-list{max-height:300px;padding:.5rem;overflow-y:auto}.command-section{margin-bottom:.5rem}.command-section-title{font-family:var(--font-mono);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;padding:.5rem .75rem .25rem;font-size:.7rem}.command-item{text-align:left;width:100%;color:var(--foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.625rem .75rem;font-size:.9rem;transition:background .1s}.command-empty{text-align:center;color:var(--muted-foreground);padding:2rem}.command-footer{border-top:1px solid var(--border);font-family:var(--font-mono);color:var(--muted-foreground);gap:1.5rem;padding:.75rem 1rem;font-size:.75rem;display:flex}.command-footer kbd{background:var(--muted);border-radius:4px;padding:.125rem .375rem;font-size:.7rem}:focus-visible,a:focus-visible,button:focus-visible,.btn:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible,.theme-toggle:focus-visible,.share-btn:focus-visible,.reaction-btn:focus-visible,.command-item:focus-visible,.search-filter-chip:focus-visible,.tag-cloud-item:focus-visible,.mobile-menu-btn:focus-visible,.nav-more-btn:focus-visible,.code-copy-btn:focus-visible,.lightbox-close:focus-visible,.lightbox-nav:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card:focus-visible,.series-card:focus-visible,.series-link:focus-visible,.series-post-item:focus-visible,.related-post-card:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}:focus:not(:focus-visible){outline:none}.text-muted,.text-meta,.post-meta{color:var(--muted-foreground)}.prose a{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.prose a:hover{text-decoration-thickness:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.search-highlight{color:inherit;background:#4ade804d;border-radius:2px;padding:0 2px}.search-results li{border-radius:6px;margin:0 -1rem;padding:1rem;transition:background .1s}.search-results li.selected,.search-results li:hover{background:var(--muted)}.search-result-meta{font-family:var(--font-mono);color:var(--muted-foreground);gap:1rem;margin-top:.25rem;font-size:.75rem;display:flex}.search-empty{text-align:center;color:var(--muted-foreground);padding:3rem 1rem}.search-suggestions,.search-hint{color:var(--muted-foreground);margin-top:1rem;font-size:.9rem}.search-suggestion-btn{color:var(--accent);cursor:pointer;font-size:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.search-suggestion-btn:hover{opacity:.8}.search-hint{text-align:center;padding:2rem 0}.search-filters{background:var(--muted);border-radius:8px;flex-direction:column;gap:1rem;margin-top:1.5rem;padding:1rem;display:flex}.search-filter-section{flex-wrap:wrap;align-items:flex-start;gap:.75rem;display:flex}.search-filter-label{font-family:var(--font-mono);color:var(--muted-foreground);min-width:3rem;padding-top:.25rem;font-size:.75rem}.search-filter-chips{flex-wrap:wrap;gap:.5rem;display:flex}.search-filter-chip{font-family:var(--font-mono);color:var(--muted-foreground);background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;transition:all .15s}.search-filter-chip:hover{border-color:var(--accent);color:var(--foreground)}.search-filter-chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.search-clear-filters{color:var(--muted-foreground);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.8rem;text-decoration:underline}.search-clear-filters:hover{color:var(--accent)}.tag-active{background:var(--accent);color:var(--accent-foreground)}.series-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.series-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1.5rem;text-decoration:none;transition:border-color .15s,transform .15s;display:block}.series-card:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-2px)}.series-card h3{color:var(--foreground);text-transform:none;margin-bottom:.5rem;font-size:1rem}.series-card p{color:var(--muted-foreground);margin-bottom:.75rem;font-size:.875rem;line-height:1.5}.series-count{font-family:var(--font-mono);color:var(--accent);font-size:.75rem}.series-post-list{counter-reset:none;margin:0;padding:0;list-style:none}.series-post-list li{margin-bottom:1rem}.series-post-item{background:var(--card);border:1px solid var(--border);border-radius:8px;gap:1rem;padding:1rem;text-decoration:none;transition:border-color .15s;display:flex}.series-post-item:hover{border-color:var(--accent);text-decoration:none}.series-post-number{background:var(--muted);width:2rem;height:2rem;font-family:var(--font-mono);color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;display:flex}.series-post-item strong{color:var(--foreground);display:block}.post-reactions{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:8px;margin-top:2rem;padding:1.5rem}.reactions-label{font-family:var(--font-mono);color:var(--muted-foreground);margin-bottom:1rem;font-size:.8rem;display:block}.reactions-buttons{justify-content:center;gap:.75rem;display:flex}.reaction-btn{background:var(--muted);cursor:pointer;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .15s,border-color .15s,background .15s;display:flex;position:relative}.reaction-btn:hover{background:#4ade801a;transform:scale(1.1)}.reaction-btn.selected{border-color:var(--accent);background:#4ade8026}.reaction-btn.animate{animation:.3s reaction-pop}@keyframes reaction-pop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.reaction-emoji{font-size:1.5rem}.reaction-count{min-width:18px;height:18px;font-family:var(--font-mono);color:var(--accent-foreground);background:var(--accent);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:.65rem;font-weight:600;display:flex;position:absolute;bottom:-4px;right:-4px}.reactions-thanks,.reactions-total{color:var(--accent);margin-top:1rem;font-size:.875rem;display:block}.stats-dashboard{margin-bottom:3rem}.stats-dashboard h2{margin-bottom:1.5rem}.stats-grid-large{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;display:grid}.stat-card{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:8px;padding:1.25rem;transition:border-color .15s}.stat-card:hover{border-color:var(--accent)}.stat-card-value{color:var(--accent);font-size:1.75rem;font-weight:700;line-height:1;display:block}.stat-card-label{font-family:var(--font-mono);color:var(--foreground);margin-top:.5rem;font-size:.8rem;display:block}.stat-card-desc{color:var(--muted-foreground);margin-top:.25rem;font-size:.75rem;display:block}.activity-bar-container{flex-direction:column;align-items:center;gap:.5rem;height:100%;display:flex}.activity-bar{background:var(--accent);border-radius:4px 4px 0 0;width:2rem;min-height:4px;transition:height .3s}.activity-label{font-family:var(--font-mono);color:var(--muted-foreground);font-size:.7rem}a[href^=http]:not([href*=owen-devereaux\.com]):after{content:"↗";vertical-align:super;opacity:.6;margin-left:.15em;font-size:.75em;transition:opacity .15s;display:inline-block}a[href^=http]:not([href*=owen-devereaux\.com]):hover:after{opacity:1}.site-nav a[href^=http]:after,.site-footer a[href^=http]:after,.share-btn[href^=http]:after,.btn[href^=http]:after,button a[href^=http]:after,.mobile-nav a[href^=http]:after,.nav-dropdown a[href^=http]:after,.site-logo[href^=http]:after{display:none}a[href^=http]:has(img):after{display:none}a[href^=http]:has(svg):after{display:none}a[href^=http].btn:after,a[href^=http].share-btn:after,a[href^=http].tag:after,a[href^=http].tag-cloud-item:after,a[href^=http].search-filter-chip:after,a[href^=http].series-link:after,a[href^=http].series-card:after,a[href^=http].related-post-card:after,a[href^=http].card:after,a[href^=http].hire-badge:after,a[href^=http].footer-hire-link:after{display:none}h2 a[href^=\#],h3 a[href^=\#],h4 a[href^=\#]{color:inherit;text-decoration:none;position:relative}h2 a[href^=\#]:before,h3 a[href^=\#]:before,h4 a[href^=\#]:before{content:"#";color:var(--muted-foreground);opacity:0;font-weight:400;transition:opacity .15s;position:absolute;left:-1.25em}h2:hover a[href^=\#]:before,h3:hover a[href^=\#]:before,h4:hover a[href^=\#]:before,h2 a[href^=\#]:focus:before,h3 a[href^=\#]:focus:before,h4 a[href^=\#]:focus:before{opacity:.6}h2:hover a[href^=\#]:before:hover,h3:hover a[href^=\#]:before:hover,h4:hover a[href^=\#]:before:hover{opacity:1;color:var(--accent)}.share-buttons{border-top:1px solid var(--border);align-items:center;gap:.5rem;margin:2rem 0;padding:1rem 0;display:flex}.share-label{color:var(--muted-foreground);margin-right:.25rem;font-size:.85rem}.share-btn{border:1px solid var(--border);width:36px;height:36px;color:var(--foreground);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;font-size:1rem;transition:all .15s;display:flex}.share-btn:hover{border-color:var(--accent);background:#4ade801a;transform:scale(1.05)}.share-btn.share-native{background:#4ade801a;border-color:#4ade804d}.gallery-grid{gap:1rem;margin:2rem 0;display:grid}.gallery-grid-2{grid-template-columns:repeat(2,1fr)}.gallery-grid-3{grid-template-columns:repeat(3,1fr)}.gallery-grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width:768px){.gallery-grid-3,.gallery-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.gallery-grid-2,.gallery-grid-3,.gallery-grid-4{grid-template-columns:1fr}}.gallery-item{border:1px solid var(--border);cursor:pointer;aspect-ratio:4/3;background:0 0;border-radius:8px;padding:0;transition:border-color .15s,transform .15s;position:relative;overflow:hidden}.gallery-item:hover{border-color:var(--accent);transform:scale(1.02)}.gallery-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gallery-thumbnail{object-fit:cover;width:100%;height:100%;transition:transform .3s}.gallery-item:hover .gallery-thumbnail{transform:scale(1.05)}.gallery-caption{color:#fff;font-family:var(--font-mono);text-align:left;opacity:0;background:linear-gradient(#0000,#000000b3);padding:.75rem;font-size:.75rem;transition:opacity .2s;position:absolute;bottom:0;left:0;right:0}.gallery-item:hover .gallery-caption,.gallery-item:focus-visible .gallery-caption{opacity:1}.lightbox-overlay{z-index:10000;background:#000000f2;justify-content:center;align-items:center;animation:.2s lightbox-fade-in;display:flex;position:fixed;inset:0}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.lightbox-close{color:#fff;cursor:pointer;z-index:10001;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;width:44px;height:44px;font-size:1.25rem;transition:background .15s,transform .15s;position:absolute;top:1rem;right:1rem}.lightbox-close:hover{background:#fff3;transform:scale(1.1)}.lightbox-nav{color:#fff;cursor:pointer;z-index:10001;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;transition:background .15s,transform .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#fff3;transform:translateY(-50%)scale(1.1)}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}@media (max-width:640px){.lightbox-nav{width:40px;height:40px;font-size:1.25rem}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}}.lightbox-content{flex-direction:column;align-items:center;max-width:90vw;max-height:85vh;display:flex;position:relative}.lightbox-image{object-fit:contain;border-radius:4px;max-width:100%;max-height:75vh;animation:.2s lightbox-image-in}@keyframes lightbox-image-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.lightbox-loading{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lightbox-spinner{border:3px solid #fff3;border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite lightbox-spin}@keyframes lightbox-spin{to{transform:rotate(360deg)}}.lightbox-caption{color:#ffffffe6;text-align:center;max-width:600px;margin-top:1rem;font-size:.9rem}.lightbox-counter{font-family:var(--font-mono);color:#ffffff80;margin-top:.5rem;font-size:.75rem}.lightbox-hints{font-family:var(--font-mono);color:#fff6;gap:1.5rem;font-size:.7rem;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.lightbox-hints kbd{background:#ffffff1a;border-radius:4px;padding:.2rem .4rem;font-size:.65rem}@media (max-width:640px){.lightbox-hints{display:none}}@media (prefers-reduced-motion:reduce){.lightbox-overlay,.lightbox-image,.gallery-thumbnail,.gallery-item,.lightbox-spinner{animation:none!important}}.prose sup a[data-footnote-ref]{font-family:var(--font-mono);color:var(--accent);vertical-align:super;padding:0 .15em;font-size:.75em;line-height:0;text-decoration:none}.prose sup a[data-footnote-ref]:hover{text-decoration:underline}.prose sup a[data-footnote-ref]:before{content:"["}.prose sup a[data-footnote-ref]:after{content:"]"}.prose section[data-footnotes]{border-top:1px solid var(--border);color:var(--muted-foreground);margin-top:3rem;padding-top:2rem;font-size:.875rem}.prose section[data-footnotes] h2{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;font-size:.75rem}.prose section[data-footnotes] ol{margin:0;padding-left:1.5rem}.prose section[data-footnotes] li{margin-bottom:.75rem;padding-left:.25rem}.prose section[data-footnotes] li p{margin:0;display:inline}.prose section[data-footnotes] a[data-footnote-backref]{font-family:var(--font-mono);color:var(--accent);margin-left:.25em;font-size:.875em;text-decoration:none}.prose section[data-footnotes] a[data-footnote-backref]:hover{text-decoration:underline}html:has(.prose section[data-footnotes]){scroll-behavior:smooth}.prose section[data-footnotes] li:target{background:#4ade801a;border-radius:4px;margin-left:-.5rem;margin-right:-.5rem;padding:.5rem}.post-tags{flex-wrap:wrap;gap:.5rem;display:inline-flex}.post-tag{color:var(--accent);text-decoration:none}.post-tag:hover{text-decoration:underline}.clear-history-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:.25rem .5rem;font-size:.8rem;transition:all .2s}.clear-history-btn:hover{border-color:var(--accent);color:var(--accent)}.zoomable-image-trigger{cursor:zoom-in;text-align:left;background:0 0;border:none;width:100%;margin:1.5rem 0;padding:0;display:block;position:relative}.zoomable-image-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.zoomable-image{border-radius:8px;max-width:100%;height:auto;transition:transform .2s,box-shadow .2s}.zoomable-image-trigger:hover .zoomable-image{transform:scale(1.01);box-shadow:0 4px 20px #00000026}.zoom-hint{color:#fff;opacity:0;pointer-events:none;background:#0009;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:opacity .2s;display:flex;position:absolute;bottom:.75rem;right:.75rem}.zoomable-image-trigger:hover .zoom-hint,.zoomable-image-trigger:focus-visible .zoom-hint{opacity:1}.light .zoomable-image-trigger:hover .zoomable-image{box-shadow:0 4px 20px #0000001a}@media (prefers-reduced-motion:reduce){.zoomable-image,.zoom-hint{transition:none}.zoomable-image-trigger:hover .zoomable-image{transform:none}}.prose h2,.prose h3,.prose h4{position:relative}.heading-anchor{text-align:center;width:1.5em;color:var(--muted-foreground);opacity:0;font-weight:400;text-decoration:none;transition:opacity .15s,color .15s;position:absolute;left:-1.5em}.heading-anchor .anchor-icon{font-family:var(--font-mono);font-size:.9em}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.prose h4:hover .heading-anchor,.heading-anchor:focus{opacity:.6}.heading-anchor:hover,.heading-anchor:focus-visible{color:var(--accent);opacity:1!important}@media (max-width:640px){.heading-anchor{opacity:.3;width:auto;margin-right:.25em;display:inline;position:static}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.prose h4:hover .heading-anchor{opacity:.6}}.code-theme-toggle{font-family:var(--font-mono);background:var(--muted);border:1px solid var(--border);color:var(--muted-foreground);cursor:pointer;border-radius:4px;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.7rem;transition:all .15s;display:flex}.code-theme-toggle:hover{background:var(--card);color:var(--foreground);border-color:var(--accent)}.code-theme-icon{font-size:.85rem}.code-theme-label{text-transform:uppercase;letter-spacing:.03em}.code-theme-toggle-inline{cursor:pointer;opacity:0;z-index:5;background:#6e768133;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;transition:opacity .15s;position:absolute;top:.35rem;right:3.5rem}.prose pre:hover .code-theme-toggle-inline,.code-theme-toggle-inline:focus{opacity:1}[data-code-theme=light] .prose pre code[data-theme*=\ ],[data-code-theme=light] .prose pre code[data-theme*=\ ] span{color:var(--shiki-light)!important;background-color:var(--shiki-light-bg)!important}[data-code-theme=light] .prose pre{background:#f6f8fa!important;border:1px solid #d0d7de!important}[data-code-theme=light] .prose pre code{color:#24292f!important}[data-code-theme=light] .prose pre[data-language]:before{color:#57606a!important;background:#afb8c14d!important}[data-code-theme=light] .code-copy-btn{color:#57606a!important;background:#afb8c133!important}[data-code-theme=light] .code-copy-btn:hover{color:#24292f!important;background:#afb8c166!important}[data-code-theme=dark] .prose pre code[data-theme*=\ ],[data-code-theme=dark] .prose pre code[data-theme*=\ ] span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}[data-code-theme=dark] .prose pre{background:#161b22!important;border:1px solid #30363d!important}[data-code-theme=dark] .prose pre code{color:#e6edf3!important}[data-code-theme=dark] .prose pre[data-language]:before{color:#8b949e!important;background:#6e768126!important}[data-code-theme=dark] .code-copy-btn{color:#8b949e!important;background:#6e768133!important}[data-code-theme=dark] .code-copy-btn:hover{color:#e6edf3!important;background:#6e768166!important}.code-block-controls{opacity:0;gap:.35rem;transition:opacity .15s;display:flex;position:absolute;top:.5rem;right:.5rem}.prose pre[data-language] .code-block-controls{top:2rem}.prose pre:hover .code-block-controls,pre:hover .code-block-controls{opacity:1}.code-block-controls .code-copy-btn,.code-block-controls .code-theme-btn{opacity:1;font-size:.7rem;font-family:var(--font-mono);color:#8b949e;cursor:pointer;background:#6e768133;border:1px solid #6e76814d;border-radius:5px;padding:.35rem .6rem;transition:background .15s,border-color .15s,color .15s;position:static}.code-block-controls .code-theme-btn{padding:.25rem .5rem;font-size:.8rem}.code-block-controls .code-copy-btn{justify-content:center;align-items:center;padding:.35rem;line-height:1;display:flex}.code-block-controls .code-copy-btn svg{width:14px;height:14px;display:block}.code-block-controls .code-copy-btn:hover,.code-block-controls .code-theme-btn:hover,.code-block-controls .code-copy-btn.copied{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.light .code-block-controls .code-copy-btn,.light .code-block-controls .code-theme-btn{color:#57606a;background:#afb8c14d;border-color:#afb8c166}.light .code-block-controls .code-copy-btn:hover,.light .code-block-controls .code-theme-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}[data-code-theme=light] .code-block-controls .code-copy-btn,[data-code-theme=light] .code-block-controls .code-theme-btn{color:#57606a!important;background:#afb8c14d!important;border-color:#afb8c166!important}[data-code-theme=dark] .code-block-controls .code-copy-btn,[data-code-theme=dark] .code-block-controls .code-theme-btn{color:#8b949e!important;background:#6e768133!important;border-color:#6e76814d!important}[data-code-theme=light] .code-block-controls .code-copy-btn:hover,[data-code-theme=light] .code-block-controls .code-theme-btn:hover,[data-code-theme=dark] .code-block-controls .code-copy-btn:hover,[data-code-theme=dark] .code-block-controls .code-theme-btn:hover{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-foreground)!important}.activity-chart{background:var(--card);border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:flex-end;gap:.5rem;height:150px;padding:1rem;display:flex}.activity-bar-container{flex-direction:column;justify-content:flex-end;align-items:center;width:40px;height:100%;display:flex}.activity-bar{background:var(--accent);border-radius:3px 3px 0 0;width:24px;transition:height .2s}.activity-bar-label{font-family:var(--font-mono);color:var(--muted-foreground);margin-top:.5rem;font-size:.65rem}.activity-bar-count{font-family:var(--font-mono);color:var(--foreground);font-size:.7rem;font-weight:600}.yearly-stats{flex-direction:column;gap:.75rem;display:flex}.yearly-row{grid-template-columns:60px 1fr 80px 100px;align-items:center;gap:1rem;display:grid}.yearly-year{font-family:var(--font-mono);color:var(--foreground);font-weight:600}.yearly-bar-container{background:var(--card);border-radius:4px;height:8px;overflow:hidden}.yearly-bar{background:var(--accent);border-radius:4px;min-width:4px;height:100%}.yearly-count,.yearly-words{font-family:var(--font-mono);color:var(--muted-foreground);text-align:right;font-size:.85rem}.tag-stats{flex-direction:column;gap:.5rem;display:flex}.tag-stat-row{border-radius:6px;grid-template-columns:32px 100px 1fr 40px;align-items:center;gap:1rem;padding:.5rem;text-decoration:none;transition:background .15s;display:grid}.tag-stat-row:hover{background:var(--card)}.tag-rank{font-family:var(--font-mono);color:var(--muted-foreground);font-size:.8rem}.tag-name{font-family:var(--font-mono);color:var(--accent);font-weight:500}.tag-bar-container{background:var(--card);border-radius:4px;height:6px;overflow:hidden}.tag-bar{background:var(--accent);opacity:.6;border-radius:4px;min-width:4px;height:100%}.tag-count{font-family:var(--font-mono);color:var(--muted-foreground);text-align:right;font-size:.85rem}@media (max-width:640px){.yearly-row{grid-template-columns:50px 1fr 60px}.yearly-words{display:none}.tag-stat-row{grid-template-columns:28px 80px 1fr 30px;gap:.5rem}.activity-bar-container{width:28px}.activity-bar{width:18px}}.prose pre:focus-within .code-block-controls,pre:focus-within .code-block-controls{opacity:1}@keyframes copiedFade{0%{opacity:1}70%{opacity:1}to{opacity:.6}}.code-block-controls .code-copy-btn.copied{animation:2s ease-out forwards copiedFade}.code-block-controls .code-copy-btn:not(.copied){animation:none}.code-block-controls .code-copy-btn.fading{opacity:0;transition:opacity .5s ease-out}@media (max-width:1200px){.post-toc{width:100%;max-height:none;margin-bottom:2rem;display:block;position:static}.toc{margin:0}.toc-toggle{cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;display:flex}.toc-toggle h4{margin:0}.toc-toggle-icon{font-family:var(--font-mono);color:var(--muted-foreground);font-size:1.25rem;line-height:1;transition:transform .2s}.toc ul{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem;display:none}.toc ul.toc-list-expanded{display:block}}@media (min-width:1201px){.toc-toggle{cursor:default;text-align:left;background:0 0;border:none;width:100%;padding:0;display:block}.toc-toggle-icon{display:none}.toc ul{display:block}}.series-nav-bottom{border-top:1px solid var(--border);margin-top:3rem;padding-top:2rem}.series-nav-bottom-header{font-family:var(--font-mono);color:var(--muted-foreground);margin-bottom:1rem;font-size:.8rem}.series-nav-bottom-header .series-name{color:var(--accent);font-weight:600}.series-nav-bottom-header .series-position{color:var(--muted-foreground);font-weight:400}.series-progress-bottom{margin-bottom:1rem}.series-nav-bottom-links{gap:1rem;display:flex}.series-nav-bottom-link{background:var(--card);border:1px solid var(--border);border-radius:8px;flex:1;padding:1rem;text-decoration:none;transition:border-color .15s,transform .15s}.series-nav-bottom-link.empty{visibility:hidden}.series-nav-bottom-link:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-2px)}.series-nav-bottom-link .direction{font-family:var(--font-mono);color:var(--accent);margin-bottom:.25rem;font-size:.75rem;display:block}.series-nav-bottom-link .title{color:var(--foreground);font-size:.9rem;line-height:1.4;display:block}.series-nav-bottom-link.next{text-align:right}@media (max-width:640px){.series-nav-bottom-links{flex-direction:column}.series-nav-bottom-link.empty{display:none}.series-nav-bottom-link.next{text-align:left}}.share-counts{color:var(--color-meta);opacity:.8;align-items:center;gap:.35rem;font-size:.85rem;display:inline-flex}.share-counts-loading{opacity:.5}.share-counts-icon{font-size:.9em}.share-counts-value{font-variant-numeric:tabular-nums}.share-counts-expanded .share-counts-breakdown{gap:.5rem;display:inline-flex}.share-count-item{align-items:center;gap:.2rem;display:inline-flex}.share-count-item span[aria-hidden]{opacity:.7;font-size:.85em}@media print{*,:before,:after{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important;transition:none!important;animation:none!important}html{font-size:12pt;line-height:1.5}body{margin:0;padding:0;font-family:Georgia,Times New Roman,serif;font-size:12pt;line-height:1.6;color:#000!important;background:#fff!important}.site-header,.site-footer,.site-nav,.mobile-menu-btn,.mobile-nav,.mobile-menu-overlay,.theme-toggle,.skip-to-content,.breadcrumbs,.back-link,.reading-progress,.back-to-top,.command-palette,.command-overlay,.nav-dropdown,.nav-more,.share-bar,.share-buttons,.share-btn,.share-label,.share-counts,.blog-subscribe,.post-reactions,.related-posts,.series-nav,.series-nav-bottom,.post-toc,.toc,.post-cta,.hire-badge,.footer-hire-link,.code-copy-btn,.code-block-controls,.code-theme-toggle,.tag-cloud,.search-container,.lightbox-overlay,.lightbox-hints,.zoom-hint,.heading-anchor,nav[style*=marginTop],article>nav:last-of-type,[class*=BackToTop_button],[class*=KeyboardShortcuts_helpButton],[class*=KeyboardShortcuts_overlay],button[aria-label="Back to top"],button[aria-label="Show keyboard shortcuts"],.post-footer-nav{visibility:hidden!important;display:none!important}.post-meta .edit-link,.post-meta .history-link,.post-meta a[href*=github\.com]{display:none!important}main{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}article{max-width:100%!important;margin:0!important;padding:0!important}.post-body,.post-content{width:100%!important;max-width:100%!important}h1{page-break-after:avoid;margin-bottom:.3em;font-weight:700;color:#000!important;text-transform:none!important;letter-spacing:normal!important;font-size:20pt!important}h2{page-break-after:avoid;margin-top:1.5em;margin-bottom:.5em;font-weight:700;color:#000!important;text-transform:none!important;letter-spacing:normal!important;font-size:14pt!important}h3{page-break-after:avoid;margin-top:1.2em;margin-bottom:.4em;font-weight:700;color:#000!important;text-transform:none!important;font-size:12pt!important}h4,h5,h6{page-break-after:avoid;font-weight:700;font-size:11pt!important}p{orphans:3;widows:3;margin:0 0 .8em}.post-header{border-bottom:1px solid #ccc;margin-bottom:1.5em;padding-bottom:.5em}.post-meta{margin-top:.3em;font-family:Arial,Helvetica,sans-serif;color:#555!important;font-size:10pt!important}.post-meta span:after{content:" · "}.post-meta span:last-child:after{content:""}.post-tags{display:none!important}a{text-decoration:underline;color:#000!important}.prose a[href^=http]:not([href*=owen-devereaux\.com]):after{content:" (" attr(href) ")";word-break:break-all;font-size:.75em;color:#666!important}.prose a[href^=\/]:after,.prose a[href^=\#]:after,a[href^=http]:after{content:none!important}.prose pre{page-break-inside:avoid;border-radius:4px;white-space:pre-wrap!important;word-wrap:break-word!important;background:#f5f5f5!important;border:1px solid #ddd!important;margin:1em 0!important;padding:.75em 1em!important;font-family:Courier New,Courier,monospace!important;font-size:9pt!important;line-height:1.4!important;overflow:visible!important}.prose pre code{color:#333!important;font-size:inherit!important;background:0 0!important;padding:0!important}.prose pre[data-language]:before{content:attr(data-language)!important;color:#888!important;background:0 0!important;border-bottom:1px solid #ddd!important;margin-bottom:.5em!important;padding-bottom:.3em!important;font-size:8pt!important;display:block!important;position:static!important}.prose :not(pre)>code{border-radius:2px;color:#333!important;background:#eee!important;padding:.1em .3em!important;font-family:Courier New,Courier,monospace!important;font-size:.9em!important}.prose blockquote{page-break-inside:avoid;font-style:italic;color:#444!important;border-left:3px solid #999!important;margin:1em 0!important;padding-left:1em!important}.prose ul,.prose ol{margin:.5em 0 1em 1.5em!important;padding:0!important}.prose li{margin-bottom:.3em}.prose img,.zoomable-image,img{page-break-inside:avoid;page-break-before:auto;max-width:100%!important;height:auto!important}.prose figure{page-break-inside:avoid;margin:1em 0!important}.prose figcaption{text-align:center;margin-top:.3em;color:#666!important;font-size:9pt!important}.prose table{border-collapse:collapse;page-break-inside:avoid;width:100%;margin:1em 0;font-size:10pt}.prose th,.prose td{text-align:left;padding:.4em .6em;border:1px solid #ccc!important}.prose th{font-weight:700;background:#f0f0f0!important}.prose hr{border:none!important;border-top:1px solid #ccc!important;margin:1.5em 0!important}.prose section[data-footnotes]{page-break-before:avoid;border-top:1px solid #ccc!important;margin-top:2em!important;padding-top:1em!important;font-size:10pt!important}.prose section[data-footnotes] h2{font-size:11pt!important}h1,h2,h3,h4,h5,h6{page-break-after:avoid;break-after:avoid}pre,blockquote,figure,table,img{page-break-inside:avoid;break-inside:avoid}p{orphans:3;widows:3}@page{margin:2cm}article:after{content:"Printed from owen-devereaux.com";text-align:center;border-top:1px solid #ddd;margin-top:3em;padding-top:1em;font-size:9pt;display:block;color:#888!important}}.command-item-content{justify-content:space-between;align-items:baseline;gap:1rem;width:100%;display:flex}.command-item-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.command-item-meta{font-family:var(--font-mono);color:var(--muted-foreground);flex-shrink:0;font-size:.75rem}.command-item-description{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem;font-size:.8rem;overflow:hidden}.command-item-tags{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;display:flex}.command-item-tag{font-family:var(--font-mono);color:var(--muted-foreground);background:var(--muted);border-radius:3px;padding:.1rem .4rem;font-size:.65rem}.command-item{text-align:left;width:100%;color:var(--foreground);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.75rem;font-size:.9rem;transition:background .1s;display:block}.command-item:hover,.command-item.selected{background:var(--muted)}.command-item.selected{background:#4ade801f}.command-item .search-highlight{color:inherit;background:#4ade804d;border-radius:2px;padding:0 2px}.command-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.command-list{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.command-list::-webkit-scrollbar{width:6px}.command-list::-webkit-scrollbar-track{background:0 0}.command-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.command-list::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}.theme-toggle{position:relative;overflow:hidden}.theme-icon-wrapper{justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:relative}.theme-icon{justify-content:center;align-items:center;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .3s;display:flex;position:absolute}.theme-icon svg{display:block}.theme-icon.sun{opacity:0;transform:rotate(-90deg)scale(.5)}.theme-icon.moon,.theme-icon-wrapper.show-sun .theme-icon.sun{opacity:1;transform:rotate(0)scale(1)}.theme-icon-wrapper.show-sun .theme-icon.moon{opacity:0;transform:rotate(90deg)scale(.5)}.theme-icon-wrapper.show-moon .theme-icon.sun{opacity:0;transform:rotate(-90deg)scale(.5)}.theme-icon-wrapper.show-moon .theme-icon.moon{opacity:1;transform:rotate(0)scale(1)}.theme-toggle:hover .theme-icon-wrapper.show-sun .theme-icon.sun{transform:rotate(15deg)scale(1.05)}.theme-toggle:hover .theme-icon-wrapper.show-moon .theme-icon.moon{transform:rotate(-10deg)scale(1.05)}.theme-toggle:active .theme-icon{transform:scale(.9)!important}@media (prefers-reduced-motion:reduce){.theme-icon{transition:opacity .15s!important}.theme-toggle:hover .theme-icon.sun,.theme-toggle:hover .theme-icon.moon{transform:none!important}}.share-buttons-footer{background:var(--card);border:1px solid var(--border);border-radius:12px;justify-content:center;margin-top:2.5rem;padding:1.5rem}.share-buttons-footer .share-label{color:var(--foreground);margin-right:.75rem;font-size:.95rem;font-weight:500}.share-buttons-footer .share-btn{gap:.4rem;width:auto;padding:.5rem .75rem}.share-btn-label{font-size:.8rem;font-family:var(--font-mono)}.share-btn-copied{color:var(--accent);border-color:var(--accent)!important;background:#4ade8026!important}@media (max-width:480px){.share-buttons-footer .share-btn-label{display:none}.share-buttons-footer .share-btn{width:40px;padding:.5rem}}.heading-anchor.copied{opacity:1!important;color:var(--accent)!important}.heading-anchor.copied .anchor-icon{color:var(--accent)}.post-footer-meta{border-top:1px solid var(--border);justify-content:center;gap:1.5rem;margin-top:3rem;padding-top:1.5rem;display:flex}.suggest-edit-link{color:var(--muted-foreground);opacity:.7;align-items:center;gap:.4rem;font-size:.85rem;text-decoration:none;transition:opacity .2s,color .2s;display:inline-flex}.suggest-edit-link:hover{color:var(--accent);opacity:1}.suggest-edit-link svg{flex-shrink:0}.view-history-link{color:var(--muted-foreground);opacity:.7;align-items:center;gap:.4rem;font-size:.85rem;text-decoration:none;transition:opacity .2s,color .2s;display:inline-flex}.view-history-link:hover{color:var(--accent);opacity:1}.view-history-link svg{flex-shrink:0}.view-counter{color:var(--color-meta);opacity:.8;align-items:center;gap:.35rem;font-size:.85rem;display:inline-flex}.view-counter-loading{opacity:.5}.view-counter-icon{font-size:.9em}.view-counter-value{font-variant-numeric:tabular-nums}.difficulty-badge{white-space:nowrap;border-radius:9999px;padding:.15rem .5rem;font-size:.75rem;font-weight:500;text-decoration:none;display:inline-block}.difficulty-beginner{color:#22c55e;background:#22c55e26;border:1px solid #22c55e66}.difficulty-intermediate{color:#eab308;background:#eab30826;border:1px solid #eab30866}.difficulty-advanced{color:#ef4444;background:#ef444426;border:1px solid #ef444466}.light .difficulty-beginner{color:#15803d;background:#16a34a1f;border-color:#16a34a80}.light .difficulty-intermediate{color:#a16207;background:#ca8a041f;border-color:#ca8a0480}.light .difficulty-advanced{color:#b91c1c;background:#dc26261f;border-color:#dc262680}.thread-btn{font-size:.85rem;font-family:var(--font-mono);color:var(--muted-foreground);cursor:pointer;opacity:.7;background:0 0;border:none;align-items:center;gap:.4rem;padding:0;transition:opacity .2s,color .2s;display:inline-flex}.thread-btn:hover{color:var(--accent);opacity:1}.thread-btn svg{flex-shrink:0}.thread-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.thread-modal{background:var(--card);border:1px solid var(--border);border-radius:16px;flex-direction:column;width:100%;max-width:600px;max-height:85vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #0006}.thread-header{border-bottom:1px solid var(--border);padding:1.25rem 1.5rem;position:relative}.thread-header h2{color:var(--foreground);margin:0;font-size:1.15rem;font-weight:600}.thread-subtitle{color:var(--muted-foreground);margin:.25rem 0 0;font-size:.85rem}.thread-close{width:36px;height:36px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex;position:absolute;top:1rem;right:1rem}.thread-close:hover{background:var(--muted);color:var(--foreground)}.thread-actions{border-bottom:1px solid var(--border);justify-content:flex-end;padding:.75rem 1.5rem;display:flex}.thread-copy-all{font-size:.85rem;font-family:var(--font-mono);color:var(--foreground);background:var(--muted);border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1rem;transition:background .15s,border-color .15s;display:inline-flex}.thread-copy-all:hover{background:var(--card);border-color:var(--muted-foreground)}.thread-copy-all.copied{border-color:var(--accent);color:var(--accent);background:#4ade8026}.thread-list{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;gap:1rem;padding:1rem 1.5rem;display:flex;overflow-y:auto}.thread-list::-webkit-scrollbar{width:6px}.thread-list::-webkit-scrollbar-track{background:0 0}.thread-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.thread-list::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}.thread-tweet{background:var(--background);border:1px solid var(--border);border-radius:12px;padding:1rem;position:relative}.thread-tweet-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.thread-tweet-number{font-family:var(--font-mono);color:var(--accent);background:#4ade801f;border-radius:6px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.thread-tweet-chars{font-family:var(--font-mono);color:var(--muted-foreground);font-size:.7rem}.thread-tweet-content{color:var(--foreground);white-space:pre-wrap;word-break:break-word;font-size:.9rem;line-height:1.5}.thread-tweet-copy{font-size:.75rem;font-family:var(--font-mono);color:var(--muted-foreground);border:1px solid var(--border);cursor:pointer;opacity:0;background:0 0;border-radius:6px;padding:.25rem .6rem;transition:opacity .15s,background .15s,color .15s;position:absolute;top:.75rem;right:.75rem}.thread-tweet:hover .thread-tweet-copy{opacity:1}.thread-tweet-copy:hover{background:var(--muted);color:var(--foreground)}.thread-tweet-copy.copied{opacity:1;border-color:var(--accent);color:var(--accent);background:#4ade8026}.thread-footer{border-top:1px solid var(--border);font-size:.75rem;font-family:var(--font-mono);color:var(--muted-foreground);justify-content:center;gap:1.5rem;padding:.75rem 1.5rem;display:flex}.thread-footer kbd{background:var(--muted);border:1px solid var(--border);border-radius:4px;margin-right:.25rem;padding:.1rem .4rem;font-size:.7rem}@media (max-width:640px){.thread-modal{border-radius:12px;max-height:90vh}.thread-header{padding:1rem}.thread-actions{padding:.5rem 1rem}.thread-list{padding:.75rem 1rem}.thread-tweet{padding:.75rem}.thread-tweet-copy{opacity:1}}.writing-goal{background:var(--card);border:1px solid var(--border);border-radius:8px;margin:1.5rem 0;padding:.75rem 1rem;font-size:.875rem}.writing-goal-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.writing-goal-label{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.writing-goal-count{color:var(--foreground);font-family:var(--font-mono);font-size:.8rem}.writing-goal-bar{background:var(--muted);border-radius:2px;height:4px;overflow:hidden}.writing-goal-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.writing-goal-meta{color:var(--muted-foreground);text-align:right;margin-top:.5rem;font-size:.75rem}.share-preview-btn{font-size:.85rem;font-family:var(--font-mono);color:var(--muted-foreground);cursor:pointer;opacity:.7;background:0 0;border:none;align-items:center;gap:.4rem;padding:0;transition:opacity .2s,color .2s;display:inline-flex}.share-preview-btn:hover{color:var(--accent);opacity:1}.share-preview-btn svg{flex-shrink:0}.share-preview-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.share-preview-modal{background:var(--card);border:1px solid var(--border);border-radius:16px;flex-direction:column;width:100%;max-width:680px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #0006}.share-preview-header{border-bottom:1px solid var(--border);padding:1.25rem 1.5rem;position:relative}.share-preview-header h2{color:var(--foreground);margin:0;font-size:1.15rem;font-weight:600}.share-preview-subtitle{color:var(--muted-foreground);margin:.25rem 0 0;font-size:.85rem}.share-preview-close{width:36px;height:36px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex;position:absolute;top:1rem;right:1rem}.share-preview-close:hover{background:var(--muted);color:var(--foreground)}.share-preview-cards{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;gap:1.5rem;padding:1.25rem 1.5rem;display:flex;overflow-y:auto}.share-preview-cards::-webkit-scrollbar{width:6px}.share-preview-cards::-webkit-scrollbar-track{background:0 0}.share-preview-cards::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.share-card-section{flex-direction:column;gap:.5rem;display:flex}.share-card-label{font-family:var(--font-mono);color:var(--muted-foreground);align-items:center;gap:.4rem;font-size:.8rem;font-weight:500;display:inline-flex}.share-card-label svg{opacity:.8}.share-card{background:var(--background);border:1px solid var(--border);border-radius:12px;overflow:hidden}.twitter-card{flex-direction:column;display:flex}.twitter-card-image{aspect-ratio:1200/630;background:var(--muted);width:100%;overflow:hidden}.twitter-card-image img{object-fit:cover;width:100%;height:100%}.twitter-card-content{border-top:1px solid var(--border);padding:.75rem 1rem}.twitter-card-domain{color:var(--muted-foreground);text-transform:lowercase;font-size:.75rem}.twitter-card-title{color:var(--foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.15rem 0;font-size:.95rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.twitter-card-description{color:var(--muted-foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.85rem;line-height:1.4;display:-webkit-box;overflow:hidden}.linkedin-card{flex-direction:column;display:flex}.linkedin-card-image{aspect-ratio:1200/630;background:var(--muted);width:100%;overflow:hidden}.linkedin-card-image img{object-fit:cover;width:100%;height:100%}.linkedin-card-content{border-top:1px solid var(--border);background:#f3f2ef;padding:.75rem 1rem}.linkedin-card-content{background:#292929}.light .linkedin-card-content{background:#f3f2ef}.linkedin-card-title{color:var(--foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.95rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.linkedin-card-description{color:var(--muted-foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.25rem 0;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}.linkedin-card-domain{color:var(--muted-foreground);text-transform:lowercase;font-size:.75rem}.share-preview-footer{border-top:1px solid var(--border);font-size:.75rem;font-family:var(--font-mono);color:var(--muted-foreground);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.share-preview-footer kbd{background:var(--muted);border:1px solid var(--border);border-radius:4px;margin-right:.25rem;padding:.1rem .4rem;font-size:.7rem}.share-preview-note{opacity:.8;font-style:italic}@media (max-width:640px){.share-preview-modal{border-radius:12px;max-height:95vh}.share-preview-header,.share-preview-cards{padding:1rem}.share-preview-footer{text-align:center;flex-direction:column;gap:.5rem}}.search-btn{background:var(--muted);border:1px solid var(--border);color:var(--muted-foreground);cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.8rem;transition:all .15s;display:flex}.search-btn:hover{background:var(--background);color:var(--foreground);border-color:var(--accent)}.search-btn svg{flex-shrink:0;width:14px;height:14px}.search-btn-hint{align-items:center;gap:.125rem;display:flex}.search-btn-hint kbd{font-family:var(--font-mono);background:var(--background);border:1px solid var(--border);border-radius:3px;padding:.125rem .25rem;font-size:.7rem}@media (max-width:768px){.search-btn-hint{display:none}.search-btn{padding:.375rem}}.series-stats{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.series-time-info{color:var(--muted-foreground);font-size:.85rem}.series-progress-segmented{background:var(--muted);border-radius:4px;gap:2px;height:8px;margin:.75rem 0;display:flex;overflow:hidden}.series-segment{background:var(--muted);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;min-width:20px;height:100%;transition:background .2s,transform .2s;display:flex;position:relative}.series-segment:hover{z-index:1;transform:scaleY(1.3)}.series-segment.completed{background:var(--accent)}.series-segment.current{background:var(--accent);opacity:.7;animation:2s ease-in-out infinite pulse-segment}@keyframes pulse-segment{0%,to{opacity:.7}50%{opacity:1}}.series-segment-marker{color:#0000;font-size:.6rem;font-weight:600;transition:color .2s}.series-segment:hover .series-segment-marker{color:var(--background)}.series-link .reading-time,.series-nav-bottom-link .reading-time{color:var(--muted-foreground);margin-top:.25rem;font-size:.75rem}.series-bottom-stats{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.series-time-remaining{color:var(--muted-foreground);font-size:.85rem}.series-header{margin-bottom:.25rem}.series-position{color:var(--muted-foreground);font-size:.85rem}.prose a[data-footnote-ref]{font-family:var(--font-mono);vertical-align:super;color:var(--accent);padding:0 .15em;font-size:.75em;font-weight:500;text-decoration:none}.prose a[data-footnote-ref]:hover{text-decoration:underline}.prose .footnotes{border-top:1px solid var(--border);color:var(--muted-foreground);margin-top:3rem;padding-top:1.5rem;font-size:.9rem}.prose .footnotes h2{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);margin-bottom:1rem;font-size:.75rem}.prose .footnotes>h2.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.prose .footnotes ol{margin:0;padding-left:1.5rem;list-style:decimal}.prose .footnotes li{margin-bottom:.75rem;line-height:1.5}.prose .footnotes li:target{background:#6aaf8c26;border-radius:4px;margin-left:-.5rem;padding:.25rem .5rem}.prose a[data-footnote-backref]{font-family:var(--font-mono);color:var(--accent);margin-left:.25rem;font-size:.8em;text-decoration:none}.prose a[data-footnote-backref]:hover{text-decoration:underline}.sidenote-wrapper{position:relative}.sidenote-ref{font-family:var(--font-mono);vertical-align:super;color:var(--accent);cursor:help;padding:0 .15em;font-size:.75em;font-weight:500}.sidenote{color:var(--muted-foreground);background:var(--muted);border-left:2px solid var(--accent);border-radius:0 4px 4px 0;margin:.75rem 0;padding:.75rem 1rem;font-size:.85rem;line-height:1.5;display:block}.sidenote-number{font-family:var(--font-mono);color:var(--accent);margin-right:.5rem;font-size:.8em;font-weight:600}@media (min-width:1200px){.sidenote-wrapper{position:static}.sidenote{border-left:1px solid var(--border);background:0 0;border-radius:0;width:250px;margin:0;padding:.5rem .75rem;font-size:.8rem;position:absolute;right:-280px}.sidenote-number{display:none}}@media (min-width:1400px){.sidenote{width:280px;right:-320px}}.sidenote-ref:hover+.sidenote,.sidenote:hover{background:var(--muted)}@media (min-width:1200px){.sidenote-ref:hover+.sidenote,.sidenote:hover{border-left-color:var(--accent);background:#6aaf8c1a}}.series-overview-stats{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.9rem;display:flex}.series-stat strong{color:var(--foreground)}.series-stat-divider{color:var(--muted)}.series-timeline{background:var(--muted);border-radius:8px;gap:2px;height:40px;margin:1.5rem 0;display:flex;overflow:hidden}.series-timeline-segment{background:var(--accent);justify-content:center;align-items:center;min-width:30px;transition:opacity .2s;display:flex}.series-timeline-segment:hover{opacity:.8}.series-timeline-number{color:var(--background);font-size:.85rem;font-weight:600}.series-post-content{flex:1}.series-post-meta{gap:1rem;margin-top:.5rem;display:flex}.series-cumulative{color:var(--accent)}.series-cta{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:8px;margin-top:2rem;padding:1.5rem}.btn{border-radius:6px;padding:.75rem 1.5rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.btn-primary{background:var(--accent);color:var(--background)}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.series-card-meta{color:var(--muted-foreground);gap:1rem;margin-top:.75rem;font-size:.85rem;display:flex}.series-reading-time{color:var(--accent)}.series-card-segments{background:var(--muted);border-radius:2px;gap:2px;height:4px;margin:.75rem 0;display:flex;overflow:hidden}.series-card-segment{background:var(--accent);opacity:.6;border-radius:1px;min-width:4px;height:100%;transition:opacity .2s}.series-card:hover .series-card-segment{opacity:1}.series-card-divider{color:var(--muted)}.series-progress-badge{background:var(--muted);font-family:var(--font-mono);border-radius:999px;justify-content:center;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.series-progress-badge-fill{background:var(--accent);opacity:.3;transition:width .3s;position:absolute;top:0;bottom:0;left:0}.series-progress-badge-text{z-index:1;color:var(--foreground);position:relative}.series-time-remaining-inline{color:var(--muted-foreground)}.series-final-badge{color:var(--accent);font-weight:500}.series-time-total{color:var(--muted-foreground)}.series-reading-progress{background:var(--accent-muted,rgba(var(--accent-rgb,59, 130, 246), .1));border-radius:6px;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0;padding:.5rem .75rem;font-size:.85rem;display:flex}.series-progress-percent{color:var(--accent);font-weight:600}.series-progress-milestone{margin-left:auto;font-size:.9rem}.series-segment[data-read=true]:after{content:"✓";color:var(--accent);font-size:.6rem;position:absolute;bottom:-14px;left:50%;transform:translate(-50%)}.series-nav-bottom .series-reading-progress{margin-bottom:.75rem}.series-reading-progress{background:#4ade8014;border-radius:6px;align-items:center;gap:.5rem;margin:.5rem 0;padding:.5rem .75rem;font-size:.85rem;display:flex}.light .series-reading-progress{background:#4ade801f}.series-progress-percent{color:var(--accent);font-weight:600;font-family:var(--font-mono)}.series-progress-parts{color:var(--muted-foreground)}.series-progress-milestone{margin-left:auto;font-weight:500}.series-position-progress{color:var(--muted-foreground);font-size:.85rem}.series-segment.read{background:var(--accent);opacity:.9}.series-segment.read:after{content:"✓";color:var(--background);opacity:0;font-size:.5rem;transition:opacity .2s;position:absolute}.series-segment.read:hover:after{opacity:1}.series-segment.read{background:var(--accent)}.series-segment.read:not(.current):before{content:"✓";color:var(--background);opacity:0;font-size:.5rem;font-weight:600;transition:opacity .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.series-segment.read:hover:before{opacity:1}.series-segment.read:hover .series-segment-marker{opacity:0}.series-segment.read:not(.completed):not(.current){background:var(--accent);opacity:.5}.post-list-item{align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.post-list-item .post-list-main{flex:1;align-items:baseline;gap:1rem;min-width:0;display:flex}.post-header-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem;display:flex}.post-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.post-footer-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin:2rem 0;display:flex}.reading-position-prompt{background:var(--card);border:1px solid var(--border);z-index:100;border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.9rem;animation:.3s ease-out slideUp;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(1rem)}to{opacity:1;transform:translate(-50%)translateY(0)}}.reading-position-prompt span{color:var(--foreground)}.reading-position-prompt button{cursor:pointer;border-radius:.25rem;padding:.4rem .75rem;font-size:.85rem;font-weight:500;transition:background-color .2s,color .2s}.reading-position-prompt button:first-of-type{background:var(--accent);color:var(--accent-foreground);border:none}.reading-position-prompt button:first-of-type:hover{opacity:.9}.reading-position-prompt button.dismiss{border:1px solid var(--border);color:var(--muted-foreground);background:0 0}.reading-position-prompt button.dismiss:hover{background:var(--muted);color:var(--foreground)}@media (prefers-reduced-motion:reduce){.reading-position-prompt{animation:none}}@media (max-width:480px){.reading-position-prompt{bottom:1rem;left:1rem;right:1rem;transform:none}}
