@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Noto+Sans+JP:wght@400;500;700&display=swap";*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;touch-action:manipulation}:root{--background: #ffffff;--surface: #f6f8fa;--elevated: #eaeef2;--text-main: #1f2328;--text-muted: #656d76;--border-color: #d0d7de;--accent-blue: #0e7490;--accent-rev: #22d3ee;--accent-secondary: #2563eb;--code-bg: #f6f8fa;--code-text: #cf222e;--spec-label: #0e7490;--text-yellow-custom: #9a6700;--category-title: #0e7490;--badge-bg: #eaeef2;--badge-text: #656d76;--radius: 4px;--max-width: 1800px;--glass-bg: #ffffff;--glass-blur: none;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--font-sans: -apple-system, BlinkMacSystemFont, "游ゴシック", "Yu Gothic", YuGothic, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif}html.dark{--background: #0d1117;--surface: #161b22;--elevated: #21262d;--text-main: #e6edf3;--text-muted: #7d8590;--border-color: #30363d;--accent-blue: #22d3ee;--accent-rev: #0e7490;--accent-secondary: #60a5fa;--code-bg: #161b22;--code-text: #ff7b72;--spec-label: var(--accent-blue);--text-yellow-custom: #d29922;--category-title: var(--accent-blue);--badge-bg: #21262d;--badge-text: var(--text-muted);--glass-bg: #161b22;--glass-blur: none}html{background-color:var(--background);color:var(--text-main);font-family:var(--font-sans);line-height:1.6;transition:background-color .3s ease,color .3s ease;scroll-padding-top:80px;scrollbar-gutter:stable;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@supports not (scrollbar-gutter: stable){html{overflow-y:scroll}}main{max-width:var(--max-width);margin:0 auto;padding:3rem 1.5rem}h1,h2,h3,h4,h5{color:var(--text-main);line-height:1.3;margin-top:2.5rem;margin-bottom:1rem;font-weight:700;letter-spacing:0}h1{font-size:2.5rem;color:var(--accent-blue);display:inline-block}h2{position:relative;display:block;width:100%;margin-top:4rem;margin-bottom:1.5rem;border:none!important;padding-bottom:5px}h2:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0%;background-color:var(--accent-blue);transition:width .8s ease-out}h2.visible:after{width:100%}.prose-content h3{font-size:1.5rem;color:var(--text-main);padding:.5rem .8rem;border-left:5px solid var(--accent-blue);border-bottom:1px solid var(--border-color);margin-top:2.5rem;margin-bottom:1.5rem}h4{font-size:1.25rem}p{margin-bottom:1.5rem;color:var(--text-main)}strong,b{color:var(--text-main);font-weight:700}a{color:var(--accent-blue);text-decoration:underline;text-underline-offset:4px;transition:color .2s ease}a:hover{color:var(--accent-secondary)}img{max-width:100%;height:auto;border-radius:var(--radius);box-shadow:0 4px 20px #00000026}code{font-family:var(--font-mono);background-color:var(--code-bg);color:var(--code-text);border:1px solid var(--border-color);padding:.2em .4em;border-radius:4px;font-size:.9em}pre{background-color:#1e293b;padding:1.5rem;border-radius:var(--radius);overflow-x:auto;border:1px solid rgba(255,255,255,.1)}pre>code{background:none;color:#f8fafc;padding:0;border:none}blockquote{border-left:4px solid var(--accent-blue);background:#0ea5e91a;margin:1.5rem 0;padding:1rem 1.5rem;border-radius:0 var(--radius) var(--radius) 0;color:var(--text-muted)}hr{border:none;border-top:1px solid var(--border-color);margin:3rem 0}@media(max-width:720px){main{padding:2rem 1rem}h1{font-size:2rem}}.spec-label{color:var(--spec-label);font-weight:800}.text-yellow,.text-yellow-small{color:var(--text-yellow-custom);font-weight:700}.category-title{color:var(--category-title)}.mission-title{font-weight:700}html:not(.dark) .mission-title{color:#1e293b}.coming-soon-badge{background:var(--badge-bg);color:var(--badge-text);border:1px solid var(--border-color)}html.theme-transitioning::view-transition-old(root),html.theme-transitioning::view-transition-new(root){animation:none;mix-blend-mode:normal}html.theme-transitioning::view-transition-old(root){z-index:1}html.theme-transitioning::view-transition-new(root){z-index:9999;animation:circle-reveal .5s ease-in-out}@keyframes circle-reveal{0%{clip-path:circle(0% at var(--tx, 50%) var(--ty, 50%))}to{clip-path:circle(150% at var(--tx, 50%) var(--ty, 50%))}}.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}
