.risk-company{--phrase-light:#2c7853;--phrase-dark:#c6df7b}.risk-deployment{--phrase-light:#246340;--phrase-dark:#9bd48d}.risk-security{--phrase-light:#a83a3a;--phrase-dark:#ff9b98}.risk-migrations{--phrase-light:#7952a5;--phrase-dark:#c6a5ed}.risk-permissions{--phrase-light:#2863a0;--phrase-dark:#91bff0}.risk-network{--phrase-light:#147274;--phrase-dark:#80d1cc}.risk-secrets{--phrase-light:#866212;--phrase-dark:#e7c469}.risk-capacity{--phrase-light:#a44629;--phrase-dark:#efa585}.risk-schema{--phrase-light:#5854a0;--phrase-dark:#b3b0fa}.risk-dependencies{--phrase-light:#965071;--phrase-dark:#e5a0c5}.risk-leaks{--phrase-light:#69752b;--phrase-dark:#c4cf83}.blog-entry,.blog-post{--hue:var(--phrase-light)}@media (prefers-color-scheme:dark){.blog-entry,.blog-post{--hue:var(--phrase-dark)}.blog-entry{background:color-mix(in oklch, var(--hue) 5%, var(--canvas))}.blog-entry:hover{background:color-mix(in oklch, var(--hue) 8%, var(--canvas))}}.terrain-minor,.terrain-index{fill:none;stroke:currentColor;vector-effect:non-scaling-stroke;stroke-linejoin:round}.terrain-minor{stroke-width:1px;opacity:.42}.terrain-index{stroke-width:1.6px;opacity:.78}.post-dek{color:var(--muted);text-wrap:pretty}.post-meta{color:var(--muted);flex-wrap:wrap;gap:6px 18px;font-size:14px;line-height:1.5;display:flex}.post-domain{color:var(--hue);font-weight:600}.blog-index{padding-block:clamp(64px,8vw,112px) clamp(96px,11vw,160px)}.blog-index-head h1{font-size:clamp(52px,7.4vw,104px);font-weight:800;line-height:1}.blog-index-head p{max-width:50ch;color:var(--muted);text-wrap:pretty;margin-top:24px;font-size:clamp(17px,1.7vw,19px)}.blog-index-head a{color:var(--link)}.blog-index-head a:hover{text-decoration:underline}.nowrap{white-space:nowrap}.blog-list{gap:clamp(20px,2.4vw,32px);margin:clamp(56px,7vw,96px) 0 0;padding:0;list-style:none;display:grid}.blog-entry{isolation:isolate;background:color-mix(in oklch, var(--hue) 6%, var(--canvas));min-height:clamp(280px,27vw,360px);color:inherit;border-radius:8px;flex-direction:column;justify-content:flex-end;padding:clamp(28px,4.4vw,60px);transition:background-color .24s ease-out;display:flex;position:relative;overflow:hidden}.blog-entry:hover{background:color-mix(in oklch, var(--hue) 9%, var(--canvas));text-decoration:none}.blog-map{z-index:-1;width:100%;height:100%;color:var(--hue);position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#00000024,#0003 46%,#000 82%);mask-image:linear-gradient(90deg,#00000024,#0003 46%,#000 82%)}.blog-map use{transition:opacity .24s ease-out}.blog-entry:hover .terrain-minor{opacity:.62}.blog-entry:hover .terrain-index{opacity:1}.blog-entry-copy{max-width:min(640px,62%)}.blog-entry h2,.blog-entry h3{font:750 clamp(26px, 3vw, 40px)/1.1 var(--display);letter-spacing:-.035em;text-wrap:balance;text-underline-offset:.14em;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:2px;transition:text-decoration-color .18s ease-out}.blog-entry:hover h2,.blog-entry:hover h3{-webkit-text-decoration-color:var(--hue);text-decoration-color:var(--hue)}.blog-entry .post-dek{max-width:56ch;color:color-mix(in oklch, var(--ink) 78%, var(--canvas));margin-top:16px;font-size:17px}.blog-entry .post-meta{margin-top:24px;font-size:13px}.post-head{isolation:isolate;padding-block:clamp(64px,8vw,120px) clamp(48px,6vw,88px);position:relative;overflow:hidden}.post-terrain{z-index:-1;width:100%;height:100%;color:var(--hue);-webkit-mask-composite:source-in;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 18%,#0000004d 48%,#000 82%),linear-gradient(#0000,#000 22% 55%,#0000 96%);mask-image:linear-gradient(90deg,#0000 18%,#0000004d 48%,#000 82%),linear-gradient(#0000,#000 22% 55%,#0000 96%);-webkit-mask-composite:source-in;mask-composite:intersect}.post-terrain .terrain-minor{opacity:.36}.post-terrain .terrain-index{opacity:.62}.post-back{color:var(--muted);margin-bottom:clamp(28px,4vw,44px);font-size:15px;font-weight:550;display:inline-block}.post-back:hover{color:var(--ink)}.post-head h1{text-wrap:balance;max-width:17ch;font-size:clamp(40px,5.6vw,76px);font-weight:800;line-height:1.04}.post-head .post-dek{max-width:54ch;margin-top:28px;font-size:clamp(18px,1.9vw,21px);line-height:1.55}.post-head .post-meta{margin-top:36px}.post-layout{grid-template-columns:minmax(0,700px);display:grid}@media (min-width:1120px){.post-layout.has-rail{grid-template-columns:minmax(0,700px) 220px;justify-content:space-between}}.post-rail{display:none}@media (min-width:1120px){.post-rail{display:block}.post-rail nav{padding-top:6px;position:sticky;top:40px}}.post-rail p{color:var(--muted);font-size:13px;font-weight:550}.post-rail ul{margin:14px 0 0;padding:0;list-style:none}.post-rail li+li{margin-top:10px}.post-rail a{color:var(--muted);font-size:14px;line-height:1.4}.post-rail a:hover{color:var(--ink);text-decoration:none}.post-body{color:color-mix(in oklch, var(--ink) 90%, var(--canvas));font-size:18px}.post-body>*+*{margin-top:1.25em}.post-body>:first-child{margin-top:0}.post-body>p,.post-body>:is(ul,ol)>li{text-wrap:pretty;line-height:1.75}.post-body h2{color:var(--ink);letter-spacing:-.035em;text-wrap:balance;margin-top:2.4em;scroll-margin-top:32px;font-size:clamp(26px,2.8vw,32px);line-height:1.2}.post-body h3{color:var(--ink);font:700 20px/1.35 var(--display);letter-spacing:-.02em;margin-top:2em;scroll-margin-top:32px}.post-body h2+*,.post-body h3+*{margin-top:.8em}.post-body .docs-anchor{color:var(--muted);opacity:0;margin-left:.35em;font-weight:500;transition:opacity .15s ease-out}.post-body :is(h2,h3):is(:hover,:focus-within) .docs-anchor{opacity:1}.post-body>:is(p,ul,ol) a{color:var(--link)}.post-body>:is(p,ul,ol) a:hover{text-decoration:underline;text-decoration-thickness:1px}.post-body>:is(p,ul,ol) strong{color:var(--ink);font-weight:600}.post-body>:is(ul,ol){padding-left:1.3em}.post-body>:is(ul,ol)>li+li{margin-top:.5em}.post-body>:is(ul,ol)>li::marker{color:var(--hue)}.post-body .post-key{color:var(--ink);font:700 clamp(22px, 2.4vw, 27px)/1.35 var(--display);letter-spacing:-.025em;text-wrap:balance;margin-block:1.7em}.post-body pre code{font-size:inherit;overflow-wrap:normal}.post-body>:is(p,ul,ol,.docs-table) code{background:var(--surface-quiet);border-radius:4px;padding:.12em .36em;font-size:.84em}.post-body pre{background:color-mix(in oklch, var(--hue) 5%, var(--surface));font:14px/1.7 var(--mono);border-radius:6px;margin-block:1.8em;padding:22px 24px;overflow-x:auto}.post-body pre span{color:var(--shiki-light)}@media (prefers-color-scheme:dark){.post-body pre span{color:var(--shiki-dark)}}.post-body .docs-table{margin-block:1.8em;overflow-x:auto}.post-body table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:16px}.post-body th,.post-body td{border-bottom:1px solid var(--line);text-align:left;padding:12px 0}.post-body th{color:var(--ink);font-weight:600}.post-body :is(th,td):last-child{text-align:right}.post-review{margin:2.6em 0}.post-review figcaption{color:var(--muted);margin-top:14px;font-size:14px}.post-figure{margin:2.2em 0}.post-figure picture{border:1px solid var(--line);border-radius:8px;display:block;overflow:hidden}.post-figure img{width:100%;height:auto;display:block}.post-figure figcaption{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.5}.post-european-logo{background:#fff;width:-moz-fit-content;width:fit-content;max-width:100%;display:block}.post-european-logo img{width:320px;max-width:100%;height:auto;display:block}.post-close{margin-top:clamp(96px,10vw,152px)}.post-close h2{text-wrap:balance;max-width:20ch;font-size:clamp(28px,3.2vw,40px);line-height:1.12}.post-close p{max-width:56ch;color:var(--muted);margin-top:20px;font-size:18px}.post-close .github-cta{margin-top:32px}.post-more{margin-block:clamp(96px,10vw,152px) clamp(96px,10vw,144px)}.post-more h2{font-size:clamp(24px,2.4vw,30px)}.post-more ul{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:24px;margin:32px 0 0;padding:0;list-style:none;display:grid}.post-more .blog-entry{min-height:220px;padding:28px 32px}.post-more .blog-entry-copy{max-width:72%}.post-more .blog-entry h3{font-size:clamp(20px,2vw,24px)}@media (max-width:800px){.blog-entry,.post-more .blog-entry{padding:132px 24px 28px}.blog-entry-copy,.post-more .blog-entry-copy{max-width:none}.blog-map{-webkit-mask-image:linear-gradient(#000,#00000073 34%,#00000024 58%);mask-image:linear-gradient(#000,#00000073 34%,#00000024 58%)}.post-body{font-size:17px}.post-terrain{opacity:.55;-webkit-mask-image:linear-gradient(#000 20%,#0000 90%);mask-image:linear-gradient(#000 20%,#0000 90%)}}@media (prefers-reduced-motion:reduce){.blog-entry,.blog-map use,.blog-entry h2,.blog-entry h3{transition:none}}.blog-signup{margin-block:72px}.blog-index .blog-signup{width:100%;margin-inline:0}.blog-signup-inner{background:var(--surface);border-radius:8px;max-width:700px;padding:clamp(24px,4vw,40px)}.blog-signup h2{font-size:clamp(26px,3vw,32px)}.blog-signup p{margin-top:12px}.blog-signup form{gap:14px;margin-top:24px;display:grid}.blog-signup form[hidden],#newsletter-status[hidden]{display:none}.blog-signup input[type=email]{border:1px solid var(--line);background:var(--canvas);width:100%;min-width:0;color:var(--ink);font:16px var(--sans);border-radius:6px;padding:12px}.newsletter-consent{align-items:baseline;gap:10px;font-size:14px;display:flex}.newsletter-consent input{accent-color:var(--hue);flex-shrink:0}.blog-signup button{font-family:var(--sans);border:0;justify-self:start}.blog-signup button:disabled{opacity:.62;cursor:wait}.newsletter-note{color:var(--muted);font-size:14px}.newsletter-note a{color:var(--link)}#newsletter-status[data-kind=error]{color:var(--signal)}.blog-signup .form-trap{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}
