.blog-page{--blog-rule:color-mix(in srgb, var(--color-abyss) 25%, transparent);--blog-reading:720px;--blog-toc:260px}.blog-page [hidden]{display:none!important}.blog-container{max-width:1360px;margin-inline:auto;padding-inline:24px}.blog-skip{z-index:60;background:var(--color-sky);color:var(--color-ink);border-radius:8px;padding:12px 18px;position:absolute;top:-120px;left:16px}.blog-skip:focus{top:16px}.blog-hero{isolation:isolate;background:var(--color-abyss);position:relative;overflow:hidden}.blog-hero-inner{flex-direction:column;justify-content:flex-end;gap:20px;min-height:300px;padding-top:56px;padding-bottom:96px;display:flex;position:relative}.blog-hero h1{font:400 clamp(40px,6vw,96px)/.95 var(--font-serif);letter-spacing:-.025em;text-wrap:balance;overflow-wrap:anywhere;text-shadow:0 1px 16px var(--color-ink)}.blog-lead{text-shadow:0 1px 16px var(--color-ink);font-size:18px;line-height:1.625}.blog-hero-meta{color:var(--color-mist);text-shadow:0 1px 16px var(--color-ink);font-size:14px;line-height:1.5}.blog-crumbs{color:var(--color-mist);flex-wrap:wrap;align-items:center;gap:0 8px;font-size:14px;display:flex}.blog-crumbs li{align-items:center;gap:8px;min-width:0;display:inline-flex}.blog-crumbs li+li:before{content:"";border-top:1.5px solid;border-right:1.5px solid;flex:none;width:6px;height:6px;transform:rotate(45deg)}.blog-crumbs a{text-underline-offset:4px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.blog-crumbs [aria-current]{white-space:nowrap;text-overflow:ellipsis;max-width:36ch;color:var(--color-sheet);overflow:hidden}.blog-sheet{background:var(--color-sheet);color:var(--color-abyss);color-scheme:light;border-radius:40px 40px 0 0;margin-top:-40px;position:relative}.blog-sheet-inner{flex-direction:column;gap:56px;padding-top:56px;padding-bottom:64px;display:flex}.blog-article-grid{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}.blog-article{min-width:0;max-width:var(--blog-reading)}.blog-description{color:var(--color-slate);font-size:20px;line-height:1.625}.blog-author{color:var(--color-slate);margin-block:16px 24px;font-size:14px}.blog-toc-aside{display:none}.blog-toc-title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-slate);margin-bottom:8px;font-size:13px;font-weight:500}.blog-toc-mobile{border:1px solid var(--color-slate);border-radius:8px;margin-bottom:24px;padding:0 16px}.blog-toc-mobile summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;font-weight:500;display:flex}.blog-toc-mobile summary:after{content:"+";margin-left:auto}.blog-toc-mobile[open] summary:after{content:"−"}.blog-toc-mobile[open] summary{border-bottom:1px solid var(--blog-rule);margin-bottom:8px}.blog-toc-mobile summary:focus-visible{outline:2px solid var(--color-sky-deep);outline-offset:3px}.blog-article [data-article-toc]{margin-block:8px}[data-article-toc] ul{border-left:1px solid var(--blog-rule)}[data-article-toc] a{border-left:2px solid #0000;margin-left:-1px;padding-left:16px}[data-article-toc] a:hover{border-left-color:var(--color-abyss)}.article-content{overflow-wrap:anywhere;font-size:18px;line-height:1.7}.article-content>*+*{margin-top:1.25em}.article-content h2,.article-content h3{letter-spacing:-.025em;text-wrap:balance;scroll-margin-top:120px}.article-content h2{font:400 30px/1.1 var(--font-serif);margin-top:2em}.article-content h3{font:400 24px/1.2 var(--font-serif);margin-top:1.75em}.article-content h2+*,.article-content h3+*{margin-top:.75em}.article-content a{text-underline-offset:4px;text-decoration:underline}.article-content ul{padding-left:1.5em;list-style:outside}.article-content ol{padding-left:1.5em;list-style:decimal}.article-content li+li{margin-top:.5em}.article-content blockquote{border-top:1px solid var(--blog-rule);font:italic 400 22px/1.4 var(--font-serif);padding-top:20px}.article-content>picture,.article-content>img,.article-content>figure{margin-block:24px;display:block}.article-content img{max-width:100%;height:auto}.article-content figure img{border-radius:8px}.article-content figcaption{color:var(--color-slate);margin-top:8px;font-size:14px}.article-content hr{border:0;border-top:1px solid var(--blog-rule)}.article-content :not(pre)>code{background:color-mix(in srgb, var(--color-ink) 8%, transparent);border-radius:4px;padding:.1em .35em;font-size:.9em}.article-content pre{max-width:100%;margin:0;padding:16px;font-size:15px;line-height:1.6;overflow-x:auto}.blog-code{border:1px solid var(--color-line);background:var(--color-abyss);color:var(--color-sheet);border-radius:8px;margin-block:1.5em;overflow:hidden}.blog-code-bar{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:12px;padding:2px 4px 2px 16px;font-size:13px;display:flex}.blog-code button{cursor:pointer;min-height:44px;font:500 14px var(--font-sans);border-radius:8px;padding-inline:12px}.blog-code button:hover{background:var(--color-panel)}.blog-code button:focus-visible{outline-color:var(--color-sky)}.article-content pre:focus-visible{outline:2px solid var(--color-sky);outline-offset:-2px}.blog-table-wrap{max-width:100%;overflow-x:auto}.blog-table-wrap:focus-visible{outline:2px solid var(--color-sky-deep);outline-offset:3px}.article-content table{border-collapse:collapse;width:100%;font-size:16px}.article-content th,.article-content td{border-bottom:1px solid var(--blog-rule);text-align:left;vertical-align:top;min-width:130px;padding:12px 24px 12px 0}.article-content th{font-weight:500}.blog-series{border-top:1px solid var(--blog-rule);flex-direction:column;gap:16px;padding-top:32px;display:flex}.blog-series h2,.blog-related h2{font:400 30px/1.1 var(--font-serif);letter-spacing:-.025em}.blog-series li{border-bottom:1px solid var(--blog-rule)}.blog-series li>a,.blog-series li>span{align-items:center;gap:16px;min-height:44px;padding-block:12px;font-size:17px;line-height:1.4;display:flex}.blog-series a:hover{text-underline-offset:4px;text-decoration:underline}.blog-series [aria-current]{font-weight:600}.blog-series-number{width:2ch;color:var(--color-slate);font-variant-numeric:tabular-nums;flex:none}.blog-related{flex-direction:column;gap:24px;display:flex}.blog-cards{gap:16px;display:grid}.blog-card{border:1px solid var(--blog-rule);border-radius:8px;flex-direction:column;gap:12px;padding:24px;display:flex}.blog-card:hover{border-color:var(--color-abyss)}.blog-card-meta{color:var(--color-slate);font-size:14px}.blog-card h3{letter-spacing:-.025em;font-size:20px;font-weight:500;line-height:1.4}.blog-card p{color:var(--color-slate);font-size:16px;line-height:1.625}.blog-card-more{text-underline-offset:4px;margin-top:auto;font-size:15px;font-weight:500;text-decoration:underline}.blog-tools{flex-direction:column;gap:20px;display:flex}.blog-field{flex-direction:column;gap:8px;display:flex}.blog-field label{font-size:14px;font-weight:500}.blog-field-box{border:1px solid var(--color-slate);border-radius:8px;min-height:48px;padding-left:14px;display:flex}.blog-field-box:focus-within{outline:2px solid var(--color-sky-deep);outline-offset:3px}.blog-field-box input{min-width:0;color:var(--color-abyss);background:0 0;border:0;outline:0;flex:1;font-size:16px}.blog-field-box input::placeholder{color:var(--color-slate);opacity:1}.blog-field-box button{cursor:pointer;min-height:44px;padding-inline:14px}.blog-chips{flex-wrap:wrap;gap:8px;display:flex}.blog-chips a{border:1px solid var(--color-slate);border-radius:9999px;align-items:center;gap:8px;min-height:44px;padding-inline:18px;font-size:15px;font-weight:500;display:inline-flex}.blog-chips a[aria-current=page]{background:var(--color-abyss);color:var(--color-sheet)}.blog-chips small{font-size:13px;font-weight:400}.blog-result-count{color:var(--color-slate);font-size:15px}.blog-rows{border-top:1px solid var(--blog-rule)}.blog-row{border-bottom:1px solid var(--blog-rule);grid-template-columns:minmax(0,1fr);gap:12px 32px;padding-block:20px;display:grid}.blog-row:hover{opacity:.85}.blog-row-title{letter-spacing:-.025em;font-size:20px;font-weight:500;line-height:1.4}.blog-row-meta{color:var(--color-slate);letter-spacing:0;margin-top:4px;font-size:14px;font-weight:400;line-height:1.4;display:block}.blog-row-description{max-width:60ch;color:var(--color-slate);font-size:16px;line-height:1.625}.blog-pager{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.blog-pager button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding-inline:12px;font-size:15px;display:inline-flex}.blog-pager [aria-current]{background:var(--color-abyss);color:var(--color-sheet)}.blog-pager button:disabled{opacity:.4;cursor:not-allowed}.blog-pager button:not(:disabled):hover,.blog-chips a:hover{background:color-mix(in srgb, var(--color-ink) 8%, transparent)}.blog-pager [aria-current]:hover,.blog-chips [aria-current=page]:hover{background:var(--color-abyss)}.blog-empty{max-width:var(--blog-reading);border-top:1px solid var(--blog-rule);flex-direction:column;align-items:flex-start;gap:16px;padding-top:32px;display:flex}.blog-empty h2{font:400 30px/1.1 var(--font-serif)}.blog-empty p{color:var(--color-slate);font-size:17px}.blog-reset{background:var(--color-abyss);min-height:48px;color:var(--color-sheet);cursor:pointer;border-radius:8px;padding-inline:24px}@media (width>=640px){.article-content h2{font-size:36px}.article-content h3{font-size:26px}}@media (width>=768px){.blog-container{padding-inline:32px}.blog-hero-inner{min-height:380px}.blog-lead{font-size:20px}.blog-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-row{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}@media (width>=1024px){.blog-article-grid{grid-template-columns:var(--blog-toc) minmax(0,var(--blog-reading));gap:64px}.blog-toc-aside{top:calc(var(--header-h) + 24px);max-height:calc(100svh - var(--header-h) - 48px);display:block;position:sticky;overflow-y:auto}.blog-toc-mobile{display:none}.blog-article{grid-area:1/2}.blog-article-offset{max-width:var(--blog-reading);margin-left:calc(var(--blog-toc) + 64px)}.blog-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.blog-tools{flex-direction:row;justify-content:space-between;align-items:flex-end}.blog-field{width:380px}}@media (width<=639px){.blog-crumbs li:first-child:not(:last-child),.blog-crumbs li:nth-child(2):before{display:none}.blog-crumbs [aria-current]{max-width:22ch}}.blog-code pre.astro-code{background-color:var(--color-abyss)!important}.blog-rows{scroll-margin-top:120px}[data-article-toc] a[aria-current=true]{border-left-color:var(--color-abyss);color:var(--color-abyss);font-weight:500}.legal-content{font-size:18px;line-height:1.8}.legal-content>*+*{margin-top:1.5em}.legal-content h2{margin-top:2.5em}.legal-content h3{margin-top:2em}.legal-content li+li{margin-top:.75em}.apps-lead{max-width:var(--blog-reading);color:var(--color-slate);font-size:20px;line-height:1.625}.apps-grid{gap:24px;display:grid}.apps-grid .blog-card h2{font:400 32px/1.1 var(--font-serif);letter-spacing:-.025em}.apps-badges{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}@media (width>=768px){.apps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
