@font-face{font-family:Iosev-Slab;font-weight:400;font-style:normal;src:url(/blog/fonts/iosevka/core/slab/core-slab-regular.woff2) format("woff2");font-display:swap;unicode-range:U+000D-007E,U+00A0-024F,U+0300-036F,U+2000-206F,U+20A0-20C0,U+2100-23FF,U+25B8,U+2713}@font-face{font-family:Iosev-Slab;font-weight:400;font-style:italic;src:url(/blog/fonts/iosevka/core/slab/core-slab-italic.woff2) format("woff2");font-display:swap;unicode-range:U+000D-007E,U+00A0-024F,U+0300-036F,U+2000-206F,U+20A0-20C0,U+2100-23FF,U+25B8,U+2713}@font-face{font-family:Iosev-Slab;font-weight:700;font-style:normal;src:url(/blog/fonts/iosevka/core/slab/core-slab-bold.woff2) format("woff2");font-display:swap;unicode-range:U+000D-007E,U+00A0-024F,U+0300-036F,U+2000-206F,U+20A0-20C0,U+2100-23FF,U+25B8,U+2713}@font-face{font-family:Iosev-Slab;font-weight:700;font-style:italic;src:url(/blog/fonts/iosevka/core/slab/core-slab-bold-italic.woff2) format("woff2");font-display:swap;unicode-range:U+000D-007E,U+00A0-024F,U+0300-036F,U+2000-206F,U+20A0-20C0,U+2100-23FF,U+25B8,U+2713}@font-face{font-family:Iosev-Term;font-weight:400;font-style:normal;src:url(/blog/fonts/iosevka/core/term/core-term-regular.woff2) format("woff2");font-display:swap;unicode-range:U+000D-007E,U+00A0-024F,U+0300-036F,U+2000-206F,U+20A0-20C0,U+2100-23FF,U+25B8,U+2713}@font-face{font-family:Iosev-Term;font-weight:400;font-style:italic;src:url(/blog/fonts/iosevka/core/term/core-term-italic.woff2) format("woff2");font-display:swap;unicode-range:U+000D-007E,U+00A0-024F,U+0300-036F,U+2000-206F,U+20A0-20C0,U+2100-23FF,U+25B8,U+2713}@font-face{font-family:Iosev-Term;font-weight:700;font-style:normal;src:url(/blog/fonts/iosevka/core/term/core-term-bold.woff2) format("woff2");font-display:swap;unicode-range:U+000D-007E,U+00A0-024F,U+0300-036F,U+2000-206F,U+20A0-20C0,U+2100-23FF,U+25B8,U+2713}@font-face{font-family:Iosev-Term;font-weight:700;font-style:italic;src:url(/blog/fonts/iosevka/core/term/core-term-bold-italic.woff2) format("woff2");font-display:swap;unicode-range:U+000D-007E,U+00A0-024F,U+0300-036F,U+2000-206F,U+20A0-20C0,U+2100-23FF,U+25B8,U+2713}@font-face{font-family:Iosev-Slab;font-weight:400;font-style:normal;src:url(/blog/fonts/iosevka/cr/slab/cr-slab-regular.woff2) format("woff2");font-display:swap;unicode-range:U+0400-052F,U+1C80-1C8F,U+2DE0-2DFF,U+A640-A69F,U+1E030-1E06F,U+1E08F}@font-face{font-family:Iosev-Slab;font-weight:400;font-style:italic;src:url(/blog/fonts/iosevka/cr/slab/cr-slab-italic.woff2) format("woff2");font-display:swap;unicode-range:U+0400-052F,U+1C80-1C8F,U+2DE0-2DFF,U+A640-A69F,U+1E030-1E06F,U+1E08F}@font-face{font-family:Iosev-Slab;font-weight:700;font-style:normal;src:url(/blog/fonts/iosevka/cr/slab/cr-slab-bold.woff2) format("woff2");font-display:swap;unicode-range:U+0400-052F,U+1C80-1C8F,U+2DE0-2DFF,U+A640-A69F,U+1E030-1E06F,U+1E08F}@font-face{font-family:Iosev-Slab;font-weight:700;font-style:italic;src:url(/blog/fonts/iosevka/cr/slab/cr-slab-bold-italic.woff2) format("woff2");font-display:swap;unicode-range:U+0400-052F,U+1C80-1C8F,U+2DE0-2DFF,U+A640-A69F,U+1E030-1E06F,U+1E08F}@font-face{font-family:Iosev-Term;font-weight:400;font-style:normal;src:url(/blog/fonts/iosevka/cr/term/cr-term-regular.woff2) format("woff2");font-display:swap;unicode-range:U+0400-052F,U+1C80-1C8F,U+2DE0-2DFF,U+A640-A69F,U+1E030-1E06F,U+1E08F}@font-face{font-family:Iosev-Term;font-weight:400;font-style:italic;src:url(/blog/fonts/iosevka/cr/term/cr-term-italic.woff2) format("woff2");font-display:swap;unicode-range:U+0400-052F,U+1C80-1C8F,U+2DE0-2DFF,U+A640-A69F,U+1E030-1E06F,U+1E08F}@font-face{font-family:Iosev-Term;font-weight:700;font-style:normal;src:url(/blog/fonts/iosevka/cr/term/cr-term-bold.woff2) format("woff2");font-display:swap;unicode-range:U+0400-052F,U+1C80-1C8F,U+2DE0-2DFF,U+A640-A69F,U+1E030-1E06F,U+1E08F}@font-face{font-family:Iosev-Term;font-weight:700;font-style:italic;src:url(/blog/fonts/iosevka/cr/term/cr-term-bold-italic.woff2) format("woff2");font-display:swap;unicode-range:U+0400-052F,U+1C80-1C8F,U+2DE0-2DFF,U+A640-A69F,U+1E030-1E06F,U+1E08F}@font-face{font-family:Iosev-Slab;font-weight:400;font-style:normal;src:url(/blog/fonts/iosevka/gr/slab/gr-slab-regular.woff2) format("woff2");font-display:swap;unicode-range:U+0370-03FF,U+1F00-1FFF}@font-face{font-family:Iosev-Slab;font-weight:400;font-style:italic;src:url(/blog/fonts/iosevka/gr/slab/gr-slab-italic.woff2) format("woff2");font-display:swap;unicode-range:U+0370-03FF,U+1F00-1FFF}@font-face{font-family:Iosev-Slab;font-weight:700;font-style:normal;src:url(/blog/fonts/iosevka/gr/slab/gr-slab-bold.woff2) format("woff2");font-display:swap;unicode-range:U+0370-03FF,U+1F00-1FFF}@font-face{font-family:Iosev-Slab;font-weight:700;font-style:italic;src:url(/blog/fonts/iosevka/gr/slab/gr-slab-bold-italic.woff2) format("woff2");font-display:swap;unicode-range:U+0370-03FF,U+1F00-1FFF}@font-face{font-family:Iosev-Term;font-weight:400;font-style:normal;src:url(/blog/fonts/iosevka/gr/term/gr-term-regular.woff2) format("woff2");font-display:swap;unicode-range:U+0370-03FF,U+1F00-1FFF}@font-face{font-family:Iosev-Term;font-weight:400;font-style:italic;src:url(/blog/fonts/iosevka/gr/term/gr-term-italic.woff2) format("woff2");font-display:swap;unicode-range:U+0370-03FF,U+1F00-1FFF}@font-face{font-family:Iosev-Term;font-weight:700;font-style:normal;src:url(/blog/fonts/iosevka/gr/term/gr-term-bold.woff2) format("woff2");font-display:swap;unicode-range:U+0370-03FF,U+1F00-1FFF}@font-face{font-family:Iosev-Term;font-weight:700;font-style:italic;src:url(/blog/fonts/iosevka/gr/term/gr-term-bold-italic.woff2) format("woff2");font-display:swap;unicode-range:U+0370-03FF,U+1F00-1FFF}@font-face{font-family:Iosev-Slab;font-weight:400;font-style:normal;src:url(/blog/fonts/iosevka/ipa/slab/ipa-slab-regular.woff2) format("woff2");font-display:swap;unicode-range:U+0250-02FF,U+1D00-1DBF}@font-face{font-family:Iosev-Slab;font-weight:400;font-style:italic;src:url(/blog/fonts/iosevka/ipa/slab/ipa-slab-italic.woff2) format("woff2");font-display:swap;unicode-range:U+0250-02FF,U+1D00-1DBF}@font-face{font-family:Iosev-Slab;font-weight:700;font-style:normal;src:url(/blog/fonts/iosevka/ipa/slab/ipa-slab-bold.woff2) format("woff2");font-display:swap;unicode-range:U+0250-02FF,U+1D00-1DBF}@font-face{font-family:Iosev-Slab;font-weight:700;font-style:italic;src:url(/blog/fonts/iosevka/ipa/slab/ipa-slab-bold-italic.woff2) format("woff2");font-display:swap;unicode-range:U+0250-02FF,U+1D00-1DBF}@font-face{font-family:Iosev-Term;font-weight:400;font-style:normal;src:url(/blog/fonts/iosevka/ipa/term/ipa-term-regular.woff2) format("woff2");font-display:swap;unicode-range:U+0250-02FF,U+1D00-1DBF}@font-face{font-family:Iosev-Term;font-weight:400;font-style:italic;src:url(/blog/fonts/iosevka/ipa/term/ipa-term-italic.woff2) format("woff2");font-display:swap;unicode-range:U+0250-02FF,U+1D00-1DBF}@font-face{font-family:Iosev-Term;font-weight:700;font-style:normal;src:url(/blog/fonts/iosevka/ipa/term/ipa-term-bold.woff2) format("woff2");font-display:swap;unicode-range:U+0250-02FF,U+1D00-1DBF}@font-face{font-family:Iosev-Term;font-weight:700;font-style:italic;src:url(/blog/fonts/iosevka/ipa/term/ipa-term-bold-italic.woff2) format("woff2");font-display:swap;unicode-range:U+0250-02FF,U+1D00-1DBF}@font-face{font-family:Iosev-Slab;font-weight:400;font-style:normal;src:url(/blog/fonts/iosevka/code/slab/code-slab-regular.woff2) format("woff2");font-display:swap;unicode-range:U+2070-209F,U+20D0-20FF,U+2400-243F,U+2440-245F,U+2460-25B7,U+25B9-2712,U+2714-27FF,U+2900-2BFF,U+2E00-2E7F,U+3248-32BF,U+E0A0-E0FF,U+EE00-EFFF,U+F880-F8FF,U+1CC00-1CEFF,U+1F780-1F8FF,U+1FB00-1FBFF}@font-face{font-family:Iosev-Slab;font-weight:400;font-style:italic;src:url(/blog/fonts/iosevka/code/slab/code-slab-italic.woff2) format("woff2");font-display:swap;unicode-range:U+2070-209F,U+20D0-20FF,U+2400-243F,U+2440-245F,U+2460-25B7,U+25B9-2712,U+2714-27FF,U+2900-2BFF,U+2E00-2E7F,U+3248-32BF,U+E0A0-E0FF,U+EE00-EFFF,U+F880-F8FF,U+1CC00-1CEFF,U+1F780-1F8FF,U+1FB00-1FBFF}@font-face{font-family:Iosev-Slab;font-weight:700;font-style:normal;src:url(/blog/fonts/iosevka/code/slab/code-slab-bold.woff2) format("woff2");font-display:swap;unicode-range:U+2070-209F,U+20D0-20FF,U+2400-243F,U+2440-245F,U+2460-25B7,U+25B9-2712,U+2714-27FF,U+2900-2BFF,U+2E00-2E7F,U+3248-32BF,U+E0A0-E0FF,U+EE00-EFFF,U+F880-F8FF,U+1CC00-1CEFF,U+1F780-1F8FF,U+1FB00-1FBFF}@font-face{font-family:Iosev-Slab;font-weight:700;font-style:italic;src:url(/blog/fonts/iosevka/code/slab/code-slab-bold-italic.woff2) format("woff2");font-display:swap;unicode-range:U+2070-209F,U+20D0-20FF,U+2400-243F,U+2440-245F,U+2460-25B7,U+25B9-2712,U+2714-27FF,U+2900-2BFF,U+2E00-2E7F,U+3248-32BF,U+E0A0-E0FF,U+EE00-EFFF,U+F880-F8FF,U+1CC00-1CEFF,U+1F780-1F8FF,U+1FB00-1FBFF}@font-face{font-family:Iosev-Term;font-weight:400;font-style:normal;src:url(/blog/fonts/iosevka/code/term/code-term-regular.woff2) format("woff2");font-display:swap;unicode-range:U+2070-209F,U+20D0-20FF,U+2400-243F,U+2440-245F,U+2460-25B7,U+25B9-2712,U+2714-27FF,U+2900-2BFF,U+2E00-2E7F,U+3248-32BF,U+E0A0-E0FF,U+EE00-EFFF,U+F880-F8FF,U+1CC00-1CEFF,U+1F780-1F8FF,U+1FB00-1FBFF}@font-face{font-family:Iosev-Term;font-weight:400;font-style:italic;src:url(/blog/fonts/iosevka/code/term/code-term-italic.woff2) format("woff2");font-display:swap;unicode-range:U+2070-209F,U+20D0-20FF,U+2400-243F,U+2440-245F,U+2460-25B7,U+25B9-2712,U+2714-27FF,U+2900-2BFF,U+2E00-2E7F,U+3248-32BF,U+E0A0-E0FF,U+EE00-EFFF,U+F880-F8FF,U+1CC00-1CEFF,U+1F780-1F8FF,U+1FB00-1FBFF}@font-face{font-family:Iosev-Term;font-weight:700;font-style:normal;src:url(/blog/fonts/iosevka/code/term/code-term-bold.woff2) format("woff2");font-display:swap;unicode-range:U+2070-209F,U+20D0-20FF,U+2400-243F,U+2440-245F,U+2460-25B7,U+25B9-2712,U+2714-27FF,U+2900-2BFF,U+2E00-2E7F,U+3248-32BF,U+E0A0-E0FF,U+EE00-EFFF,U+F880-F8FF,U+1CC00-1CEFF,U+1F780-1F8FF,U+1FB00-1FBFF}@font-face{font-family:Iosev-Term;font-weight:700;font-style:italic;src:url(/blog/fonts/iosevka/code/term/code-term-bold-italic.woff2) format("woff2");font-display:swap;unicode-range:U+2070-209F,U+20D0-20FF,U+2400-243F,U+2440-245F,U+2460-25B7,U+25B9-2712,U+2714-27FF,U+2900-2BFF,U+2E00-2E7F,U+3248-32BF,U+E0A0-E0FF,U+EE00-EFFF,U+F880-F8FF,U+1CC00-1CEFF,U+1F780-1F8FF,U+1FB00-1FBFF}:root{--rosewater: #f5e0dc;--flamingo: #f2cdcd;--pink: #f5c2e7;--mauve: #cba6f7;--red: #f38ba8;--maroon: #eba0ac;--peach: #fab387;--yellow: #f9e2af;--green: #a6e3a1;--teal: #94e2d5;--sky: #89dceb;--sapphire: #74c7ec;--blue: #89b4fa;--lavender: #b4befe;--muted: #a6adc8;--surface0: #313244;--base: #1e1e2e;--mantle: #181825;--crust: #11111b;--bg-body: var(--base);--bg-nav: var(--crust);--bg-code: var(--crust);--bg-quote: var(--mantle);--bg-surface: var(--surface0);--bg-mantle: var(--mantle);--accent: var(--mauve);--accent-hover: var(--lavender);--link: var(--blue);--link-hover: var(--teal);--text: var(--rosewater);--border: var(--accent);--astro-code-background: var(--crust);--astro-code-foreground: var(--rosewater);--astro-code-token-comment: var(--muted);--astro-code-token-constant: var(--maroon);--astro-code-token-function: var(--accent);--astro-code-token-keyword: var(--blue);--astro-code-token-parameter: var(--red);--astro-code-token-string-expression: var(--green);--font-slab: "Iosev-Slab", ui-monospace, "Cascadia Mono", "JetBrains Mono", "DejaVu Sans Mono", Menlo, Consolas, monospace;--font-term: "Iosev-Term", ui-monospace, "Cascadia Mono", "JetBrains Mono", "DejaVu Sans Mono", Menlo, Consolas, monospace}*{box-sizing:border-box;margin:0 auto;padding:0}body{font-family:var(--font-slab);line-height:1.5;color:var(--text);background:var(--bg-mantle);min-height:100vh;padding:2rem 1rem}a{color:var(--link);font-weight:700}a:hover{color:var(--link-hover)}h1{font-size:2rem;margin-bottom:.5rem;text-align:center;color:var(--accent)}h2{font-size:1.5rem;margin-top:2rem;margin-bottom:.5rem}p{margin-bottom:1rem}.blog-list{display:flex;flex-direction:column;align-items:center}.blog-item{margin-block:.5rem}.blog-item-title{display:flex;text-align:center;align-items:center;justify-content:center;gap:.4rem}.pin-icon{color:var(--peach);flex-shrink:0}.pin-divider{all:unset;display:block;width:100%;height:2px;background:var(--accent);margin:1rem 0}.blog-item .title{display:block;font-size:1.8rem;font-weight:700;color:var(--accent);text-decoration:none}.blog-item .title:hover{color:var(--accent-hover)}.blog-item .date{display:block;font-size:1rem;color:var(--green);font-weight:700;margin-top:.1em;text-align:center}.post-content{margin-top:1rem}.post-content :is(h1,h2,h3,h4,h5,h6){font-weight:700;line-height:1.4;margin-top:1.6rem;margin-bottom:.4rem}.post-content h1{display:flex;align-items:center;justify-content:center;gap:1rem;text-align:center;color:var(--accent)}.post-content h1:before,.post-content h1:after{content:"";flex:1;border-top:2px solid currentColor}.post-content h1 a.heading-anchor{position:absolute;right:0;top:50%;transform:translateY(-50%);margin-left:0}.post-content h2{color:var(--green);font-size:1.5rem}.post-content h2:before{content:"--- "}.post-content h3{color:var(--sapphire);font-size:1.25rem}.post-content h3:before{content:"------ "}.post-content h4{color:var(--peach);font-size:1.1rem}.post-content h4:before{content:"--------- "}.post-content h5{color:var(--sky);font-size:1rem}.post-content h5:before{content:"------------ "}.post-content h6{color:var(--muted);font-size:1rem}.post-content h6:before{content:"--------------- "}.post-content pre{text-align:left;font-family:var(--font-slab);padding:1rem;border-radius:6px;overflow-x:auto;margin-bottom:1rem;position:relative}.post-content code{font-family:var(--font-term);font-size:.9rem}.post-content :not(pre)>code{background:var(--bg-code);padding:.1rem .35rem;border-radius:4px}.post-content img{max-width:100%;border-radius:4px}.post-content del{text-decoration-line:line-through;text-decoration-color:var(--mauve);text-decoration-thickness:2px}.post-content ul,.post-content ol{padding-left:1.5rem;margin-bottom:1rem}.post-content li{margin-bottom:.25rem}.post-content li::marker{color:var(--accent)}.post-content table{border-collapse:collapse;width:100%;margin:0 0 1rem;font-size:.9rem}.post-content th,.post-content td{border:1px solid var(--surface0);padding:.4rem .75rem;text-align:left}.post-content th{color:var(--accent);background:var(--bg-surface);font-weight:700}.post-content th[align=center],.post-content td[align=center]{text-align:center}.post-content th[align=right],.post-content td[align=right]{text-align:right}.post-header{margin-bottom:1.5rem}.post-title{font-size:2.2rem;font-weight:700;color:var(--accent);text-align:center;margin-bottom:.2rem}.post-date{font-size:1.1rem;color:var(--green);font-weight:700;text-align:center;margin-bottom:0}.copy-btn{position:absolute;top:.5rem;right:.5rem;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-slab);font-size:.8rem;font-weight:800;padding:.3rem;background:var(--bg-nav);color:var(--blue);border:1px solid var(--accent);border-radius:4px;cursor:pointer;opacity:0;transition:opacity .15s ease;line-height:1}.copy-btn img{display:block}.post-content pre:hover .copy-btn{opacity:1}footer{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--border);color:var(--text-footer);font-size:.85rem}.post-content :is(h1,h2,h3,h4,h5,h6){scroll-margin-top:1.5rem;position:relative}a.heading-anchor{display:inline-flex;align-items:center;margin-left:.45rem;color:var(--muted);opacity:0;text-decoration:none;font-size:.85em;font-weight:400;line-height:1;user-select:none;cursor:pointer;position:relative;vertical-align:middle;transition:opacity .15s ease,color .15s ease}.post-content :is(h1,h2,h3,h4,h5,h6):hover a.heading-anchor,a.heading-anchor:focus-visible{opacity:1}a.heading-anchor:hover{color:var(--accent);text-decoration:none}a.heading-anchor:focus-visible{outline:2px solid var(--accent);outline-offset:2px;opacity:1}a.heading-anchor.copied{opacity:1}a.heading-anchor.copied .anchor-icon{color:var(--teal);animation:anchor-pop .3s ease}@keyframes anchor-pop{0%{transform:scale(1.5)}to{transform:scale(1)}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.content-box{max-width:720px;margin:0 auto;background:var(--bg-body);border:3px solid var(--accent);border-radius:8px;padding:1.5rem}.top-pill{display:flex;justify-content:space-between;align-items:stretch;border:2px solid var(--accent);border-radius:8px;background:var(--bg-nav);padding:.4rem 1.5rem;margin-bottom:1rem;gap:1.5rem;width:fit-content;max-width:100%}.top-pill-btn{font-family:var(--font-slab);background:none;border:none;cursor:pointer;color:var(--muted);text-align:center;padding:.2rem .5rem;border-radius:4px;width:11rem;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.top-pill-btn:hover{color:var(--link-hover);background:var(--bg-mantle)}.top-pill-label{font-weight:700;display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.top-pill-title{display:block;font-size:.7rem;color:var(--muted);white-space:nowrap}.top-pill-rss-btn{font-size:1rem;font-weight:700;color:var(--lavender);display:flex;align-items:center;justify-content:center}.nav-bar{margin:0 auto 1rem;background:var(--bg-nav);border:2px solid var(--accent);border-radius:8px;width:fit-content;max-width:100%;overflow-x:auto}.nav-bar nav{padding:.5rem 1.5rem;display:flex;gap:clamp(.4rem,1.5vw,1.5rem);justify-content:center;align-items:center}.nav-bar a{color:var(--accent);text-decoration:none;font-weight:700;display:inline-flex;align-items:center;gap:.35rem}.nav-icon{flex-shrink:0}.nav-tip{text-align:center;font-size:.75rem;color:var(--muted);padding:.15rem 1rem .4rem;font-style:italic}@media(max-width:700px){.nav-icon:not(.always-show){display:none}.top-pill .top-pill-btn:not(.top-pill-rss-btn){display:none}.top-pill{justify-content:center;padding:.4rem 1.5rem;gap:0}.top-pill-rss-btn{width:auto}}.audio-player{display:flex;align-items:stretch;gap:.75rem;background:var(--crust);border:1px solid var(--surface0);border-radius:8px;padding:.6rem .85rem;margin-bottom:1rem;font-family:var(--font-slab)}.ap-cover{width:64px;height:64px;border-radius:4px;object-fit:cover;flex-shrink:0;border:1px solid var(--surface0);padding:2px;background:var(--surface0)}.ap-content{flex:1;min-width:0}.ap-label{font-size:.82rem;color:var(--muted);margin-bottom:.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ap-controls{display:flex;align-items:center;gap:.55rem}.ap-playpause{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;color:var(--mauve)}.ap-playpause:hover{color:var(--pink)}.ap-icon{width:16px;height:16px}.ap-progress-wrap{flex:1;height:22px;display:flex;align-items:center;cursor:pointer}.ap-progress-bar{position:relative;width:100%;height:5px;background:var(--surface0);border-radius:3px}.ap-progress-filled{position:absolute;top:0;left:0;height:100%;background:var(--mauve);border-radius:3px;width:0;pointer-events:none}.ap-progress-handle{position:absolute;top:50%;left:0;width:12px;height:12px;background:var(--pink);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:opacity .15s}.ap-progress-wrap:hover .ap-progress-handle{opacity:1}.ap-time{font-size:.75rem;color:var(--muted);white-space:nowrap}.ap-volume{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.ap-volume-icon{width:16px;height:16px;color:var(--muted)}.ap-volume-bar{position:relative;width:60px;height:5px;background:var(--surface0);border-radius:3px;cursor:pointer}.ap-volume-filled{position:absolute;top:0;left:0;height:100%;background:var(--mauve);border-radius:3px;width:100%;pointer-events:none}.ap-volume-handle{position:absolute;top:50%;left:100%;width:10px;height:10px;background:var(--pink);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.tooltip{position:relative;color:var(--teal);cursor:default;font-weight:700}.tooltip:after{content:attr(context);position:fixed;top:var(--tooltip-top, -9999px);left:var(--tooltip-left, -9999px);transform:none;padding:.4rem .6rem;max-width:400px;white-space:normal;display:block;width:fit-content;box-sizing:border-box;overflow-wrap:break-word;font-size:.85rem;font-style:normal;font-weight:400;font-family:var(--font-slab);background:var(--crust);color:var(--rosewater);border:1px solid var(--mauve);border-radius:6px;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:99999}.tooltip:hover:after{opacity:1}.tooltip-active:after{opacity:1}.tooltip-media{color:var(--mauve);cursor:pointer;font-weight:700}.tooltip-media.active{color:var(--pink)}.tooltip-media-popup{position:fixed;display:none;z-index:99999;background:var(--crust);border:1px solid var(--mauve);border-radius:8px;padding:.5rem;min-width:300px;max-width:360px;box-shadow:0 4px 16px #00000073;font-family:var(--font-slab);pointer-events:auto;flex-direction:row;align-items:stretch;gap:.6rem}.tooltip-media-popup.visible{display:flex}.tooltip-media-popup.tm-compact{min-width:240px}.tooltip-media-popup.tm-label-only{width:fit-content;min-width:240px;margin:0;padding:.55rem 1rem}.tooltip-media-popup.tm-label-only .tm-label{text-align:center;margin-bottom:.4rem}.tooltip-media-popup.tm-label-only .tm-progress-wrap{width:100%}.tooltip-media-popup.tm-cover-only{align-items:center;min-width:280px}.tooltip-media-popup.tm-cover-only .tm-cover{width:54px;height:54px}.tooltip-media-popup.tm-cover-only .tm-progress-wrap{width:100%}.tm-cover{width:64px;height:64px;border-radius:4px;object-fit:cover;flex-shrink:0;border:1px solid var(--surface0);padding:2px;background:var(--surface0)}.tm-content{flex:1;min-width:0}.tm-label{font-size:.78rem;color:var(--muted);margin-bottom:.35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tm-row{display:flex;align-items:center;gap:.45rem}.tm-playpause{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;color:var(--mauve)}.tm-playpause:hover{color:var(--pink)}.tm-icon{width:14px;height:14px}.tm-progress-wrap{width:85%;height:18px;display:flex;align-items:center;cursor:pointer;box-sizing:border-box}.tm-progress-bar{position:relative;width:100%;height:4px;background:var(--surface0);border-radius:2px}.tm-progress-filled{position:absolute;top:0;left:0;height:100%;background:var(--mauve);border-radius:2px;width:0;pointer-events:none}.tm-progress-handle{position:absolute;top:50%;left:0;width:10px;height:10px;background:var(--pink);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:opacity .15s}.tm-progress-wrap:hover .tm-progress-handle{opacity:1}.tm-time{font-size:.7rem;color:var(--muted);white-space:nowrap;min-width:2.5em;text-align:right}.tm-spacer{flex:1}.tm-volume{position:relative;display:flex;align-items:center;flex-shrink:0}.tm-volume:after{content:"";position:absolute;top:0;bottom:0;right:100%;width:8px}.tm-volume.active .tm-volume-bar{display:block}.tm-volume-icon{width:14px;height:14px;color:var(--muted);cursor:pointer}.tm-volume-icon:hover{color:var(--rosewater)}.tm-volume-bar{position:absolute;top:50%;right:100%;transform:translateY(-50%);width:60px;height:5px;background:var(--surface0);border-radius:3px;cursor:pointer;margin-right:6px;overflow:hidden}.tm-volume-filled{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--mauve);border-radius:3px}.tooltip-media-popup img:not(.tm-cover){display:block;width:100%;max-width:280px;height:auto;border-radius:4px}.post-content blockquote{border-left:3px solid var(--mauve);background:var(--bg-quote);color:var(--muted);padding:.5rem .5rem .5rem 1rem;margin-bottom:1rem;border-radius:0 6px 6px 0;font-size:.95rem;font-style:italic}.post-content blockquote p{margin-bottom:0}.post-content details.qb{border-left:5px solid var(--mauve);background:var(--bg-quote);color:var(--muted);padding:.5rem 1rem;margin:0 0 1rem -1rem;border-radius:6px;font-size:.95rem;font-style:italic;width:fit-content}.post-content details.qb>summary{display:flex;justify-content:flex-start;align-items:center;gap:.35rem;cursor:pointer;list-style:none;font-style:normal;padding:.15rem .4rem;margin:-.15rem -.4rem;border-radius:4px;transition:background .15s ease}.post-content details.qb>summary:hover{background:var(--bg-surface)}.post-content details.qb:not([open])>summary.qb-lock:hover{background:transparent}.post-content details.qb>summary::-webkit-details-marker{display:none}.post-content details.qb>summary:before{content:attr(data-label);color:var(--link);font-weight:700}.post-content details.qb>summary:after{content:"▸";order:-1;margin-left:-.5rem;color:var(--mauve);font-size:1.2rem;line-height:1;transition:transform .15s ease}.post-content details.qb[open]>summary:after{transform:rotate(90deg)}.post-content details.qb>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.post-content details.qb[open]>summary{margin-bottom:.5rem;background:var(--bg-surface)}.post-content details.qb>.qb-body{overflow:hidden;transition:height .15s ease}.post-content details.qb blockquote{border-left:none;background:transparent;border-radius:0;padding:0;margin:0;color:inherit}@media print{.post-content details.qb::details-content{content-visibility:visible}.post-content details.qb>*:not(summary){display:block}.post-content details.qb>summary:after{content:none}}.post-content .callout{--callout-text: var(--yellow);--callout-bar: var(--accent);border-left:5px solid var(--callout-bar);background:var(--bg-quote);color:var(--callout-text);font-weight:700;font-size:.8rem;padding:.75rem 1rem;margin:0 -1rem 1.5rem;border-radius:6px}.post-content .callout:before{content:attr(data-label);display:block;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--callout-bar);margin-bottom:.35rem}.post-content .callout:not([data-label]):before{content:none}.post-content .callout.cw{--callout-bar: var(--red)}.post-content .callout.warn{--callout-bar: var(--peach)}.post-content .callout.dedication{--callout-bar: var(--pink);color:var(--pink)}.post-content .callout.dedication p:before{content:" - ";color:var(--muted)}.post-content .callout.note{--callout-bar: var(--teal);color:var(--muted)}.post-content .callout[color=mauve]{--callout-bar: var(--mauve)}.post-content .callout[color=lavender]{--callout-bar: var(--lavender)}.post-content .callout[color=pink]{--callout-bar: var(--pink)}.post-content .callout[color=red]{--callout-bar: var(--red)}.post-content .callout[color=maroon]{--callout-bar: var(--maroon)}.post-content .callout[color=peach]{--callout-bar: var(--peach)}.post-content .callout[color=yellow]{--callout-bar: var(--yellow)}.post-content .callout[color=green]{--callout-bar: var(--green)}.post-content .callout[color=teal]{--callout-bar: var(--teal)}.post-content .callout[color=sky]{--callout-bar: var(--sky)}.post-content .callout[color=sapphire]{--callout-bar: var(--sapphire)}.post-content .callout[color=blue]{--callout-bar: var(--blue)}.post-content .callout[color=rosewater]{--callout-bar: var(--rosewater)}.post-content .callout[color=flamingo]{--callout-bar: var(--flamingo)}.post-content .callout p{margin-bottom:.5rem}.post-content .callout p:last-child{margin-bottom:0}
