﻿@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:500 800;font-display:swap;src:url("/assets/bricolage-lat-78692770.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:500 800;font-display:swap;src:url("/assets/bricolage-lext-2186fff6.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Newsreader";font-style:normal;font-weight:300 700;font-display:swap;src:url("/assets/newsreader-lat-fe979712.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Newsreader";font-style:normal;font-weight:300 700;font-display:swap;src:url("/assets/newsreader-lext-c601fd27.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Newsreader";font-style:italic;font-weight:300 400;font-display:swap;src:url("/assets/newsreader-italic-lat-65603ac2.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Newsreader";font-style:italic;font-weight:300 400;font-display:swap;src:url("/assets/newsreader-italic-lext-d188a975.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/plexmono-400-lat-d13bb5b4.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/plexmono-400-lext-182606ec.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/plexmono-500-lat-deab9c2b.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/plexmono-500-lext-2cd882f8.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/plexmono-600-lat-0fdd541f.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/plexmono-600-lext-71edd651.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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}.highlight{background:rgba(0,0,0,0);color:#c9cede}.highlight .c,.highlight .cm,.highlight .c1,.highlight .cs,.highlight .cd{color:var(--ink-soft);font-style:italic}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kv{color:var(--magenta);font-weight:500}.highlight .kc{color:var(--amber)}.highlight .no,.highlight .nc,.highlight .nn{color:var(--violet)}.highlight .nv,.highlight .vi,.highlight .vc,.highlight .vg{color:#e88c8c}.highlight .ss,.highlight .si{color:var(--amber)}.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .sh,.highlight .sx,.highlight .dl{color:var(--green)}.highlight .sr{color:var(--cyan)}.highlight .se{color:var(--amber)}.highlight .m,.highlight .mi,.highlight .mf,.highlight .mh,.highlight .mo,.highlight .il{color:var(--amber)}.highlight .nf,.highlight .nd{color:var(--cyan)}.highlight .o,.highlight .ow{color:#a8aec4}.highlight .p{color:#8e92a6}.highlight .n,.highlight .nb{color:#c9cede}.highlight .err{color:var(--magenta);background:rgba(217,111,168,.1)}.highlight .gd{color:#e88c8c;background:rgba(232,140,140,.08)}.highlight .gi{color:var(--green);background:rgba(127,203,146,.08)}:root{--void: #0E1018;--panel: #161A26;--panel-2: #1C2131;--hairline: #2A3145;--ink: #E8E6E0;--ink-soft: #8E92A6;--dim: #5C6178;--cyan: #5BC8D6;--magenta: #D96FA8;--amber: #F0A952;--violet: #9B87E8;--green: #7FCB92;--font-display: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;--font-body: "Newsreader", Georgia, "Times New Roman", serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;color-scheme:dark;min-height:100%;background-color:var(--void)}@media(prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}body{margin:0;min-height:100vh;color:var(--ink);background-color:var(--void);font-family:var(--font-body);font-size:20.5px;line-height:1.7;font-weight:400;font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:rgba(155,135,232,.28);color:var(--ink)}.skip-link{position:absolute;left:16px;top:-60px;z-index:10;padding:8px 14px;border:1px solid var(--hairline);border-radius:8px;background:var(--panel);color:var(--ink);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.skip-link:focus{top:16px}main:focus-visible{outline:none}a{color:var(--cyan);text-decoration:none;border-bottom:1px solid rgba(91,200,214,.28);transition:color .15s ease,border-color .15s ease}a:hover{border-bottom-color:var(--cyan)}a:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:2px}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}h1{font-family:var(--font-display);font-weight:700;letter-spacing:-0.03em;line-height:1.1;text-wrap:balance}.page{min-height:100vh;padding-bottom:1px;background-color:var(--void)}.wrap{max-width:1180px;margin:0 auto;padding:0 32px 56px;position:relative;z-index:1}header.site{padding:30px 0 0}.site-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:var(--panel);border:1px solid var(--hairline);border-radius:14px}.wordmark{display:flex;align-items:center;gap:10px;border:0;color:var(--ink)}.glyph{width:15px;height:15px;flex:none;border-radius:50%;background:linear-gradient(135deg, var(--amber), var(--magenta));box-shadow:inset -5px -1px 0 0 var(--panel),0 0 14px rgba(240,169,82,.45);transition:box-shadow .25s ease}.wordmark:hover .glyph{box-shadow:inset -5px -1px 0 0 var(--panel),0 0 18px rgba(240,169,82,.7)}.wordmark b{font-family:var(--font-display);font-weight:800;font-size:16px;letter-spacing:-0.02em}nav.site-nav{display:flex;gap:6px;align-items:center}nav.site-nav a,nav.site-nav .link-button{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);border:0;padding:6px 11px;border-radius:8px;background:none;cursor:pointer;transition:color .15s ease,background-color .15s ease}nav.site-nav a:hover,nav.site-nav .link-button:hover{color:var(--ink);background:var(--panel-2);text-decoration:none}nav.site-nav a[aria-current=page]{color:var(--ink)}.article{margin:64px 0 0}.article.essay{max-width:66ch;margin-inline:auto}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px;padding:0;list-style:none}.tag{display:inline-block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:999px;border:1px solid var(--hairline);color:var(--ink-soft);transition:color .15s ease,border-color .15s ease}.tag.hot{color:var(--magenta);border-color:rgba(217,111,168,.4);background:rgba(217,111,168,.09)}a.tag:hover{color:var(--ink);border-color:var(--ink-soft)}.article h1{font-family:var(--font-display);font-weight:700;font-size:clamp(2.4rem,5.6vw,3.7rem);line-height:1.02;letter-spacing:-0.035em;margin:0 0 20px;max-width:20ch}.article h1 em{font-style:normal;background:linear-gradient(100deg, var(--amber), var(--magenta) 60%, var(--violet));-webkit-background-clip:text;background-clip:text;color:rgba(0,0,0,0)}.standfirst{font-size:1.22rem;line-height:1.5;color:var(--ink-soft);margin:0 0 44px;font-style:italic;text-wrap:pretty}.cover-hero{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;border-radius:14px;border:1px solid var(--hairline);margin:0 0 32px;background:var(--panel)}.prose{font-variant-numeric:oldstyle-figures proportional-nums}.prose h2{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:700;font-size:1.5rem;letter-spacing:-0.025em;margin:56px 0 16px;scroll-margin-top:90px}.prose h2::after{content:"";flex:1;height:1px;background:var(--hairline)}.prose h3{font-family:var(--font-display);font-weight:700;font-size:1.15rem;line-height:1.25;letter-spacing:-0.02em;margin:32px 0 12px;scroll-margin-top:90px}.prose h4{font-family:var(--font-mono);font-weight:600;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:28px 0 10px;scroll-margin-top:90px}.prose p{margin:0 0 26px;text-wrap:pretty}.prose>p:first-child::first-letter{float:left;font-family:var(--font-display);font-weight:800;font-size:3.5rem;line-height:.82;padding:9px 11px 0 0;color:var(--amber)}.prose em{color:var(--ink)}.prose strong{font-weight:600;color:var(--ink)}.prose ul,.prose ol{margin:0 0 22px;padding-left:1.4em}.prose li{margin-bottom:6px}.prose a{border-bottom:0;text-decoration:underline;text-decoration-color:rgba(91,200,214,.45);text-decoration-thickness:1px;text-underline-offset:.18em;transition:text-decoration-color .15s ease,color .15s ease}.prose a:hover{text-decoration-color:var(--cyan)}.prose h2,.prose h3,.prose h4{position:relative}.prose a.heading-link{color:inherit;text-decoration:none;border:0}.prose .heading-anchor{position:absolute;left:-1.4em;top:.12em;font-family:var(--font-mono);font-weight:400;font-size:.72em;color:var(--dim);opacity:0;transition:opacity .15s ease,color .15s ease}.prose a.heading-link:hover .heading-anchor,.prose a.heading-link:focus-visible .heading-anchor{opacity:1}.prose a.heading-link:hover .heading-anchor{color:var(--cyan)}.prose img{max-width:100%;height:auto;border-radius:8px}.prose svg{display:block;max-width:100%;height:auto;color:var(--ink-soft)}.prose figure{margin:32px 0}.prose figure img,.prose figure svg{margin-inline:auto}.prose figcaption{margin-top:10px;font-size:.85rem;line-height:1.45;color:var(--ink-soft);text-align:center;text-wrap:pretty}.prose blockquote{margin:32px 0;padding:18px 22px;border-radius:12px;background:linear-gradient(180deg, rgba(155, 135, 232, 0.1), rgba(155, 135, 232, 0.03));border:1px solid rgba(155,135,232,.22);font-family:var(--font-display);font-weight:500;font-style:normal;font-size:1.12rem;line-height:1.42;letter-spacing:-0.015em;color:var(--ink)}.codeblock{margin:30px 0;border:1px solid var(--hairline);border-radius:12px;overflow:hidden;background:var(--panel)}.codebar{display:flex;align-items:center;gap:9px;padding:8px 16px;background:var(--panel-2);border-bottom:1px solid var(--hairline);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--magenta)}.codebar .dot{width:6px;height:6px;flex:none;border-radius:50%;background:var(--magenta);box-shadow:0 0 7px rgba(217,111,168,.6)}.codeblock pre{display:block;margin:0;padding:14px 18px 16px;overflow-x:auto;background:rgba(0,0,0,0);white-space:pre}.codeblock pre code{font-family:var(--font-mono);font-size:13.5px;line-height:1.78;color:#c9cede;display:block}:not(pre)>code{font-family:var(--font-mono);font-size:.83em;background:var(--panel-2);color:var(--violet);padding:2px 6px;border-radius:4px}.intro{margin:40px 0 8px}.intro .tagline{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0}.page-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.9rem,4vw,2.6rem);letter-spacing:-0.03em;line-height:1.05;margin:8px 0 28px;max-width:20ch}.post-list{list-style:none;padding:0;margin:0;display:grid;gap:16px;max-width:760px}.post-list-item{margin:0}.card{padding:20px 22px;background:var(--panel);border:1px solid var(--hairline);border-radius:14px;color:inherit;transition:border-color .15s ease,background-color .15s ease}.card:hover,.card:focus-within{border-color:var(--cyan);background:var(--panel-2)}.card--has-cover{display:flex;align-items:stretch;padding:0;overflow:hidden}.card-body{min-width:0}.card--has-cover .card-body{flex:1;padding:20px 22px}.card-cover{flex:0 0 clamp(116px,26%,200px);min-height:132px;border:0;border-right:1px solid var(--hairline);background:var(--panel-2);overflow:hidden}.card-cover img{display:block;width:100%;height:100%;object-fit:cover}@media(max-width: 600px){.card-cover{flex-basis:104px}}.card-date{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:0}.card-title{font-family:var(--font-display);font-weight:700;font-size:1.22rem;letter-spacing:-0.02em;line-height:1.2;margin:6px 0 0;color:var(--ink)}.card-title a{color:inherit;border-bottom:0}.card-title a:hover{color:var(--cyan)}.post-meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 28px}.draft-banner{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin:0 0 32px;padding:12px 16px;border:1px dashed var(--amber);border-radius:10px;background:var(--panel);font-size:.95rem;color:var(--ink-soft)}.draft-banner strong{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}.post-origin{font-size:.95rem;line-height:1.5;color:var(--ink-soft);margin:0 0 32px;padding:12px 16px;border:1px solid var(--hairline);border-radius:10px;background:var(--panel);text-wrap:pretty}.post-origin a{color:var(--cyan);border-bottom:1px solid rgba(0,0,0,0);transition:border-color .15s ease}.post-origin a:hover{border-bottom-color:currentColor}.card-summary{color:var(--ink-soft);font-size:1rem;line-height:1.5;margin:8px 0 0}.card .tags{margin:14px 0 0}.back-link{display:inline-block;margin-top:32px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;border-bottom:0}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:66ch;margin:72px auto 0}.post-nav-link{display:flex;flex-direction:column;gap:5px;padding:16px 18px;border:1px solid var(--hairline);border-radius:12px;background:var(--panel);color:inherit;text-decoration:none;transition:border-color .15s ease,background-color .15s ease}.post-nav-link:hover{border-color:var(--cyan);background:var(--panel-2)}.post-nav-older{grid-column:1;grid-row:1}.post-nav-newer{grid-column:2;grid-row:1;text-align:right}.post-nav-dir{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.post-nav-title{font-family:var(--font-display);font-weight:700;font-size:1rem;line-height:1.2;letter-spacing:-0.01em;color:var(--ink)}.empty{color:var(--ink-soft)}footer.site{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:90px 0 0;padding:12px 18px;border:1px solid var(--hairline);border-radius:14px;background:var(--panel);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--ink-soft)}footer.site a{border:0;color:var(--ink-soft)}footer.site a:hover{color:var(--cyan)}footer.site .sig{color:var(--amber)}.social-links{display:flex;align-items:center;gap:2px;margin:0;padding:0;list-style:none}.social-link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:8px;color:var(--ink-soft);transition:color .15s ease,background-color .15s ease}.social-link:hover{color:var(--cyan);background:var(--panel-2)}.social-link svg{display:block;width:17px;height:17px}.auth-form{max-width:40ch;margin-top:28px}.field{margin-block:1rem}.field label{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.4rem}.field input[type=text],.field input[type=email],.field input[type=password],.field input[type=url],.field input[type=datetime-local],.field textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--hairline);border-radius:8px;background:var(--panel);color:var(--ink);font:inherit}.field input[type=text]:focus-visible,.field input[type=email]:focus-visible,.field input[type=password]:focus-visible,.field input[type=url]:focus-visible,.field input[type=datetime-local]:focus-visible,.field textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-color:var(--cyan)}.field input[type=text][aria-invalid=true],.field input[type=email][aria-invalid=true],.field input[type=password][aria-invalid=true],.field input[type=url][aria-invalid=true],.field input[type=datetime-local][aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--magenta)}.field .field-error{color:var(--magenta);font-size:.85rem;margin:.35rem 0 0}.field .hint{color:var(--dim);font-size:.85rem;margin:.35rem 0 0}.field .cover-preview{display:block;width:100%;max-width:320px;height:auto;aspect-ratio:1200/630;object-fit:cover;border-radius:10px;border:1px solid var(--hairline);margin:0 0 .6rem}.button,input[type=submit]{display:inline-block;padding:.55rem 1.1rem;border:1px solid var(--hairline);border-radius:8px;background:var(--panel-2);color:var(--ink);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.button:hover,input[type=submit]:hover{border-color:var(--cyan);color:var(--ink);text-decoration:none}.form-errors{background:rgba(217,111,168,.09);border:1px solid rgba(217,111,168,.4);color:var(--ink);padding:.75rem 1rem;border-radius:10px}.form-errors ul{margin:0;padding-left:1.25rem}.flash{padding:.75rem 1rem;border-radius:10px;margin-block:1rem;border:1px solid var(--hairline)}.flash-notice{border-color:rgba(127,203,146,.4);background:rgba(127,203,146,.09);color:var(--ink)}.flash-alert{border-color:rgba(217,111,168,.4);background:rgba(217,111,168,.09);color:var(--ink)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}@media(forced-colors: active){.article h1 em{background:none;color:CanvasText}}@media(prefers-reduced-motion: reduce){*,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important;scroll-behavior:auto !important}}@media print{.page{background:#fff;background-image:none;color:#111}.wrap{max-width:none;padding:0}header.site,footer.site,.post-nav,.back-link,.skip-link{display:none}.article.essay{max-width:none}body,.article h1,.standfirst,.prose,.prose strong,.prose em{color:#111}.standfirst,.post-meta,.tag{color:#444}.article h1 em{background:none;-webkit-text-fill-color:#111;color:#111}.prose p:first-of-type::first-letter{color:#111}a{color:#111;text-decoration:underline}.heading-anchor{display:none}.prose a.heading-link{text-decoration:none;color:#111}.prose a[href^=http]::after{content:" (" attr(href) ")";font-size:.85em;color:#555;word-break:break-all}.codeblock{background:#f5f5f5;border:1px solid #ccc}.codebar{background:#ececec;border-bottom:1px solid #ccc;color:#333}.highlight,.highlight *,pre code{color:#111 !important;background:rgba(0,0,0,0) !important}blockquote{background:none;border:1px solid #ccc;color:#111}.codeblock,blockquote,pre,figure,h2,h3{break-inside:avoid}}@media(max-width: 900px){.wrap{padding:0 20px 48px}}@media(max-width: 600px){body{font-size:18.5px}.article{margin-top:44px}.standfirst{font-size:1.08rem;margin-bottom:38px}.codeblock pre code{font-size:12px}.prose h2{font-size:1.28rem}.prose .heading-anchor{display:none}.post-nav{grid-template-columns:1fr}.post-nav-newer,.post-nav-older{grid-column:1;grid-row:auto;text-align:left}.site-inner{flex-direction:column;align-items:flex-start;gap:10px}nav.site-nav{flex-wrap:wrap;margin-left:-11px}}body.admin{--admin-bg: #f6f6f4;--admin-surface: #fff;--admin-border: #e3e3df;--admin-border-strong: #c9c9c3;--admin-text: #1c1c1f;--admin-muted: #6b6b72;--admin-accent: #5646c9;--admin-accent-soft: #eeecfb;--admin-danger: #b42318;--admin-danger-soft: #fdeceb;--admin-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;color-scheme:light;background:var(--admin-bg);color:var(--admin-text);font-family:var(--admin-font);font-size:1rem;line-height:1.6;font-weight:400}body.admin a{color:var(--admin-accent);border:0}body.admin a:hover{text-decoration:underline}body.admin :focus-visible{outline-color:var(--admin-accent)}body.admin .container{width:100%;max-width:72rem;margin-inline:auto;padding-inline:1.25rem}body.admin main.container{padding-bottom:3rem}body.admin h1{font-family:inherit;font-size:1.75rem;font-weight:700;line-height:1.2;letter-spacing:-0.01em;margin:0}body.admin .admin-header{background:var(--admin-surface);border-bottom:1px solid var(--admin-border);margin-bottom:2rem}body.admin .admin-header-inner{display:flex;align-items:center;gap:2rem;min-height:3.5rem}body.admin .admin-brand{display:inline-flex;align-items:center;gap:.5rem;color:var(--admin-text);font-weight:700;white-space:nowrap}body.admin .admin-brand:hover{text-decoration:none}body.admin .admin-brand-tag{padding:.1rem .45rem;border-radius:4px;background:var(--admin-accent-soft);color:var(--admin-accent);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}body.admin .admin-nav{display:flex;align-self:stretch;gap:1.5rem}body.admin .admin-nav a{display:flex;align-items:center;color:var(--admin-muted);font-weight:500;border-bottom:2px solid rgba(0,0,0,0);margin-bottom:-1px}body.admin .admin-nav a:hover{color:var(--admin-text);text-decoration:none}body.admin .admin-nav a[aria-current=page]{color:var(--admin-text);border-bottom-color:var(--admin-accent)}body.admin .admin-header-end{display:flex;align-items:center;gap:1.25rem;margin-left:auto;font-size:.9rem}body.admin .admin-header-end a,body.admin .admin-header-end .link-button{color:var(--admin-muted)}body.admin .admin-header-end a:hover,body.admin .admin-header-end .link-button:hover{color:var(--admin-text)}body.admin .admin-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}body.admin .admin-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}body.admin .admin-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem;margin:.5rem 0 0;color:var(--admin-muted);font-size:.9rem}body.admin .back-link{display:inline-block;margin:0 0 .5rem;font-family:inherit;font-size:.875rem;letter-spacing:0;text-transform:none;color:var(--admin-muted)}body.admin .back-link::before{content:"← "}body.admin .admin-card{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:10px;padding:1.25rem 1.5rem;margin-bottom:1.25rem}body.admin .admin-card>.field:first-child{margin-top:0}body.admin .admin-card>.field:last-child{margin-bottom:0}body.admin .admin-card-flush{padding:0;overflow:hidden}body.admin .admin-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.25rem;align-items:start}body.admin .empty{color:var(--admin-muted)}body.admin .status{display:inline-flex;align-items:center;gap:.4rem;padding:.1rem .55rem;border-radius:999px;font-size:.8rem;font-weight:500;line-height:1.5;white-space:nowrap;background:#f0f0ee;color:#52525a}body.admin .status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}body.admin .status-published{background:#e7f6ec;color:#146c2e}body.admin .status-scheduled{background:#fdf3e2;color:#93520a}body.admin .pill{display:inline-block;margin-left:.5rem;padding:.05rem .45rem;border:1px solid var(--admin-border-strong);border-radius:4px;font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--admin-muted);vertical-align:middle}body.admin .admin-table{width:100%;border-collapse:collapse}body.admin .admin-table th,body.admin .admin-table td{text-align:left;padding:.75rem 1.25rem;border-bottom:1px solid var(--admin-border);vertical-align:middle}body.admin .admin-table th{background:#fafaf8;color:var(--admin-muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}body.admin .admin-table tbody tr:last-child td{border-bottom:0}body.admin .admin-table tbody tr:hover{background:#fafaf8}body.admin .row-title{color:var(--admin-text);font-weight:500}body.admin .row-meta{display:block;color:var(--admin-muted);font-size:.8rem}body.admin .row-date{color:var(--admin-muted);font-size:.9rem;font-variant-numeric:tabular-nums;white-space:nowrap}body.admin .admin-table .admin-row-actions{width:1%;text-align:right;white-space:nowrap}body.admin .admin-table .admin-row-actions>*{display:inline-block;margin-left:1rem}body.admin .admin-table .admin-row-actions .link-button{color:var(--admin-danger)}body.admin .button_to{display:inline-flex;margin:0}body.admin .button,body.admin input[type=submit]{display:inline-flex;align-items:center;justify-content:center;height:2.25rem;padding:0 .95rem;border:1px solid var(--admin-border-strong);border-radius:7px;background:var(--admin-surface);color:var(--admin-text);font-family:var(--admin-font);font-size:.9rem;font-weight:500;letter-spacing:0;line-height:1;text-transform:none;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease}body.admin .button:hover,body.admin input[type=submit]:hover{background:#f3f3f1;border-color:var(--admin-border-strong);color:var(--admin-text);text-decoration:none}body.admin .button-primary,body.admin input[type=submit]{background:var(--admin-accent);border-color:var(--admin-accent);color:#fff}body.admin .button-primary:hover,body.admin input[type=submit]:hover{background:#4a3bb3;border-color:#4a3bb3;color:#fff}body.admin .button-danger{color:var(--admin-danger)}body.admin .button-danger:hover{background:var(--admin-danger-soft);border-color:var(--admin-danger);color:var(--admin-danger)}body.admin .link-button{padding:0;border:0;background:none;color:var(--admin-accent);font:inherit;text-transform:none;letter-spacing:0;cursor:pointer}body.admin .link-button:hover{text-decoration:underline;background:none}body.admin .admin-form-narrow{max-width:32rem}body.admin .field{margin-block:1.25rem}body.admin .field label{font-family:inherit;font-size:.9rem;letter-spacing:0;text-transform:none;font-weight:600;color:inherit}body.admin .field input[type=text],body.admin .field input[type=email],body.admin .field input[type=password],body.admin .field input[type=url],body.admin .field input[type=datetime-local],body.admin .field textarea,body.admin .field select{background:var(--admin-surface);color:var(--admin-text);border:1px solid var(--admin-border-strong);border-radius:7px;font-size:.95rem}body.admin .field input[type=text]:focus-visible,body.admin .field input[type=email]:focus-visible,body.admin .field input[type=password]:focus-visible,body.admin .field input[type=url]:focus-visible,body.admin .field input[type=datetime-local]:focus-visible,body.admin .field textarea:focus-visible,body.admin .field select:focus-visible{outline:2px solid var(--admin-accent-soft);outline-offset:0;border-color:var(--admin-accent)}body.admin .field input[type=text][aria-invalid=true],body.admin .field input[type=email][aria-invalid=true],body.admin .field input[type=password][aria-invalid=true],body.admin .field input[type=url][aria-invalid=true],body.admin .field input[type=datetime-local][aria-invalid=true],body.admin .field textarea[aria-invalid=true],body.admin .field select[aria-invalid=true]{border-color:var(--admin-danger)}body.admin .field .title-input{font-size:1.25rem;font-weight:600}body.admin .field input[type=file]{display:block;font:inherit;font-size:.9rem;color:var(--admin-muted)}body.admin .field input[type=file]::file-selector-button{margin-right:.75rem;padding:.4rem .8rem;border:1px solid var(--admin-border-strong);border-radius:7px;background:var(--admin-surface);color:var(--admin-text);font:inherit;font-weight:500;cursor:pointer}body.admin .field .field-error{color:var(--admin-danger)}body.admin .field .hint{color:var(--admin-muted);line-height:1.5}body.admin .field .cover-preview{max-width:20rem;border-color:var(--admin-border);border-radius:8px}body.admin select{height:2.25rem;padding:0 2rem 0 .7rem;border:1px solid var(--admin-border-strong);border-radius:7px;background:var(--admin-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%236b6b72' stroke-width='1.5'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E") no-repeat right .7rem center;color:var(--admin-text);font:inherit;font-size:.9rem;appearance:none;cursor:pointer}body.admin .checkbox-field{border:0;padding:0;min-inline-size:0}body.admin .checkbox-field legend{padding:0;font-size:.9rem;font-weight:600;margin-bottom:.5rem}body.admin .checkbox-grid{display:flex;flex-wrap:wrap;gap:.5rem}body.admin .field .checkbox-option,body.admin .checkbox-option{display:inline-flex;align-items:center;gap:.45rem;margin:0 0 .6rem;padding:.35rem .75rem;border:1px solid var(--admin-border-strong);border-radius:999px;font-size:.875rem;font-weight:400;line-height:1.2;cursor:pointer;user-select:none;transition:border-color .15s ease,background .15s ease}body.admin .field .checkbox-option input[type=checkbox],body.admin .checkbox-option input[type=checkbox]{margin:0;accent-color:var(--admin-accent)}body.admin .field .checkbox-option:hover,body.admin .checkbox-option:hover{background:#f3f3f1}body.admin .field .checkbox-option:has(input:checked),body.admin .checkbox-option:has(input:checked){border-color:var(--admin-accent);background:var(--admin-accent-soft);color:var(--admin-accent)}body.admin .field .checkbox-option:has(input:focus-visible),body.admin .checkbox-option:has(input:focus-visible){outline:2px solid var(--admin-accent);outline-offset:2px}body.admin .checkbox-grid .checkbox-option{margin:0}body.admin .form-actions{position:sticky;bottom:0;z-index:2;display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem;padding:.85rem 0;background:var(--admin-bg);border-top:1px solid var(--admin-border)}body.admin .form-errors{margin-bottom:1.25rem;background:var(--admin-danger-soft);border:1px solid rgba(180,35,24,.25);color:var(--admin-danger)}body.admin .flash{margin-block:0 1.5rem;border:1px solid rgba(0,0,0,0);font-size:.95rem}body.admin .flash-notice{background:#e7f6ec;border-color:rgba(20,108,46,.2);color:#146c2e}body.admin .flash-alert{background:var(--admin-danger-soft);border-color:rgba(180,35,24,.25);color:var(--admin-danger)}body.admin .editor-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}body.admin .editor-header>label{font-size:.9rem;font-weight:600}body.admin .editor-format{display:flex;align-items:center;gap:.6rem}body.admin .editor-format label{margin:0;color:var(--admin-muted);font-size:.85rem;font-weight:400}body.admin .editor .field{margin-top:.75rem}body.admin .editor-panes{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:stretch}body.admin .field .editor-source{font-family:var(--font-mono);font-size:.85rem;line-height:1.65;tab-size:2;resize:vertical;min-height:36rem;background:#fcfcfb}body.admin .editor-preview{height:100%;min-height:36rem;max-height:60rem;overflow-y:auto;padding:1.5rem 1.75rem;font-size:17px}body.admin .editor-preview>:first-child{margin-top:0}body.admin .preview-error{font-family:var(--font-mono);font-size:.8rem;color:var(--magenta)}body.admin .site-surface{color-scheme:dark;background:var(--void);color:var(--ink);font-family:var(--font-body);line-height:1.7;border:1px solid var(--hairline);border-radius:10px}body.admin .site-surface a{color:var(--cyan)}body.admin .site-surface .heading-link{color:inherit;text-decoration:none}body.admin .site-surface .heading-anchor{display:none}body.admin div.site-surface{padding:2rem 2.5rem;font-size:19px}body.admin .post-body{max-width:44rem;margin-inline:auto}body.admin .admin-cover{max-width:44rem;margin:0 auto 2rem}body.admin .admin-cover img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;border-radius:8px}body.admin .admin-cover figcaption{margin-top:.5rem;font-size:.85rem;font-style:italic;color:var(--ink-soft)}body.admin .preview-link h2{margin:0 0 .25rem;font-size:1rem}body.admin .preview-link .hint{margin:0 0 1rem;font-size:.875rem;color:var(--admin-muted);max-width:70ch}body.admin .preview-link-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}body.admin .preview-link-row input{flex:1 1 22rem;min-width:0;height:2.25rem;padding:0 .7rem;font-family:var(--font-mono);font-size:.8rem;background:#fafaf8;color:var(--admin-text);border:1px solid var(--admin-border-strong);border-radius:7px}@media(max-width: 900px){body.admin .admin-card-grid,body.admin .editor-panes{grid-template-columns:1fr}body.admin .field .editor-source,body.admin .editor-preview{min-height:20rem}}@media(max-width: 640px){body.admin .admin-header-inner{flex-wrap:wrap;gap:0 1.25rem;padding-block:.75rem 0}body.admin .admin-nav{order:3;width:100%;min-height:2.5rem}body.admin .admin-page-header{flex-direction:column}body.admin .admin-card{padding:1rem}body.admin .admin-card-flush{padding:0}body.admin .admin-table th,body.admin .admin-table td{padding:.65rem .75rem}body.admin .posts-table th:nth-child(3),body.admin .posts-table td:nth-child(3){display:none}body.admin div.site-surface{padding:1.25rem}body.admin .editor-header{flex-wrap:wrap}}
