.cta-box[data-astro-cid-3ecflhcj]{margin:40px 0;padding:28px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);text-align:center}.lead[data-astro-cid-3ecflhcj]{font-weight:700;margin:0 0 16px}.stores[data-astro-cid-3ecflhcj]{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.store-pill[data-astro-cid-3ecflhcj]{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:160px;padding:12px 22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow);text-decoration:none;transition:border-color .15s,box-shadow .15s}.store-pill[data-astro-cid-3ecflhcj]:hover{border-color:var(--accent);box-shadow:var(--shadow-hover)}.store-pill[data-astro-cid-3ecflhcj] .sname[data-astro-cid-3ecflhcj]{font-weight:700;font-size:1rem;color:var(--ink);letter-spacing:.04em}.store-pill[data-astro-cid-3ecflhcj]:hover .sname[data-astro-cid-3ecflhcj]{color:var(--accent-strong)}.store-pill[data-astro-cid-3ecflhcj] .sgenre[data-astro-cid-3ecflhcj]{font-size:.72rem;color:var(--ink-2)}.all[data-astro-cid-3ecflhcj]{margin:16px 0 0;font-size:.8rem;font-family:var(--font-sans)}.all[data-astro-cid-3ecflhcj] a[data-astro-cid-3ecflhcj]{color:var(--ink)}.related[data-astro-cid-2zkmu4eg]{margin:48px 0 8px;border-top:1px solid var(--hairline);padding-top:20px}.rhead[data-astro-cid-2zkmu4eg]{font-family:var(--font-display);font-size:.95rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin:0 0 16px}ul[data-astro-cid-2zkmu4eg]{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}li[data-astro-cid-2zkmu4eg] a[data-astro-cid-2zkmu4eg]{display:flex;flex-direction:column;gap:4px;padding:14px 4px;border-bottom:1px solid var(--line);text-decoration:none;transition:background .15s}li[data-astro-cid-2zkmu4eg] a[data-astro-cid-2zkmu4eg]:hover{background:var(--paper-2)}.rcat[data-astro-cid-2zkmu4eg]{font-family:var(--font-sans);font-size:.72rem;letter-spacing:.06em;color:var(--ink-2)}.rtitle[data-astro-cid-2zkmu4eg]{font-family:var(--font-serif);font-size:1rem;line-height:1.5}.toc[data-astro-cid-6t6zfk7k]{margin:32px 0 40px;padding:20px 24px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius)}.toc-head[data-astro-cid-6t6zfk7k]{font-family:var(--font-sans);font-size:.8rem;font-weight:700;letter-spacing:.06em;color:var(--ink-2);margin:0 0 12px}.toc[data-astro-cid-6t6zfk7k] ol[data-astro-cid-6t6zfk7k]{margin:0;padding:0 0 0 1.2em;display:flex;flex-direction:column;gap:8px}.toc[data-astro-cid-6t6zfk7k] li[data-astro-cid-6t6zfk7k]{font-family:var(--font-sans);font-size:.9rem;line-height:1.6}.toc[data-astro-cid-6t6zfk7k] li[data-astro-cid-6t6zfk7k]::marker{color:var(--accent-strong);font-weight:700}.toc[data-astro-cid-6t6zfk7k] a[data-astro-cid-6t6zfk7k]{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;transition:color .15s,border-color .15s}.toc[data-astro-cid-6t6zfk7k] a[data-astro-cid-6t6zfk7k]:hover{color:var(--accent-strong);border-bottom-color:var(--accent)}.read-progress[data-astro-cid-uwv4mmhs]{position:fixed;top:var(--hdr-h);left:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--accent);z-index:90}@supports (animation-timeline: scroll()){.read-progress[data-astro-cid-uwv4mmhs]{animation-name:read-grow;animation-timing-function:linear;animation-duration:auto;animation-fill-mode:both;animation-timeline:scroll(root block)}}@keyframes read-grow{to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.read-progress[data-astro-cid-uwv4mmhs]{display:none}}.body[data-astro-cid-uwv4mmhs] table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;font-size:.9rem;-webkit-overflow-scrolling:touch}.body[data-astro-cid-uwv4mmhs] th,.body[data-astro-cid-uwv4mmhs] td{border:1px solid var(--line);padding:8px 12px;text-align:left;white-space:nowrap}.body[data-astro-cid-uwv4mmhs] th{background:var(--paper-2);font-weight:700}.article-layout[data-astro-cid-uwv4mmhs]{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}.post[data-astro-cid-uwv4mmhs]{padding:32px 0 0;max-width:var(--wrap-narrow);min-width:0}.sidebar[data-astro-cid-uwv4mmhs]{padding-top:32px}.sticky[data-astro-cid-uwv4mmhs]{position:sticky;top:calc(var(--hdr-h) + 20px)}@media(max-width:900px){.article-layout[data-astro-cid-uwv4mmhs]{grid-template-columns:1fr;gap:0}.post[data-astro-cid-uwv4mmhs]{max-width:none}.sidebar[data-astro-cid-uwv4mmhs]{padding-top:8px}.sticky[data-astro-cid-uwv4mmhs]{position:static}}.post-head[data-astro-cid-uwv4mmhs] h1[data-astro-cid-uwv4mmhs]{font-size:clamp(1.6rem,5vw,2.4rem);line-height:1.4;margin:0 0 16px}.post-head[data-astro-cid-uwv4mmhs] .lead[data-astro-cid-uwv4mmhs]{color:var(--ink-2);font-size:1.05rem}.post-head[data-astro-cid-uwv4mmhs] .meta-line[data-astro-cid-uwv4mmhs]{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline;margin:0 0 12px}.post-head[data-astro-cid-uwv4mmhs] .updated[data-astro-cid-uwv4mmhs]{font-size:.8rem;color:var(--ink-2)}.post-head[data-astro-cid-uwv4mmhs] time[data-astro-cid-uwv4mmhs]{font-size:.8rem;color:var(--ink-2)}.sv-badge[data-astro-cid-uwv4mmhs]{display:inline-flex;align-items:stretch;border:1px solid var(--line);background:var(--paper-2);font-family:var(--font-sans)}.sv-k[data-astro-cid-uwv4mmhs]{display:flex;align-items:center;padding:6px 12px;font-size:.72rem;font-weight:700;letter-spacing:.1em;color:var(--accent-strong);border-right:1px solid var(--line)}.sv-body[data-astro-cid-uwv4mmhs]{display:flex;flex-direction:column;gap:1px;padding:6px 14px}.sv-who[data-astro-cid-uwv4mmhs]{font-size:.78rem;color:var(--ink);line-height:1.6}.sv-date[data-astro-cid-uwv4mmhs]{font-size:.7rem;color:var(--ink-2);line-height:1.5}.draft-flag[data-astro-cid-uwv4mmhs]{display:inline-block;background:var(--accent);color:var(--on-accent);font-size:.75rem;padding:4px 10px;border-radius:4px;font-family:var(--font-sans)}.body[data-astro-cid-uwv4mmhs] h2{font-size:1.4rem;margin:40px 0 16px;padding-bottom:8px;border-bottom:2px solid var(--line);scroll-margin-top:calc(var(--hdr-h) + 16px)}.body[data-astro-cid-uwv4mmhs] h3{font-size:1.15rem;margin:28px 0 12px;scroll-margin-top:calc(var(--hdr-h) + 16px)}.body[data-astro-cid-uwv4mmhs] p{margin:0 0 18px}.body[data-astro-cid-uwv4mmhs] ul,.body[data-astro-cid-uwv4mmhs] ol{margin:0 0 18px;padding-left:1.4em}.body[data-astro-cid-uwv4mmhs] .stack-diagram,.body[data-astro-cid-uwv4mmhs] .flow-diagram,.body[data-astro-cid-uwv4mmhs] .matrix-diagram{margin:28px 0 32px;padding:24px 26px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.body[data-astro-cid-uwv4mmhs] .stack-diagram figcaption,.body[data-astro-cid-uwv4mmhs] .flow-diagram figcaption,.body[data-astro-cid-uwv4mmhs] .matrix-diagram figcaption{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}.body[data-astro-cid-uwv4mmhs] .stack-diagram .d-en,.body[data-astro-cid-uwv4mmhs] .flow-diagram .d-en,.body[data-astro-cid-uwv4mmhs] .matrix-diagram .d-en{font-family:var(--font-display);font-size:.7rem;letter-spacing:.16em;color:var(--accent-strong);font-weight:600;text-transform:uppercase}.body[data-astro-cid-uwv4mmhs] .stack-diagram .d-title,.body[data-astro-cid-uwv4mmhs] .flow-diagram .d-title,.body[data-astro-cid-uwv4mmhs] .matrix-diagram .d-title{font-size:.94rem;font-weight:700}.body[data-astro-cid-uwv4mmhs] .stack-diagram .d-rows{display:flex;flex-direction:column;gap:6px}.body[data-astro-cid-uwv4mmhs] .stack-diagram .d-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 16px;background:var(--paper-2);border:1px solid var(--hairline);border-radius:var(--radius-sm)}.body[data-astro-cid-uwv4mmhs] .stack-diagram .d-row b{font-size:.9rem;font-weight:700}.body[data-astro-cid-uwv4mmhs] .stack-diagram .d-row span{font-size:.72rem;color:var(--ink-2);text-align:right}.body[data-astro-cid-uwv4mmhs] .stack-diagram .d-accent{background:#d6f2f5;border-color:var(--accent)}.body[data-astro-cid-uwv4mmhs] .stack-diagram .d-accent b,.body[data-astro-cid-uwv4mmhs] .stack-diagram .d-accent span{color:var(--accent-strong)}.body[data-astro-cid-uwv4mmhs] .stack-diagram .d-base{padding-top:18px;padding-bottom:18px}.body[data-astro-cid-uwv4mmhs] .stack-diagram .d-note,.body[data-astro-cid-uwv4mmhs] .flow-diagram .d-note,.body[data-astro-cid-uwv4mmhs] .matrix-diagram .d-note{margin:14px 0 0;font-size:.72rem;color:var(--ink-2);line-height:1.7}.body[data-astro-cid-uwv4mmhs] .flow-diagram .f-steps{list-style:none;margin:0;padding:0;counter-reset:fstep;display:flex;flex-direction:column}.body[data-astro-cid-uwv4mmhs] .flow-diagram .f-steps li{counter-increment:fstep;position:relative;padding:0 0 18px 44px;display:flex;flex-direction:column;gap:2px}.body[data-astro-cid-uwv4mmhs] .flow-diagram .f-steps li:before{content:counter(fstep);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-family:var(--font-display);font-size:.78rem;font-weight:600;display:flex;align-items:center;justify-content:center}.body[data-astro-cid-uwv4mmhs] .flow-diagram .f-steps li:not(:last-child):after{content:"";position:absolute;left:12.5px;top:30px;bottom:2px;width:1px;background:var(--hairline)}.body[data-astro-cid-uwv4mmhs] .flow-diagram .f-steps b{font-size:.92rem;font-weight:700;line-height:1.6}.body[data-astro-cid-uwv4mmhs] .flow-diagram .f-steps span{font-size:.8rem;color:var(--ink-2);line-height:1.7}.body[data-astro-cid-uwv4mmhs] .matrix-diagram table{display:table;width:100%;border-collapse:collapse;font-size:.84rem;font-family:var(--font-sans)}.body[data-astro-cid-uwv4mmhs] .matrix-diagram th,.body[data-astro-cid-uwv4mmhs] .matrix-diagram td{border:1px solid var(--line);padding:9px 12px;text-align:left;white-space:normal;vertical-align:top;line-height:1.7}.body[data-astro-cid-uwv4mmhs] .matrix-diagram thead th{background:#d6f2f5;color:var(--accent-strong);font-weight:700}.body[data-astro-cid-uwv4mmhs] .matrix-diagram tbody th{background:var(--paper-2);font-weight:700;white-space:nowrap}@media(max-width:560px){.body[data-astro-cid-uwv4mmhs] .stack-diagram .d-row{flex-direction:column;gap:2px}.body[data-astro-cid-uwv4mmhs] .stack-diagram .d-row span{text-align:left}}
