.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.sidebar-toggle[data-astro-cid-ssfzsv2f]{position:fixed;top:20px;right:24px;z-index:60;width:48px;height:48px;border-radius:50%;border:1px solid var(--border);background:#150d26a6;-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);box-shadow:var(--shadow-card);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:transform .4s var(--ease-out),background .3s ease,border-color .3s ease}.sidebar-toggle[data-astro-cid-ssfzsv2f]:hover{transform:scale(1.06);border-color:#ff8a1a80}.sidebar-toggle[data-astro-cid-ssfzsv2f] .bar[data-astro-cid-ssfzsv2f]{display:block;width:20px;height:2px;border-radius:2px;background:var(--text);transition:transform .45s var(--ease-spring),opacity .3s ease}#sidebar-root[data-astro-cid-ssfzsv2f].open .sidebar-toggle[data-astro-cid-ssfzsv2f] .bar[data-astro-cid-ssfzsv2f]:nth-child(1){transform:translateY(4px) rotate(45deg)}#sidebar-root[data-astro-cid-ssfzsv2f].open .sidebar-toggle[data-astro-cid-ssfzsv2f] .bar[data-astro-cid-ssfzsv2f]:nth-child(2){transform:translateY(-4px) rotate(-45deg)}.sidebar-backdrop[data-astro-cid-ssfzsv2f]{position:fixed;inset:0;z-index:40;background:#0a04188c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .5s var(--ease-out),visibility 0s linear .5s}#sidebar-root[data-astro-cid-ssfzsv2f].open .sidebar-backdrop[data-astro-cid-ssfzsv2f]{opacity:1;visibility:visible;transition:opacity .5s var(--ease-out)}.sidebar-panel[data-astro-cid-ssfzsv2f]{position:fixed;top:0;right:0;z-index:50;width:min(360px,86vw);height:100dvh;display:flex;flex-direction:column;padding:96px 36px 36px;background:#170e2ce0;-webkit-backdrop-filter:blur(28px) saturate(1.5);backdrop-filter:blur(28px) saturate(1.5);border-left:1px solid var(--border);box-shadow:-20px 0 60px #04001280;transform:translate(102%);visibility:hidden;transition:transform .65s var(--ease-spring),visibility 0s linear .65s}#sidebar-root[data-astro-cid-ssfzsv2f].open .sidebar-panel[data-astro-cid-ssfzsv2f]{transform:translate(0);visibility:visible;transition:transform .65s var(--ease-spring)}.sidebar-label[data-astro-cid-ssfzsv2f]{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:28px}.sec-home[data-astro-cid-ssfzsv2f]{display:flex;align-items:center;gap:10px;padding:11px 14px;margin-bottom:20px;border:1px solid rgba(140,90,255,.35);border-radius:10px;background:#5a3cb41a;color:var(--text);font-size:13.5px;font-weight:600;letter-spacing:.08em;transition:border-color .3s ease,background .3s ease,transform .4s var(--ease-out)}.sec-home[data-astro-cid-ssfzsv2f]:hover{transform:translate(3px);border-color:#8c5affb3;background:#5a3cb42e}.dot[data-astro-cid-ssfzsv2f]{width:8px;height:8px;flex:none;border-radius:2px}.dot-primary[data-astro-cid-ssfzsv2f]{background:#8a6cf0;box-shadow:0 0 8px #8c5affb3}.sidebar-divider[data-astro-cid-ssfzsv2f]{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:.3em;color:var(--text-tertiary);margin-bottom:6px}.sidebar-divider[data-astro-cid-ssfzsv2f]:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent)}.sidebar-panel[data-astro-cid-ssfzsv2f] nav[data-astro-cid-ssfzsv2f]{display:flex;flex-direction:column;flex:1}.link-dot[data-astro-cid-ssfzsv2f]{width:7px;height:7px;flex:none;border-radius:2px;background:#ff8a1a66;transition:background .3s ease,box-shadow .3s ease}.sidebar-link[data-astro-cid-ssfzsv2f]:hover .link-dot[data-astro-cid-ssfzsv2f],.sidebar-link[data-astro-cid-ssfzsv2f].active .link-dot[data-astro-cid-ssfzsv2f]{background:var(--accent);box-shadow:0 0 8px #ff8a1a99}.sidebar-link[data-astro-cid-ssfzsv2f]{display:flex;align-items:center;gap:16px;padding:14px 4px;border-bottom:1px solid var(--border);opacity:0;transform:translate(36px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);transition-delay:0s}#sidebar-root[data-astro-cid-ssfzsv2f].open .sidebar-link[data-astro-cid-ssfzsv2f]{opacity:1;transform:none;transition-delay:calc(.12s + var(--i) * 55ms)}.link-index[data-astro-cid-ssfzsv2f]{font-size:12px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}.link-text[data-astro-cid-ssfzsv2f]{flex:1;display:flex;flex-direction:column;font-size:21px;font-weight:650;letter-spacing:-.01em}.link-text[data-astro-cid-ssfzsv2f] small[data-astro-cid-ssfzsv2f]{font-size:12px;font-weight:500;color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase}.link-arrow[data-astro-cid-ssfzsv2f]{font-size:16px;color:var(--text-tertiary);transition:transform .35s var(--ease-out),color .35s ease}.sidebar-link[data-astro-cid-ssfzsv2f]:hover .link-arrow[data-astro-cid-ssfzsv2f]{transform:translate(6px);color:var(--accent)}.sidebar-link[data-astro-cid-ssfzsv2f].active{border-bottom-color:#ff8a1a8c}.sidebar-link[data-astro-cid-ssfzsv2f].active .link-text[data-astro-cid-ssfzsv2f]{color:var(--accent)}.sidebar-link[data-astro-cid-ssfzsv2f].active .link-arrow[data-astro-cid-ssfzsv2f]{color:var(--accent);transform:translate(4px)}.sidebar-footer[data-astro-cid-ssfzsv2f]{padding-top:24px;font-size:14px}.sidebar-footer[data-astro-cid-ssfzsv2f] a[data-astro-cid-ssfzsv2f]{color:var(--text-secondary);transition:color .3s ease}.sidebar-footer[data-astro-cid-ssfzsv2f] a[data-astro-cid-ssfzsv2f]:hover{color:var(--accent)}:root{--bg: #150d26;--bg-elevated: #1c1236;--bg-raised: #241a44;--text: #f0eaf8;--text-secondary: #b3a8cc;--text-tertiary: #7a6f96;--accent: #ff8c1a;--accent-deep: #e06a00;--accent-soft: rgba(255, 140, 26, .12);--accent-2: #b39dff;--accent-2-soft: rgba(179, 157, 255, .14);--border: rgba(190, 160, 255, .14);--shadow-card: 0 10px 30px rgba(4, 0, 18, .5);--shadow-card-hover: 0 22px 50px rgba(4, 0, 18, .65);--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", sans-serif;--font-serif: "Songti SC", "Noto Serif SC", "STSong", serif;--content-width: 1080px;--radius-l: 24px;--radius-m: 16px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.32, .72, 0, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:48px}html.sidebar-open{overflow:hidden}body{font-family:var(--font-sans);background:linear-gradient(180deg,#150d26,#1a1038,#241543,#2b1852,#332061);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{max-width:var(--content-width);margin:0 auto;padding:0 24px}.panel{padding:120px 0;border-top:1px solid var(--border);position:relative}.panel-eyebrow{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}.panel-eyebrow:after{content:"";flex:0 0 56px;height:1px;background:linear-gradient(90deg,var(--accent),transparent)}.panel-title{font-size:clamp(32px,4.6vw,52px);font-weight:700;letter-spacing:-.022em;line-height:1.12;margin-bottom:18px}.panel-title:after{content:"";display:block;width:72px;height:2px;margin-top:20px;border-radius:2px;background:linear-gradient(90deg,var(--accent),rgba(255,138,26,0))}.panel-desc{font-size:clamp(16px,1.8vw,19px);color:var(--text-secondary);max-width:560px;margin-bottom:52px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.card{position:relative;background:var(--bg-elevated);border:1px solid var(--border);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);padding:28px 26px 30px;box-shadow:var(--shadow-card);transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .4s ease}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),rgba(255,138,26,0));transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease-out)}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover);border-color:#ff8a1a73}.card:hover:before{transform:scaleX(1)}.card-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}.card-no{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--accent)}.card-line{flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent)}.card-title{font-size:18px;font-weight:650;letter-spacing:-.01em;margin-bottom:6px}.card-text{font-size:14.5px;color:var(--text-secondary)}@keyframes press-bounce{0%{transform:scale(1)}25%{transform:scale(.9)}55%{transform:scale(1.06)}to{transform:scale(1)}}a:active,button:active,.pill:active,h1:active,h2:active,h3:active{animation:press-bounce .5s var(--ease-spring)}.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);transition-delay:calc(var(--d, 0) * .1s);will-change:opacity,transform}.reveal.in-view{opacity:1;transform:none}.prose{font-size:16.5px;line-height:1.85;color:var(--text);max-width:720px}.prose h1,.prose h2,.prose h3{letter-spacing:-.01em;margin:1.6em 0 .6em;line-height:1.3}.prose h2{font-size:26px}.prose h3{font-size:21px}.prose p{margin:1em 0}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.prose ul,.prose ol{padding-left:1.4em;margin:1em 0}.prose li{margin:.4em 0}.prose blockquote{margin:1.4em 0;padding:4px 20px;border-left:3px solid var(--accent);background:var(--bg-elevated);border-radius:0 12px 12px 0;color:var(--text-secondary)}.prose code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88em;background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;padding:2px 7px}.prose pre{background:#140c28;border:1px solid rgba(190,160,255,.2);border-radius:14px;padding:18px 20px;overflow-x:auto;margin:1.4em 0}.prose pre code{background:none;border:none;padding:0;color:#ece7e1}.prose hr{border:none;height:1px;background:var(--border);margin:2em 0}.prose img{border-radius:14px;margin:1.4em 0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
