@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:block;src:url(/fonts/jetbrains-mono-latin.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:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:block;src:url(/fonts/jetbrains-mono-latin-ext.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:block;src:url(/fonts/inter-latin.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:Inter;font-style:normal;font-weight:400 800;font-display:block;src:url(/fonts/inter-latin-ext.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Condensed;font-style:normal;font-weight:400 500;font-display:block;src:url(/fonts/roboto-condensed-latin.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:Roboto Condensed;font-style:normal;font-weight:400 500;font-display:block;src:url(/fonts/roboto-condensed-latin-ext.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg: #0a0a0a;--fg: #bbb;--deep: #fff;--soft: #ddd;--muted: #888;--chip: #1a1a1a;--line: #262626;--accent: #ff4d6d;--underline: #4a4a4a;--hover: #141414;--chip-hover: #242424;--side-left: #000;--side-right: rgb(255 255 255 / 3%);--crease-soft: rgb(255 255 255 / 2%);--crease-hi: rgb(255 255 255 / 6%);--crease-lo: rgb(0 0 0 / 25%);--font-sans: Inter, system-ui, sans-serif;--font-condensed: "Roboto Condensed", var(--font-sans);--font-mono: "JetBrains Mono", ui-monospace, monospace;color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;border:0 solid var(--line)}html,a,button{cursor:url(/cursor.svg) 12 12,auto}html{background:var(--bg);overflow-y:scroll}body{color:var(--fg);font-family:var(--font-sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}button{font:inherit;color:inherit;background:none}ul,ol{list-style:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:var(--bg)}::-webkit-scrollbar-thumb{border-radius:10px;background:#1c1c1c}::-webkit-scrollbar-thumb:hover{background:#2e2e2e}@supports not selector(::-webkit-scrollbar){html{scrollbar-width:thin;scrollbar-color:#1c1c1c var(--bg)}}::selection{background:#ff4d6d40;color:var(--deep)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.brand-capacitor{color:#119eff}.brand-ionic{color:#3880ff}.brand-claude{color:#d97757}.mono{font-family:var(--font-mono)}.page{max-width:44.5rem;margin:0 auto;padding:0 1.75rem}.page-title{color:var(--deep);font-size:2.25rem;font-weight:800;line-height:2.5rem;letter-spacing:-.025em}.page-lead{margin:.5rem 0 2.5rem;color:var(--muted)}.group-heading{margin:2.5rem 0 .75rem;color:var(--accent);font-family:var(--font-mono);font-size:.875rem}.group-heading:first-of-type{margin-top:0}.entry{display:flex;flex-direction:column;column-gap:.75rem;margin-bottom:1rem}@media(min-width:768px){.entry{flex-direction:row;align-items:baseline}}.entry-title{color:var(--soft);font-size:1.125rem;transition:color .2s}.entry:hover .entry-title{color:var(--deep)}.entry-meta{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-family:var(--font-mono);font-size:.875rem}.badge{margin-left:.25rem;padding:.125rem .375rem;border-radius:4px;background:var(--chip);color:var(--muted);font-family:var(--font-mono);font-size:.75rem;vertical-align:middle}.empty{padding:.5rem 0;color:var(--muted);font-family:var(--font-mono);font-size:.875rem}.link-underline{color:var(--deep);text-decoration:underline 1px var(--underline);text-underline-offset:4px;transition:text-decoration-color .2s}.link-underline:hover{text-decoration-color:var(--deep)}@keyframes enter{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:no-preference){.enter>*{animation:enter .6s both}.enter>*:nth-child(2){animation-delay:60ms}.enter>*:nth-child(3){animation-delay:.12s}.enter>*:nth-child(4){animation-delay:.18s}.enter>*:nth-child(5){animation-delay:.24s}.enter>*:nth-child(6){animation-delay:.3s}.enter>*:nth-child(7){animation-delay:.36s}.enter>*:nth-child(n+8){animation-delay:.42s}}.markdown>*+*{margin-top:1.25em}.markdown h2{margin-top:2em;color:var(--deep);font-size:1.5em;font-weight:700;line-height:1.3}.markdown h3{margin-top:1.6em;color:var(--soft);font-size:1.2em;font-weight:600}.markdown a{color:var(--deep);text-decoration:underline 1px var(--underline);text-underline-offset:4px;transition:text-decoration-color .2s}.markdown a:hover{text-decoration-color:var(--deep)}.markdown strong{color:var(--deep);font-weight:600}.markdown ul{list-style:disc;padding-left:1.5em}.markdown ol{list-style:decimal;padding-left:1.5em}.markdown li+li{margin-top:.4em}.markdown blockquote{border-left:2px solid var(--line);padding-left:1em;font-style:italic}.markdown hr{width:48px;margin:2.5em auto;border-top:1px solid var(--line)}.markdown :not(pre)>code{padding:.15em .35em;border-radius:4px;background:var(--chip);color:var(--deep);font-family:var(--font-mono);font-size:.875em}.markdown pre{padding:1em 1.2em;border:1px solid var(--line);border-radius:8px;overflow-x:auto;font-family:var(--font-mono);font-size:.875em;line-height:1.7}.markdown img{border-radius:8px}
