.progress{z-index:49;pointer-events:none;height:2px;position:fixed;top:64px;left:0;right:0}.progress i{background:linear-gradient(90deg, var(--accent-2), var(--accent));height:100%;box-shadow:0 0 12px var(--accent-glow);transform-origin:0;display:block;transform:scaleX(0)}.a-hero{max-width:1060px;padding-top:clamp(28px,5vw,56px)}.a-crumb{color:var(--dim);gap:8px;min-width:0;margin-bottom:28px;font-size:12px;display:flex}.a-crumb a{color:var(--muted);text-decoration:none}.a-crumb a:hover{color:var(--accent)}.a-crumb__here{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.a-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:12px;display:flex}.a-meta__id{color:var(--accent);background:var(--accent-soft);border:1px solid #35e0d040;border-radius:6px;padding:3px 8px}.a-title{font-family:var(--font-jp);letter-spacing:-.01em;text-wrap:pretty;max-width:30em;margin:18px 0 0;font-size:clamp(26px,3.6vw,44px);font-weight:700;line-height:1.4}.a-lead{font-family:var(--font-jp);color:var(--text-2);max-width:46em;margin:18px 0 0;font-size:15.5px;line-height:1.9}.a-cats{flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none;display:flex}.a-cats a{color:var(--text-2);border:1px solid var(--line-2);border-radius:999px;padding:5px 12px;font-size:12px;text-decoration:none;transition:border-color .2s,color .2s;display:inline-block}.a-cats a:hover{border-color:var(--accent);color:var(--text)}.a-eyecatch{border:1px solid var(--line-2);box-shadow:0 50px 100px -50px #000000f2, 0 0 80px -40px var(--accent-glow);aspect-ratio:1200/630;background:var(--surface);border-radius:18px;margin:clamp(28px,4vw,44px) 0 0;position:relative;overflow:hidden}.a-eyecatch img{object-fit:cover;width:100%;height:100%;display:block}.a-eyecatch__tick{pointer-events:none;border:0 solid #ffffffb3;width:18px;height:18px;position:absolute}.a-eyecatch__tick--tl{border-top-width:1px;border-left-width:1px;top:14px;left:14px}.a-eyecatch__tick--br{border-bottom-width:1px;border-right-width:1px;bottom:14px;right:14px}.a-body{grid-template-columns:minmax(0,720px) 260px;justify-content:space-between;align-items:start;gap:64px;max-width:1060px;margin-top:clamp(40px,6vw,72px);display:grid}.toc--mobile{display:none}.toc--desktop{grid-area:1/2;position:sticky;top:96px}.toc__inner{border-left:1px solid var(--line-2);padding-left:18px}.toc__head{letter-spacing:.14em;color:var(--dim);justify-content:space-between;margin:0 0 12px;font-size:10.5px;display:flex}.toc__scroll{scrollbar-width:thin;scrollbar-color:#2a2f37 transparent;max-height:calc(100vh - 220px);padding-right:6px;position:relative;overflow-y:auto}.toc ol{margin:0;padding:0;list-style:none}.toc li a{color:var(--muted);gap:10px;padding:6px 0;font-size:13px;line-height:1.55;text-decoration:none;transition:color .2s;display:flex;position:relative}.toc li.lv3 a{color:var(--dim);padding-left:30px;font-size:12.5px}.toc__num{width:20px;color:var(--dim);flex:none;padding-top:2px;font-size:10.5px}.toc li a:hover,.toc li a.is-active{color:var(--text)}.toc li a.is-active .toc__num{color:var(--accent)}.toc--desktop li a.is-active:before{content:"";background:var(--accent);width:2px;box-shadow:0 0 10px var(--accent-glow);border-radius:2px;position:absolute;top:6px;bottom:6px;left:-19px}.toc__top{color:var(--dim);margin-top:16px;font-size:11px;text-decoration:none;display:inline-block}.toc__top:hover{color:var(--accent)}@media (width<=1100px){.a-body{grid-template-columns:minmax(0,1fr);gap:0;max-width:760px}.a-hero{max-width:760px}.toc--desktop{display:none}.toc--mobile{z-index:20;border:1px solid var(--line-2);-webkit-backdrop-filter:blur(12px);background:#101317e6;border-radius:12px;margin-bottom:36px;display:block;position:sticky;top:72px}.toc--mobile summary{cursor:pointer;color:var(--text);align-items:center;gap:12px;padding:12px 16px;font-size:13px;list-style:none;display:flex}.toc--mobile summary::-webkit-details-marker{display:none}.toc__count{color:var(--dim);font-size:11px}.toc__chev{border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:8px;height:8px;transition:transform .3s var(--ease);margin-left:auto;transform:rotate(45deg)translateY(-3px)}.toc--mobile[open] .toc__chev{transform:rotate(-135deg)translateY(-2px)}.toc--mobile nav{border-top:1px solid var(--line);max-height:56vh;padding:4px 16px 14px;overflow-y:auto}}.prose{min-width:0;font-family:var(--font-jp);letter-spacing:.02em;color:#d5dae2;overflow-wrap:anywhere;word-break:normal;line-break:strict;grid-area:1/1;font-size:16.5px;line-height:1.95}@media (width<=1100px){.prose{grid-row:auto}}.prose>*{margin-block:0}.prose>*+*{margin-top:1.35em}.prose p:empty{display:none}.prose strong{color:#fff;background:linear-gradient(#0000 62%,#35e0d02e 62%);font-weight:700}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline #35e0d066;transition:text-decoration-color .2s}.prose a:hover{text-decoration-color:var(--accent)}.prose h2,.prose h3,.prose h4{color:var(--text);letter-spacing:0;scroll-margin-top:96px;position:relative}.prose h2{border-top:1px solid var(--line-2);align-items:baseline;gap:14px;margin-top:3.4em;padding-top:1.4em;font-size:clamp(21px,2.4vw,26px);font-weight:700;line-height:1.5;display:flex}.prose h2:before{content:"";background:var(--accent);width:56px;height:1px;box-shadow:0 0 10px var(--accent-glow);position:absolute;top:-1px;left:0}.prose .h-num{font-family:var(--font-mono);color:var(--accent);letter-spacing:.04em;flex:none;font-size:13px;font-weight:500;transform:translateY(-2px)}.prose h3{margin-top:2.4em;padding-left:16px;font-size:19px;font-weight:700;line-height:1.6}.prose h3:before{content:"";background:linear-gradient(var(--accent), var(--accent-2));border-radius:3px;width:3px;position:absolute;top:.45em;bottom:.45em;left:0}.prose h4{margin-top:2em;font-size:16.5px;font-weight:700}.prose .h-anchor{font-family:var(--font-mono);color:var(--dim);opacity:0;margin-left:8px;font-weight:400;text-decoration:none;transition:opacity .2s,color .2s}.prose h2:hover .h-anchor,.prose h3:hover .h-anchor,.prose .h-anchor:focus-visible{opacity:1}.prose .h-anchor:hover{color:var(--accent)}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.9em}.prose ul,.prose ol{padding-left:1.4em}.prose li+li,.prose li>ul,.prose li>ol{margin-top:.45em}.prose ul>li::marker{color:var(--accent)}.prose ol>li::marker{color:var(--accent);font-family:var(--font-mono);font-size:.9em}.prose hr,.prose .wp-block-separator{background:linear-gradient(90deg, transparent, var(--line-3), transparent);opacity:1;border:0;height:1px;margin-block:3em}.prose :not(pre)>code{font-family:var(--font-mono);color:#9ff3ea;overflow-wrap:anywhere;background:#35e0d014;border:1px solid #35e0d029;border-radius:6px;padding:.12em .45em;font-size:.86em}.prose .code-block{border:1px solid var(--line-2);background:#0b0d10;border-radius:12px;margin-top:1.6em;position:relative;overflow:hidden;box-shadow:0 20px 40px -24px #000c}.prose .code-head{border-bottom:1px solid var(--line);height:40px;font-family:var(--font-mono);color:var(--muted);background:linear-gradient(#14171c,#101317);align-items:center;gap:12px;padding:0 8px 0 14px;font-size:11.5px;display:flex}.prose .code-dots{gap:6px;display:inline-flex}.prose .code-dots i{background:#2a2e35;border-radius:50%;width:9px;height:9px}.prose .code-block:hover .code-dots i:first-child{background:#ff5f57}.prose .code-block:hover .code-dots i:nth-child(2){background:#febc2e}.prose .code-block:hover .code-dots i:nth-child(3){background:#28c840}.prose .code-lang{color:var(--accent);letter-spacing:.02em}.prose .code-lines{color:var(--dim)}.prose .code-copy{appearance:none;border:1px solid var(--line-2);height:28px;color:var(--text-2);font:500 11px var(--font-mono);cursor:pointer;background:#ffffff08;border-radius:7px;align-items:center;gap:6px;margin-left:auto;padding:0 10px;transition:border-color .2s,color .2s,background-color .2s;display:inline-flex}.prose .code-copy:before{content:"";border:1.5px solid;border-radius:3px;width:11px;height:11px;transform:translate(-1px,1px)scale(.85);box-shadow:2px -2px 0 -.5px #101317,2px -2px 0 1px}.prose .code-copy:hover{border-color:var(--accent);color:var(--text)}.prose .code-copy.is-done{color:var(--led-green);background:#3ee07a14;border-color:#3ee07a80}.prose pre,.prose .wp-block-code{font-family:var(--font-mono);letter-spacing:0;color:#d7dde6;tab-size:2;scrollbar-width:thin;scrollbar-color:#2a2f37 transparent;background:0 0;border:0;margin:0;padding:18px 20px 20px;font-size:13.5px;line-height:1.75;overflow-x:auto}.prose pre.astro-code{background-color:#0000!important}.prose pre code{font:inherit;white-space:pre;word-break:normal;overflow-wrap:normal}.prose pre:focus-visible{outline-offset:-2px}.prose blockquote{border:1px solid var(--line-2);border-left:3px solid var(--line-3);color:var(--text-2);background:#ffffff05;border-radius:12px;margin-inline:0;padding:18px 22px}.prose blockquote>*+*{margin-top:.8em}.prose blockquote p{margin:0}.prose .callout{background:radial-gradient(80% 120% at 0 0,#35e0d014,#0000 60%),#101317b3;border:1px solid #35e0d040;border-radius:14px;margin-top:1.8em;padding:16px 22px 18px;font-size:15.5px;line-height:1.9;position:relative}.prose .callout-label{font-family:var(--font-mono);letter-spacing:.14em;color:var(--accent);align-items:center;gap:8px;margin-bottom:8px;font-size:11px;font-weight:600;display:inline-flex}.prose .callout-led{background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px}.prose .callout-body>*{margin:0}.prose .callout-body>*+*{margin-top:.7em}.prose .callout--check{background:radial-gradient(80% 120% at 0 0,#ffb54714,#0000 60%),#101317b3;border-color:#ffb54747}.prose .callout--check .callout-label{color:var(--led-amber)}.prose .callout--warn{background:radial-gradient(80% 120% at 0 0,#ff5d5d14,#0000 60%),#101317b3;border-color:#ff5d5d4d}.prose .callout--warn .callout-label{color:var(--led-red)}.prose .callout--note,.prose .callout--tip{background:radial-gradient(80% 120% at 0 0,#4aa8ff14,#0000 60%),#101317b3;border-color:#4aa8ff47}.prose .callout--note .callout-label,.prose .callout--tip .callout-label{color:var(--accent-2)}.prose .callout--important,.prose .callout--caution{background:radial-gradient(80% 120% at 0 0,#ffb54714,#0000 60%),#101317b3;border-color:#ffb54747}.prose .callout--important .callout-label,.prose .callout--caution .callout-label{color:var(--led-amber)}.prose .callout--warning{background:radial-gradient(80% 120% at 0 0,#ff5d5d14,#0000 60%),#101317b3;border-color:#ff5d5d4d}.prose .callout--warning .callout-label{color:var(--led-red)}.prose .callout strong{background:0 0}.prose figure{margin-inline:0}.prose .wp-block-image{margin-top:2em;margin-bottom:.4em}.prose .wp-block-image img,.prose figure>img,.prose p>img{border:1px solid var(--line);background:var(--surface);border-radius:10px;max-width:100%;height:auto;margin-inline:auto;display:block}.prose .wp-block-image.size-medium img,.prose .wp-block-image.is-resized img{width:auto}.prose figcaption,.prose .wp-element-caption{text-align:center;color:var(--muted);font-size:12.5px;font-family:var(--font-mono);margin-top:10px}.prose .aligncenter{text-align:center;margin-inline:auto}.prose .wp-block-columns{flex-wrap:wrap;gap:16px;display:flex}.prose .wp-block-column{flex:240px;min-width:0}.prose .wp-block-column>*+*{margin-top:1em}.prose .wp-block-group>*+*{margin-top:1.2em}.prose .wp-block-table{margin-top:1.8em}.prose .table-scroll{border:1px solid var(--line-2);scrollbar-width:thin;border-radius:12px;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;min-width:520px;font-size:14px;line-height:1.7}.prose table.has-fixed-layout{table-layout:auto}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:11px 14px}.prose td+td,.prose th+th{border-left:1px solid var(--line)}.prose thead th{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text);white-space:nowrap;background:#12151a;font-size:12px;font-weight:600}.prose tbody tr:last-child td{border-bottom:0}.prose tbody tr:hover td{background:#35e0d008}.prose table strong{background:0 0}.prose .wp-block-embed{margin-top:2em}.prose .embed-frame,.prose .wp-block-embed__wrapper:has(>iframe){aspect-ratio:16/9;border-radius:12px;position:relative;overflow:hidden}.prose iframe{border:0;max-width:100%;display:block}.prose .embed-frame iframe,.prose .wp-block-embed__wrapper>iframe{width:100%;height:100%;position:absolute;inset:0}.prose .twitter-tweet:not(.twitter-tweet-rendered){border:1px solid var(--line-2);background:var(--surface);border-left-width:1px;border-radius:14px;max-width:550px;margin-inline:auto;padding:18px 20px;font-size:14.5px}.prose .twitter-tweet-rendered,.prose iframe[id^=twitter-widget]{margin-inline:auto!important}.prose .blogcard-wrap{color:inherit;border:1px solid var(--line-2);background:linear-gradient(180deg, var(--surface), var(--bg-2));transition:border-color .2s, transform .4s var(--ease);border-radius:14px;text-decoration:none;display:block}.prose .blogcard-wrap:hover{border-color:var(--accent);transform:translateY(-2px)}.prose .blogcard{grid-template-columns:160px minmax(0,1fr);grid-template-areas:"thumb content""thumb footer";gap:4px 18px;padding:14px;display:grid}.prose .blogcard-label{display:none}.prose .blogcard-thumbnail{grid-area:thumb;margin:0}.prose .blogcard-thumbnail img{border:0;border-radius:8px;width:100%;height:auto;display:block}.prose .blogcard-content{grid-area:content}.prose .blogcard-title{color:var(--text);font-size:15px;font-weight:700;line-height:1.55}.prose .blogcard-snippet{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;font-size:12.5px;line-height:1.7;display:-webkit-box;overflow:hidden}.prose .blogcard-footer{font-family:var(--font-mono);color:var(--dim);grid-area:footer;justify-content:space-between;align-items:end;font-size:11px;display:flex}.prose .blogcard-site{align-items:center;gap:6px;display:flex}.prose .blogcard-favicon img{border:0;border-radius:3px;display:block}@media (width<=560px){.prose .blogcard{grid-template-columns:96px minmax(0,1fr);gap:4px 12px;padding:12px}.prose .blogcard-snippet{display:none}}sup{line-height:0}.a-foot{max-width:1060px;margin-top:96px}.a-end{color:var(--dim);border-bottom:1px dashed var(--line-2);align-items:center;gap:10px;padding-bottom:20px;font-size:12px;display:flex}.pn{grid-template-columns:1fr 1fr;gap:16px;margin-top:28px;display:grid}.pn__card{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface), var(--bg-2));transition:border-color .3s, transform .4s var(--ease), box-shadow .4s;border-radius:14px;flex-direction:column;gap:8px;padding:20px 22px;text-decoration:none;display:flex}a.pn__card:hover{box-shadow:0 0 36px -14px var(--accent-glow);border-color:#35e0d080;transform:translateY(-3px)}.pn__card--next{text-align:right;align-items:end}.pn__card--empty{color:var(--dim);border-style:dashed;justify-content:center;align-items:center;font-size:12px}.pn__dir{color:var(--accent);letter-spacing:.06em;font-size:11.5px}.pn__title{font-family:var(--font-jp);color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:600;line-height:1.6;display:-webkit-box;overflow:hidden}.pn__date{color:var(--dim);font-size:11px}.a-backlist{width:fit-content;color:var(--text-2);border:1px solid var(--line-2);border-radius:999px;margin:36px auto 0;padding:10px 18px;font-size:12px;text-decoration:none;display:block}.a-backlist:hover{border-color:var(--accent);color:var(--text)}@media (width<=640px){.pn{grid-template-columns:1fr}.pn__card--next{text-align:left;align-items:start}.prose{font-size:16px;line-height:1.9}.prose pre{padding:14px 16px 16px;font-size:12.5px}.prose .code-lines{display:none}}
