@font-face{font-family:Departure Mono;src:url(/fonts/DepartureMono-1.500/DepartureMono-Regular.woff2) format("woff2"),url(/fonts/DepartureMono-1.500/DepartureMono-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}:root{--blue: #2F54EB;--bg: #fbfbfb;--text-main: #111111;--text-light: #555555;--font-logo: "Departure Mono", monospace;--font-mono: "Geist Mono", monospace;--font-serif: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft Yahei", Arial, sans-serif;--line-height: 1.75;background-color:var(--bg);color:var(--text-main);font-family:var(--font-serif);line-height:var(--line-height);scrollbar-gutter:stable;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);color:var(--text-main)}body{margin:0;padding:0;font-family:var(--font-serif);line-height:var(--line-height)}h1{font-family:var(--font-serif);font-size:2rem;font-weight:700;color:var(--text-main);line-height:1.2;margin-bottom:.5em}h2{font-family:var(--font-mono);color:var(--blue);font-size:1rem;margin-top:3em;margin-bottom:1em;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid rgba(47,84,235,.2);padding-bottom:10px}h3{font-family:var(--font-mono);color:var(--blue);font-size:.9rem;margin-top:2em;margin-bottom:.8em;letter-spacing:.5px}p{margin-bottom:1.6em;color:var(--text-main);font-size:.95rem}a{color:var(--text-main);text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px;transition:all .2s}a:hover{color:var(--blue);text-decoration-thickness:2px}code{font-family:var(--font-mono);background:#f5f7fa;color:#2f54eb;padding:3px 8px;border-radius:3px;font-size:.9em;border:1px solid #e1e8ed;font-weight:500}pre{font-family:var(--font-mono);background:#f6f8fa!important;color:#24292f!important;padding:24px;border-radius:6px;overflow-x:auto;margin:2em 0;border:1px solid #d0d7de;line-height:1.6;box-shadow:0 2px 4px #2f54eb0d;font-size:.85rem}pre code{background:none!important;border:none;padding:0;color:inherit!important;font-weight:400}pre.astro-code,pre.astro-code code{background:#f6f8fa!important;color:#24292f!important}pre span{color:inherit}pre .line{color:#24292f}ul,ol{margin:1em 0;padding-left:2em}li{margin:.5em 0;font-size:.95rem;line-height:1.75}img{max-width:100%;height:auto;display:block;margin:2em auto;border:1px solid #e1e8ed;box-shadow:0 2px 8px #0000000f}.blueprint-figure{margin:40px 0;border:1px solid var(--blue);padding:30px;position:relative;background:#fff;box-shadow:5px 5px #2f54eb1a}.blueprint-figure figcaption{font-family:var(--font-mono);color:var(--blue);font-size:.8rem;margin-top:15px;text-align:right;font-weight:600}.fig-label{writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--font-mono);font-size:.7rem;color:var(--blue);letter-spacing:2px;position:absolute;left:-35px;top:5px;opacity:.7;white-space:nowrap}table{width:100%;border-collapse:collapse;margin:2em 0;font-family:var(--font-mono);font-size:.9rem}th,td{border:1px solid rgba(47,84,235,.2);padding:.75em;text-align:left}th{background:#2f54eb0d;color:var(--blue);font-weight:600;text-transform:uppercase;letter-spacing:.5px}blockquote{border-left:4px solid var(--blue);padding:1em 1.5em;margin:2em 0;background:#f5f7fa;color:var(--text-main);font-style:italic;border-radius:0 4px 4px 0}blockquote p{margin-bottom:.5em}blockquote p:last-child{margin-bottom:0}hr{border:none;border-top:1px solid rgba(47,84,235,.2);margin:3em 0}.spacer{height:1rem;margin:1rem 0}.article-content{font-family:var(--font-serif);font-size:.95rem;max-width:700px;color:#222}@media (max-width: 800px){h1{font-size:1.6rem}h2,p{font-size:.9rem}.fig-label{display:none}}.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}.layout[data-astro-cid-3zbxo6iv]{max-width:900px;margin:0 auto;padding:40px;min-height:100vh;display:flex;flex-direction:column}header[data-astro-cid-3zbxo6iv]{margin-bottom:60px;padding-bottom:20px;border-bottom:2px solid var(--blue);display:flex;justify-content:space-between;align-items:center}.site-title[data-astro-cid-3zbxo6iv]{font-family:var(--font-logo);font-size:2.5rem;font-weight:700;color:var(--blue);line-height:1;text-transform:uppercase;letter-spacing:2px}.site-title[data-astro-cid-3zbxo6iv] a[data-astro-cid-3zbxo6iv]{text-decoration:none;color:var(--blue);transition:opacity .2s}.site-title[data-astro-cid-3zbxo6iv] a[data-astro-cid-3zbxo6iv]:hover{opacity:.7}.nav-menu[data-astro-cid-3zbxo6iv]{display:flex;gap:25px;font-family:var(--font-mono);font-size:.85rem}.nav-menu[data-astro-cid-3zbxo6iv] a[data-astro-cid-3zbxo6iv]{text-decoration:none;color:var(--text-main);text-transform:uppercase;letter-spacing:.5px;transition:color .2s;position:relative;padding-bottom:2px}.nav-menu[data-astro-cid-3zbxo6iv] a[data-astro-cid-3zbxo6iv]:hover,.nav-menu[data-astro-cid-3zbxo6iv] a[data-astro-cid-3zbxo6iv].active{color:var(--blue)}.nav-menu[data-astro-cid-3zbxo6iv] a[data-astro-cid-3zbxo6iv]:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--blue);transition:width .2s}.nav-menu[data-astro-cid-3zbxo6iv] a[data-astro-cid-3zbxo6iv]:hover:after,.nav-menu[data-astro-cid-3zbxo6iv] a[data-astro-cid-3zbxo6iv].active:after{width:100%}main[data-astro-cid-3zbxo6iv]{flex:1;position:relative}footer[data-astro-cid-3zbxo6iv]{margin-top:80px;padding-top:20px;border-top:1px solid rgba(47,84,235,.2)}.metadata[data-astro-cid-3zbxo6iv]{font-family:var(--font-mono);font-size:.7rem;color:var(--blue);opacity:.5;text-align:center;letter-spacing:1px}@media (max-width: 800px){.layout[data-astro-cid-3zbxo6iv]{padding:25px 20px}header[data-astro-cid-3zbxo6iv]{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:40px}.site-title[data-astro-cid-3zbxo6iv]{font-size:2rem}.nav-menu[data-astro-cid-3zbxo6iv]{gap:20px;font-size:.8rem;flex-wrap:wrap}footer[data-astro-cid-3zbxo6iv]{margin-top:60px}}@media (max-width: 500px){.nav-menu[data-astro-cid-3zbxo6iv]{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:15px}.nav-menu[data-astro-cid-3zbxo6iv] a[data-astro-cid-3zbxo6iv]{text-align:center;padding:8px;border:1px solid rgba(47,84,235,.2);border-radius:2px}.nav-menu[data-astro-cid-3zbxo6iv] a[data-astro-cid-3zbxo6iv]:hover,.nav-menu[data-astro-cid-3zbxo6iv] a[data-astro-cid-3zbxo6iv].active{background:#2f54eb0d;border-color:var(--blue)}.nav-menu[data-astro-cid-3zbxo6iv] a[data-astro-cid-3zbxo6iv]:after{display:none}}
