/* SPA 懒加载 CSS 分块合并(SubscribePage / DocsPage);由 tools/fetch-css.sh 重新抓取 */
.sub-hero{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px;padding-top:clamp(128px,17vh,196px);padding-bottom:clamp(48px,7vw,88px)}.sub-hero h1{max-width:18ch;margin:0;font-size:clamp(2.6rem,6vw,5rem);line-height:1.04;letter-spacing:-.038em;color:var(--ink);text-wrap:balance}.sub-hero-lead{max-width:60ch;margin:0;color:var(--ink-muted);font-size:clamp(1rem,1.4vw,1.14rem);line-height:1.7}.sub-hero-lead strong{color:var(--cyan);font-weight:800}.sub-hero-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px}.sub-hero-tags span{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#ffffff0a;color:var(--ink-muted);font-size:.86rem}.sub-hero-tags svg{color:var(--cyan)}.sub-muted{max-width:60ch;margin:12px auto 0;color:var(--ink-quiet);line-height:1.65}.sub-seat{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin:2px 0 4px;padding:5px 10px;border:1px solid rgba(240,241,244,.26);border-radius:8px;background:#e2e4e917;color:var(--cyan);font-size:.78rem;font-weight:600}.sub-seat svg{flex:none}.sub-faq-wrap{max-width:820px}.sub-faq{display:grid;gap:12px;margin-top:30px}.sub-faq-item{padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff08}.sub-faq-item strong{display:block;margin-bottom:8px;color:var(--ink);font-size:1.02rem}.sub-faq-item p{margin:0;color:var(--ink-muted);line-height:1.68}html[data-theme=light] .sub-hero-tags span,html[data-theme=light] .sub-faq-item{border-color:#20384e21;background:#ffffffb3;box-shadow:0 10px 26px #1f384e0f}html[data-theme=light] .sub-hero-lead strong{color:rgb(var(--obs-accent-strong-rgb))}html[data-theme=light] .sub-hero-tags svg{color:rgb(var(--obs-accent-rgb))}html[data-theme=light] .sub-seat{border-color:rgba(var(--obs-accent-rgb),.28);background:rgba(var(--obs-accent-rgb),.07);color:rgb(var(--obs-accent-strong-rgb))}

.obs-docs-side{position:sticky;top:24px;transition:all .28s cubic-bezier(.16,1,.3,1)}.obs-docs-side nav a{position:relative;display:block;padding:10px 16px;color:var(--ink-muted);font-size:.92rem;font-weight:500;border-radius:var(--radius-sm);transition:all .24s cubic-bezier(.16,1,.3,1);overflow:hidden}.obs-docs-side nav a:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--cyan),var(--blue));opacity:0;transform:scaleY(0);transition:all .28s cubic-bezier(.16,1,.3,1)}.obs-docs-side nav a:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(var(--cyan-rgb),.08),transparent 80%);opacity:0;transition:opacity .24s cubic-bezier(.16,1,.3,1)}.obs-docs-side nav a:hover{color:var(--cyan);background:var(--surface-2);padding-left:24px;box-shadow:inset 0 1px 0 var(--line)}.obs-docs-side nav a:hover:before{opacity:1;transform:scaleY(1)}.obs-docs-side nav a:hover:after{opacity:1}.obs-docs-side nav a:active{transform:scale(.98)}.obs-docs-base{position:relative;padding:14px 16px;margin-top:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);transition:all .28s cubic-bezier(.16,1,.3,1);cursor:default}.obs-docs-base:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius);background:linear-gradient(135deg,rgba(var(--cyan-rgb),.1),transparent 60%);opacity:0;transition:opacity .28s cubic-bezier(.16,1,.3,1);pointer-events:none}.obs-docs-base:hover{border-color:rgba(var(--cyan-rgb),.35);background:var(--surface-3);box-shadow:0 8px 20px var(--shadow),inset 0 1px 0 var(--line)}.obs-docs-base:hover:before{opacity:1}.obs-docs-base code{position:relative;z-index:1;color:var(--cyan);transition:all .24s cubic-bezier(.16,1,.3,1)}.obs-docs-base:hover code{text-shadow:0 0 12px rgba(var(--cyan-rgb),.4)}.obs-docs-code{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .32s cubic-bezier(.16,1,.3,1)}.obs-docs-code:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(var(--cyan-rgb),.2),rgba(var(--blue-rgb),.1));opacity:0;transition:opacity .32s cubic-bezier(.16,1,.3,1);pointer-events:none;z-index:-1}.obs-docs-code:hover{transform:translateY(-4px);border-color:rgba(var(--cyan-rgb),.4);background:var(--surface);box-shadow:0 16px 40px var(--shadow),0 0 60px rgba(var(--cyan-rgb),.15),inset 0 1px 0 var(--line-strong)}.obs-docs-code:hover:before{opacity:1}.obs-docs-code-head{position:relative;display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface-2);transition:all .24s cubic-bezier(.16,1,.3,1)}.obs-docs-code:hover .obs-docs-code-head{border-color:rgba(var(--cyan-rgb),.2);background:var(--surface-3)}.obs-docs-copy{position:relative;margin-left:auto;padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-muted);transition:all .24s cubic-bezier(.16,1,.3,1);overflow:hidden}.obs-docs-copy:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(var(--cyan-rgb),.15),rgba(var(--blue-rgb),.08));opacity:0;transition:opacity .24s cubic-bezier(.16,1,.3,1)}.obs-docs-copy:hover{transform:translateY(-2px);border-color:rgba(var(--cyan-rgb),.5);background:var(--surface-3);color:var(--cyan);box-shadow:0 4px 12px var(--shadow),0 0 20px rgba(var(--cyan-rgb),.15)}.obs-docs-copy:hover:before{opacity:1}.obs-docs-copy:active{transform:translateY(0) scale(.95)}.obs-docs-copy svg{position:relative;z-index:1;transition:transform .24s cubic-bezier(.16,1,.3,1)}.obs-docs-copy:hover svg{transform:scale(1.1)}.obs-docs-card{position:relative;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);transition:all .28s cubic-bezier(.16,1,.3,1);cursor:default}.obs-docs-card:not(.obs-docs-code):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius);background:linear-gradient(135deg,rgba(var(--cyan-rgb),.08),transparent 60%);opacity:0;transition:opacity .28s cubic-bezier(.16,1,.3,1);pointer-events:none}.obs-docs-card:not(.obs-docs-code):hover{transform:translateY(-3px);border-color:rgba(var(--cyan-rgb),.3);background:var(--surface-3);box-shadow:0 10px 28px var(--shadow),inset 0 1px 0 var(--line)}.obs-docs-card:not(.obs-docs-code):hover:after{opacity:1}.obs-docs-kv{display:flex;flex-direction:column;gap:10px}.obs-docs-kv span{font-size:.78rem;font-weight:600;letter-spacing:.05em;color:var(--ink-quiet);text-transform:uppercase;transition:color .24s cubic-bezier(.16,1,.3,1)}.obs-docs-kv:hover span{color:var(--cyan)}.obs-docs-kv code{padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--cyan);font-size:.88rem;transition:all .24s cubic-bezier(.16,1,.3,1)}.obs-docs-kv:hover code{border-color:rgba(var(--cyan-rgb),.3);background:var(--bg-2);box-shadow:0 4px 12px var(--shadow),inset 0 0 20px rgba(var(--cyan-rgb),.1);text-shadow:0 0 12px rgba(var(--cyan-rgb),.4)}.obs-docs-migrate{display:flex;align-items:center;gap:20px;padding:24px}.obs-docs-migrate>div{flex:1;display:flex;flex-direction:column;gap:8px}.obs-docs-migrate span{font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--ink-quiet);text-transform:uppercase;transition:color .24s cubic-bezier(.16,1,.3,1)}.obs-docs-migrate:hover span{color:var(--cyan)}.obs-docs-migrate code{padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink-muted);transition:all .24s cubic-bezier(.16,1,.3,1)}.obs-docs-migrate:hover code{border-color:rgba(var(--cyan-rgb),.3);background:var(--bg-2);color:var(--cyan)}.obs-docs-migrate>svg{flex:none;color:var(--cyan);transition:all .32s cubic-bezier(.16,1,.3,1)}.obs-docs-migrate:hover>svg{transform:translate(4px) scale(1.1);filter:drop-shadow(0 0 12px rgba(var(--cyan-rgb),.5))}.obs-docs-table{padding:0;overflow:hidden}.obs-docs-table table{width:100%;border-collapse:collapse}.obs-docs-table thead{background:var(--surface-2);border-bottom:1px solid var(--line);transition:all .24s cubic-bezier(.16,1,.3,1)}.obs-docs-table:hover thead{background:var(--surface-3);border-color:rgba(var(--cyan-rgb),.2)}.obs-docs-table th{padding:12px 16px;text-align:left;font-size:.82rem;font-weight:600;color:var(--ink-quiet);text-transform:uppercase;letter-spacing:.05em}.obs-docs-table tbody tr{border-bottom:1px solid var(--line);transition:all .24s cubic-bezier(.16,1,.3,1)}.obs-docs-table tbody tr:hover{background:rgba(var(--cyan-rgb),.05);border-color:rgba(var(--cyan-rgb),.15)}.obs-docs-table tbody tr:hover td{color:var(--ink)}.obs-docs-table tbody tr:hover code{color:var(--cyan);text-shadow:0 0 8px rgba(var(--cyan-rgb),.3)}.obs-docs-table td{padding:14px 16px;color:var(--ink-muted);font-size:.9rem;transition:color .24s cubic-bezier(.16,1,.3,1)}.obs-docs-table td code{padding:4px 8px;border-radius:4px;background:var(--bg);color:var(--ink-muted);font-size:.85rem;transition:all .24s cubic-bezier(.16,1,.3,1)}.obs-docs-table td strong{color:var(--ink);font-weight:600}.obs-docs-row-reveal{opacity:0;transform:translate(-20px);animation:slideInRow .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideInRow{to{opacity:1;transform:translate(0)}}.obs-docs-tag{display:inline-block;padding:4px 10px;border-radius:999px;background:rgba(var(--cyan-rgb),.1);color:var(--cyan);font-size:.78rem;font-weight:600;transition:all .24s cubic-bezier(.16,1,.3,1)}.obs-docs-table tbody tr:hover .obs-docs-tag{background:rgba(var(--cyan-rgb),.2);box-shadow:0 0 16px rgba(var(--cyan-rgb),.3)}.obs-docs-list{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.obs-docs-list li{display:flex;align-items:flex-start;gap:10px;color:var(--ink-muted);font-size:.92rem;line-height:1.6;transition:all .24s cubic-bezier(.16,1,.3,1)}.obs-docs-list li svg{flex:none;margin-top:2px;color:var(--cyan);transition:all .24s cubic-bezier(.16,1,.3,1)}.obs-docs-card:hover .obs-docs-list li{color:var(--ink)}.obs-docs-card:hover .obs-docs-list li svg{transform:scale(1.2);filter:drop-shadow(0 0 8px rgba(var(--cyan-rgb),.5))}.obs-docs-chips{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.obs-docs-chips>span:first-child{width:100%;font-size:.78rem;font-weight:600;color:var(--ink-quiet);text-transform:uppercase;letter-spacing:.05em;transition:color .24s cubic-bezier(.16,1,.3,1)}.obs-docs-chips:hover>span:first-child{color:var(--cyan)}.obs-docs-chips code{padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink-muted);font-size:.82rem;transition:all .24s cubic-bezier(.16,1,.3,1)}.obs-docs-chips code:hover{transform:translateY(-2px);border-color:rgba(var(--cyan-rgb),.4);background:var(--bg-2);color:var(--cyan);box-shadow:0 4px 12px var(--shadow),0 0 16px rgba(var(--cyan-rgb),.2)}.obs-docs-error{display:flex;flex-direction:column;gap:10px;padding:18px}.obs-docs-error .obs-docs-tag{align-self:flex-start}.obs-docs-error p{margin:0;color:var(--ink-muted);font-size:.9rem;line-height:1.6;transition:color .24s cubic-bezier(.16,1,.3,1)}.obs-docs-error:hover p{color:var(--ink)}.obs-docs-section-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:rgba(var(--cyan-rgb),.08);color:var(--cyan);transition:all .28s cubic-bezier(.16,1,.3,1)}.obs-docs-section:hover .obs-docs-section-icon{transform:rotate(5deg) scale(1.1);border-color:rgba(var(--cyan-rgb),.4);background:rgba(var(--cyan-rgb),.15);box-shadow:0 4px 16px rgba(var(--cyan-rgb),.3)}.obs-docs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:24px}.obs-docs-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-theme=light] .obs-docs-code{background:var(--surface-light);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}html[data-theme=light] .obs-docs-code:hover{background:var(--surface);box-shadow:0 16px 40px rgba(var(--blue-rgb),.18),0 0 40px rgba(var(--blue-rgb),.2),inset 0 1px 0 var(--line-strong)}html[data-theme=light] .obs-docs-card:hover,html[data-theme=light] .obs-docs-base:hover{box-shadow:0 10px 28px rgba(var(--blue-rgb),.15),0 0 30px rgba(var(--blue-rgb),.15),inset 0 1px 0 var(--line)}html[data-theme=light] .obs-docs-kv code,html[data-theme=light] .obs-docs-migrate code,html[data-theme=light] .obs-docs-chips code,html[data-theme=light] .obs-docs-table td code{background:var(--bg-2);color:var(--blue)}html[data-theme=light] .obs-docs-kv:hover code,html[data-theme=light] .obs-docs-migrate:hover code{background:var(--bg);box-shadow:0 4px 12px rgba(var(--blue-rgb),.15),inset 0 0 20px rgba(var(--blue-rgb),.08);text-shadow:0 0 12px rgba(var(--blue-rgb),.4)}html[data-theme=light] .obs-docs-chips code:hover{box-shadow:0 4px 12px rgba(var(--blue-rgb),.15),0 0 16px rgba(var(--blue-rgb),.2)}html[data-theme=light] .obs-docs-copy:hover{box-shadow:0 4px 12px rgba(var(--blue-rgb),.15),0 0 20px rgba(var(--blue-rgb),.2)}html[data-theme=light] .obs-docs-section-icon{background:rgba(var(--blue-rgb),.08);color:#2f6fbe;border-color:#2f6fbe47}html[data-theme=light] .obs-docs-section:hover .obs-docs-section-icon{background:rgba(var(--blue-rgb),.15);border-color:#2f6fbe75;box-shadow:0 4px 16px rgba(var(--blue-rgb),.3)}html[data-theme=light] .obs-docs-side-title svg,html[data-theme=light] .obs-docs-code-head svg,html[data-theme=light] .obs-docs-section-icon svg,html[data-theme=light] .obs-docs-migrate>svg,html[data-theme=light] .obs-docs-list li svg,html[data-theme=light] .obs-docs-copy,html[data-theme=light] .obs-docs-copy svg{color:#2f6fbe}html[data-theme=light] .obs-docs-side nav a,html[data-theme=light] .obs-docs-kv span,html[data-theme=light] .obs-docs-migrate span,html[data-theme=light] .obs-docs-chips span,html[data-theme=light] .obs-docs-table th{color:#4d5a6e}html[data-theme=light] .obs-docs-table td,html[data-theme=light] .obs-docs-list li,html[data-theme=light] .obs-docs-error p,html[data-theme=light] .obs-docs-chips code,html[data-theme=light] .obs-docs-tag{color:#3f4b5d}html[data-theme=light] .obs-docs-side nav a:hover,html[data-theme=light] .obs-docs-side nav a:focus-visible,html[data-theme=light] .obs-docs-copy:hover,html[data-theme=light] .obs-docs-copy:focus-visible{color:#245d9f}html[data-theme=light] .obs-docs-table tbody tr:hover code{color:var(--blue);text-shadow:0 0 8px rgba(var(--blue-rgb),.3)}html[data-theme=light] .obs-docs-tag{background:rgba(var(--blue-rgb),.1);color:var(--blue)}html[data-theme=light] .obs-docs-table tbody tr:hover .obs-docs-tag{background:rgba(var(--blue-rgb),.2);box-shadow:0 0 16px rgba(var(--blue-rgb),.3)}html[data-theme=light] .obs-docs-list li svg{color:var(--blue)}html[data-theme=light] .obs-docs-card:hover .obs-docs-list li svg{filter:drop-shadow(0 0 8px rgba(var(--blue-rgb),.5))}html[data-theme=light] .obs-docs-migrate>svg{color:var(--blue)}html[data-theme=light] .obs-docs-migrate:hover>svg{filter:drop-shadow(0 0 12px rgba(var(--blue-rgb),.5))}html[data-theme=light] .obs-docs-side nav a:hover{color:var(--blue)}html[data-theme=light] .obs-docs-base code,html[data-theme=light] .obs-docs-copy:hover{color:var(--blue)}html[data-theme=light] .obs-docs-base:hover code{text-shadow:0 0 12px rgba(var(--blue-rgb),.4)}html[data-theme=light] .obs-docs-kv:hover span,html[data-theme=light] .obs-docs-migrate:hover span,html[data-theme=light] .obs-docs-chips:hover>span:first-child{color:#2f6fbe}html[data-theme=light] .obs-docs-list li svg,html[data-theme=light] .obs-docs-migrate>svg,html[data-theme=light] .obs-docs-base code,html[data-theme=light] .obs-docs-copy:hover,html[data-theme=light] .obs-docs-copy:hover svg{color:#2f6fbe}html[data-theme=light] .obs-docs-kv code,html[data-theme=light] .obs-docs-migrate code,html[data-theme=light] .obs-docs-table td code{color:#52627a}html[data-theme=light] .obs-docs-tag{color:#3f4b5d}@media(max-width:900px){.obs-docs-grid-3{grid-template-columns:1fr}.obs-docs-migrate{flex-direction:column}.obs-docs-migrate>svg{transform:rotate(90deg)}.obs-docs-migrate:hover>svg{transform:rotate(90deg) translateY(4px) scale(1.1)}.obs-docs-code:hover,.obs-docs-card:hover{transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.obs-docs-side nav a,.obs-docs-base,.obs-docs-code,.obs-docs-card,.obs-docs-copy,.obs-docs-table tbody tr,.obs-docs-tag{transition:none}.obs-docs-row-reveal{animation:none;opacity:1;transform:translate(0)}@keyframes slideInRow{0%,to{opacity:1;transform:translate(0)}}}
