:root{--accent: #d6336c;--accent-ink: #a61e4d;--accent-soft: #fbe0ea;--bg: #faf8f3;--surface: #ffffff;--ink: #1a1722;--ink-soft: #46424f;--muted: #5f5b68;--line: #e8e3da;--font-display: "Rubik", system-ui, -apple-system, sans-serif;--font-body: "Heebo", system-ui, -apple-system, sans-serif;--font-mono: "Space Mono", ui-monospace, "SFMono-Regular", monospace;--measure: 42rem;--wide: 71rem;--radius: 16px;--radius-sm: 10px;--speed: .2s}@media(prefers-color-scheme:dark){:root{--accent: #f06595;--accent-ink: #ffa8c5;--accent-soft: #2c1a24;--bg: #15131c;--surface: #1e1b28;--ink: #edeaf2;--ink-soft: #c6c1d2;--muted: #9893a6;--line: #2d2a38}}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-body);background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-size:1.0625rem;line-height:1.8;min-height:100vh;display:flex;flex-direction:column;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}main{flex:1 0 auto}.wrap{width:100%;max-width:var(--wide);margin-inline:auto;padding-inline:1.4rem}.wrap--reading{max-width:var(--measure)}.section{padding-block:3.25rem}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.15;color:var(--ink);margin:0 0 .5em;letter-spacing:-.02em}h1{font-weight:900;font-size:clamp(2.1rem,1.3rem + 3.4vw,3.5rem)}h2{font-size:clamp(1.5rem,1.15rem + 1.5vw,2rem)}h3{font-size:1.35rem}p{margin:0 0 1.25rem}a{color:var(--accent-ink);text-decoration-thickness:1.5px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);transition:color var(--speed) ease,text-decoration-color var(--speed) ease}a:hover{text-decoration-color:currentColor}.muted{color:var(--muted)}.eyebrow{font-family:var(--font-display);font-size:.82rem;font-weight:700;color:var(--accent-ink);margin:0 0 .6rem;display:inline-flex;align-items:center;gap:.5rem}.eyebrow:before{content:"";width:1.4rem;height:2px;background:var(--accent);border-radius:2px}.compress{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.74rem;font-weight:700;color:var(--muted);letter-spacing:-.02em;white-space:nowrap;direction:ltr;unicode-bidi:isolate}.compress .arrow{color:var(--accent)}.wave{display:inline-flex;align-items:center;gap:2px;height:16px}.wave span{width:2.5px;background:var(--accent);border-radius:2px;opacity:.9}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(1.5) blur(10px);border-bottom:1px solid var(--line)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.85rem}.brand{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:900;font-size:1.5rem;letter-spacing:-.03em;color:var(--ink);text-decoration:none}.brand:hover{color:var(--ink)}.brand .wave{height:22px}.brand .wave span{width:3px}.nav{display:flex;align-items:center;gap:1.3rem;flex-wrap:wrap}.nav a{color:var(--ink-soft);text-decoration:none;font-size:.98rem;font-weight:500}.nav a:hover,.nav a[aria-current=page]{color:var(--accent-ink)}.hero{padding-block:4rem 3rem;border-bottom:1px solid var(--line)}.hero__grid{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;align-items:center}.hero h1{margin-bottom:1rem;text-wrap:balance}.hero h1 .hl{color:var(--accent-ink)}.hero .lead{font-size:1.2rem;color:var(--ink-soft);max-width:34rem;margin:0 0 1.6rem}.hero__cta{display:flex;gap:.8rem;flex-wrap:wrap}.hero__viz{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;display:flex;flex-direction:column;gap:1rem}.hero__viz .bars{display:flex;align-items:flex-end;gap:4px;height:96px}.hero__viz .bars span{flex:1;background:linear-gradient(var(--accent),color-mix(in srgb,var(--accent) 45%,transparent));border-radius:3px;opacity:.85}.hero__viz .compress{font-size:.88rem;justify-content:center}@media(max-width:760px){.hero__grid{grid-template-columns:1fr;gap:1.8rem}.hero__viz{order:-1}}.chip{display:inline-block;font-family:var(--font-display);font-size:.74rem;font-weight:700;color:var(--accent-ink);background:var(--accent-soft);padding:.22rem .7rem;border-radius:999px;text-decoration:none;line-height:1.7}a.chip:hover{background:color-mix(in srgb,var(--accent-soft) 65%,var(--accent) 22%)}.tag{display:inline-block;font-size:.85rem;color:var(--muted);border:1px solid var(--line);padding:.18rem .65rem;border-radius:999px;text-decoration:none;transition:border-color var(--speed) ease,color var(--speed) ease}.tag:hover{border-color:var(--accent);color:var(--accent-ink)}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,20.5rem),1fr));gap:1.5rem}.card{position:relative;display:flex;flex-direction:column;gap:.7rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.45rem 1.5rem;transition:transform var(--speed) ease,border-color var(--speed) ease}.card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.card__top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;position:relative;z-index:1}.card__title{font-size:1.42rem;line-height:1.2;margin:0}.card__title a{color:var(--ink);text-decoration:none}.card__title a:hover{color:var(--accent-ink)}.card__title a:after{content:"";position:absolute;inset:0}.card__desc{color:var(--muted);margin:0;font-size:.98rem;line-height:1.7}.card__meta{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;font-size:.85rem;color:var(--muted);margin-top:auto;padding-top:.5rem}.dot:before{content:"·";margin-inline:.15rem}.card__media{margin:-1.4rem -1.45rem 0;aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--radius) var(--radius) 0 0;background:var(--accent-soft)}.card__media img{width:100%;height:100%;object-fit:cover;display:block}.post-hero{display:block;position:relative;margin:1.9rem 0 .5rem;aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--radius);background:var(--accent-soft)}.post-hero img{width:100%;height:100%;object-fit:cover;display:block}.post-hero__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,#0b0b12 16%,transparent);transition:background var(--speed) ease}.post-hero:hover .post-hero__play{background:color-mix(in srgb,#0b0b12 30%,transparent)}.post-hero__play svg{width:66px;height:66px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.25))}.post-header{padding-block:3rem 1.5rem}.post-header h1{margin:.7rem 0 .8rem;text-wrap:balance}.post-header .post-meta{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.92rem}.prose{font-size:1.13rem;line-height:1.9}.prose>p:first-of-type{font-size:1.22rem;color:var(--ink-soft)}.prose h2{margin-top:2.3em}.prose h3{margin-top:1.8em}.prose ul,.prose ol{margin:0 0 1.25rem;padding-inline-start:1.4rem}.prose li{margin-bottom:.5rem}.prose li::marker{color:var(--accent)}.prose img{max-width:100%;height:auto;border-radius:var(--radius)}.prose blockquote{margin:1.9rem 0;padding:.5rem 1.3rem;border-inline-start:3px solid var(--accent);border-radius:0;background:var(--accent-soft);color:var(--ink);font-family:var(--font-display);font-weight:500;font-size:1.18rem;line-height:1.6}.prose blockquote p:last-child{margin-bottom:0}.prose code{font-family:var(--font-mono);font-size:.85em;background:var(--accent-soft);padding:.12em .38em;border-radius:6px}.prose hr{border:none;border-top:1px solid var(--line);margin:2.6rem 0}.prose blockquote.pull--lead{border:0;background:transparent;padding:0;margin:0 0 1.7rem;font-family:var(--font-display);font-weight:700;font-size:clamp(1.45rem,1.1rem + 1.6vw,2.05rem);line-height:1.32;color:var(--ink)}.prose blockquote.pull--lead cite{display:block;margin-top:.7rem;font-family:var(--font-body);font-style:normal;font-weight:500;font-size:1rem;color:var(--accent-ink)}.prose .tldr{margin:2rem 0 2.5rem;padding:1.25rem 1.5rem 1.35rem;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:var(--radius)}.prose .tldr__label{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:700;font-size:.82rem;color:var(--accent-ink);margin:0 0 .7rem}.prose .tldr ul{margin:0;padding-inline-start:1.2rem}.prose .tldr li{margin-bottom:.45rem;font-size:1.02rem;line-height:1.6}.prose .tldr li:last-child{margin-bottom:0}.prose .tldr li::marker{color:var(--accent)}.source-box{margin:2.6rem 0 1rem;padding:1.25rem 1.4rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);font-size:.96rem;line-height:1.7}.source-box strong{color:var(--ink)}.source-box a{font-weight:700}.btn{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:.96rem;background:var(--accent);color:#fff;padding:.62rem 1.3rem;border-radius:999px;text-decoration:none;cursor:pointer;transition:background var(--speed) ease,transform var(--speed) ease}.btn:hover{background:var(--accent-ink);color:#fff}.btn:active{transform:scale(.97)}.btn--ghost{background:transparent;color:var(--accent-ink);border:1.5px solid color-mix(in srgb,var(--accent) 55%,transparent)}.btn--ghost:hover{background:var(--accent-soft);color:var(--accent-ink)}.site-footer{border-top:1px solid var(--line);margin-top:4rem;padding-block:2.25rem;color:var(--muted);font-size:.92rem}.site-footer__inner{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--accent-ink)}.page-title{padding-block:2.75rem 1.5rem}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}@media(prefers-reduced-motion:no-preference){.reveal{animation:rise .6s cubic-bezier(.2,.7,.2,1) both}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.card:hover,.btn:active{transform:none}}
