:root{--bg: #ffffff;--bg-alt: #f2f2f7;--text: #1d1d1f;--text-muted: #6e6e73;--border: #e5e5ea;--accent: #5856d6;--accent-hover: #4744c2;--accent-fg: #ffffff;--link: #2563eb;--ok: #15803d;--danger: #dc2626}[data-theme=dark]{--bg: #2e3440;--bg-alt: #3b4252;--text: #d8dee9;--text-muted: #9aa4b8;--border: #434c5e;--accent: #88c0d0;--accent-hover: #8fbcbb;--accent-fg: #2e3440;--link: #88c0d0;--ok: #a3be8c;--danger: #bf616a}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;font-weight:400;line-height:1.7;transition:background .2s,color .2s;min-height:100vh;display:flex;flex-direction:column}main{flex:1}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:720px;margin:0 auto;padding:3rem 1.5rem}@media(max-width:480px){.wrap{padding:2rem 1rem}}.app-badge{display:inline-flex;align-items:center;font-size:.62rem;font-weight:700;letter-spacing:.04em;line-height:1.4;padding:.1rem .4rem;border-radius:4px;color:#fff;white-space:nowrap}.app-badge[hidden]{display:none}.app-badge[data-kind=new]{background:var(--accent)}.app-badge[data-kind=updated]{background:var(--ok)}.page-actions{margin-left:auto;display:inline-flex;gap:.4rem;flex:none}.pa-btn,.notify-btn{position:relative;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);background:none;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.pa-btn:hover,.notify-btn:hover:not(:disabled){color:var(--text);border-color:var(--text-muted);background:var(--bg-alt)}.pa-btn:active{transform:translateY(1px)}.notify-btn.notify-labeled{width:auto;height:auto;align-self:stretch;padding:0 .65rem;gap:.35rem;font-family:inherit;font-size:.8rem;white-space:nowrap}.notify-btn.subscribed{color:var(--accent);border-color:var(--accent)}.notify-btn.subscribed .notify-icon{fill:var(--accent)}.notify-btn[hidden]{display:none}.notify-spinner{display:none;flex:none;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:notify-spin .6s linear infinite}.notify-btn.busy{cursor:progress}.notify-btn.busy .notify-icon{display:none}.notify-btn.busy .notify-spinner{display:inline-block}@keyframes notify-spin{to{transform:rotate(360deg)}}.notify-btn.notify-banner{width:100%;height:auto;justify-content:flex-start;gap:.5rem;margin-top:.6rem;padding:.65rem .9rem;font-family:inherit;font-size:.86rem;font-weight:600;border-radius:8px;color:var(--text);background:var(--bg);border:1px solid var(--border)}.notify-btn.notify-banner:hover:not(.subscribed){border-color:var(--accent);background:var(--bg)}.notify-btn.notify-banner.subscribed{color:var(--accent);border-color:var(--accent);background:var(--bg)}.notify-btn.notify-banner.subscribed .notify-icon{fill:var(--accent)}.pa-btn[data-tip]:hover:after,.notify-btn[data-tip]:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);right:0;background:var(--text);color:var(--bg);font-size:.72rem;line-height:1.3;padding:.3rem .5rem;border-radius:5px;white-space:nowrap;z-index:50;pointer-events:none}.pa-toast{position:fixed;left:50%;top:4.75rem;transform:translate(-50%) translateY(-1rem);max-width:min(92vw,460px);background:var(--text);color:var(--bg);font-size:.85rem;line-height:1.5;text-align:center;padding:.65rem 1.1rem;border-radius:8px;box-shadow:0 6px 20px #00000040;opacity:0;pointer-events:none;transition:opacity .4s ease,transform .4s ease;z-index:300}.pa-toast.show{opacity:1;transform:translate(-50%) translateY(0);animation:pa-toast-in .5s ease}@keyframes pa-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--bg) inset;caret-color:var(--text);transition:background-color 9999s ease-out 0s}hr{border:none;border-top:1px solid var(--border);margin:2rem 0}code{background:var(--bg-alt);border:1px solid var(--border);padding:.12rem .4rem;border-radius:4px;font-size:.875em;font-family:Fira Code,Cascadia Code,Consolas,Menlo,Apple SD Gothic Neo,Malgun Gothic,monospace;color:var(--text)}[data-theme=dark] code{color:#d19a66}pre{border:1px solid var(--border);border-radius:6px;padding:1rem 1.25rem;overflow-x:auto;margin:1.5rem 0}pre code{background:none;border:none;padding:0;font-size:.875em}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.code-wrapper{position:relative}.copy-btn{position:absolute;top:.5rem;right:.5rem;background:#f3f3f3;border:1px solid #d3d3da;color:#5a5a63;font-size:.8rem;padding:.35rem .75rem;border-radius:4px;cursor:pointer;opacity:0;transition:opacity .15s,background .15s;font-family:inherit;line-height:1.4}.code-wrapper:hover .copy-btn{opacity:1}.copy-btn:hover{background:#dcdce3;color:#2c2c31}.copy-btn.copied{color:#15803d}[data-theme=dark] .copy-btn{background:#313640;border-color:#474e5c;color:#c3c9d2}[data-theme=dark] .copy-btn:hover{background:#3b414d;color:#fff}[data-theme=dark] .copy-btn.copied{color:#4ade80}.content{overflow-wrap:break-word}.content img{max-width:100%;height:auto}.content p{margin:1rem 0}.content h2{font-size:1.35rem;font-weight:700;margin:2rem 0 .75rem}.content h3{font-size:1.1rem;font-weight:600;margin:1.5rem 0 .5rem}.content h4{font-size:1rem;font-weight:600;margin:1.25rem 0 .4rem}.content h5{font-size:.92rem;font-weight:600;margin:1rem 0 .35rem;color:var(--text-muted)}.content h6{font-size:.85rem;font-weight:600;margin:1rem 0 .3rem;color:var(--text-muted)}.content summary :is(h2,h3,h4,h5,h6){display:inline;margin:0}.content details{margin:1rem 0}.content details:has(>summary h2),.content details:has(>summary[h2]){margin-top:2rem}.content details:has(>summary h3),.content details:has(>summary[h3]){margin-top:1.5rem}.content details:has(>summary h4),.content details:has(>summary[h4]){margin-top:1.25rem}.content summary[h2]{font-size:1.35rem;font-weight:700}.content summary[h3]{font-size:1.1rem;font-weight:600}.content summary[h4]{font-size:1rem;font-weight:600}.content summary[h5]{font-size:.92rem;font-weight:600;color:var(--text-muted)}.content summary[h6]{font-size:.85rem;font-weight:600;color:var(--text-muted)}.content details>summary{list-style:none;cursor:pointer;user-select:none}.content details>summary::-webkit-details-marker{display:none}.content details>summary:before,.content details>summary:after{display:inline-block;width:.75em;height:.75em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='m9 18 6-6-6-6'/%3E%3C/svg%3E") no-repeat center / contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='m9 18 6-6-6-6'/%3E%3C/svg%3E") no-repeat center / contain;transition:transform .15s ease;vertical-align:-.05em}.content details>summary:before{content:"";margin-right:.4em}.content details>summary:after{content:none}.content details[open]>summary:before{transform:rotate(90deg)}.content :is(details.right,details.chev-right)>summary:before{content:none}.content :is(details.right,details.chev-right)>summary:after{content:"";margin-left:.4em}.content :is(details.right,details.chev-right)[open]>summary:after{transform:rotate(90deg)}.content details.card>summary{display:flex;align-items:center;gap:.5rem;border:1px solid var(--border);border-radius:8px;padding:.6rem .9rem;transition:border-color .15s}.content details.card>summary:hover{border-color:var(--accent)}.content details.card>summary:before{content:none}.content details.card>summary:after{content:"";margin-left:auto;flex:none;color:var(--text-muted)}.content details.card[open]>summary:after{transform:rotate(90deg)}.content details.card[open]{margin-bottom:1rem}.content ul,.content ol{padding-left:1.5rem;margin:1rem 0}.content li{margin:.4rem 0}.content hr{border:none;border-top:1px solid var(--border);margin:1.5rem 0}.content a{color:var(--link)}.content strong{font-weight:600}.content blockquote{border-left:3px solid var(--border);padding-left:1rem;color:var(--text-muted);margin:1.5rem 0}.content table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem}.content th{background:var(--bg-alt);font-weight:600;text-align:left;padding:.55rem .9rem;border:1px solid var(--border)}.content td{padding:.5rem .9rem;border:1px solid var(--border);vertical-align:top}.content th[align=center],.content td[align=center]{text-align:center}.content th[align=right],.content td[align=right]{text-align:right}.content th[align=left],.content td[align=left]{text-align:left}.content tr:hover td{background:var(--bg-alt)}@media print{header,footer,#toc,.copy-btn,.links,#search-overlay{display:none!important}body{background:#fff;color:#000;font-size:12pt;line-height:1.6}a{color:#000;text-decoration:underline}a[href^=http]:after{content:" (" attr(href) ")";font-size:.8em;color:#555}pre,code{background:#f5f5f5;border:1px solid #ccc}pre{white-space:pre-wrap;word-break:break-all}.post{max-width:100%;padding:0}h1,h2,h3{page-break-after:avoid}pre,blockquote,table{page-break-inside:avoid}}
