@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;500&display=swap";:root{--text-primary: #111111;--text-secondary: #666666;--text-tertiary: #999999;--bg-primary: #ffffff;--bg-secondary: #f6f6f6;--bg-code: #fafafa;--accent-black: #000000;--grid-color: rgba(0, 0, 0, .04);--border-light: rgba(0, 0, 0, .06);--font-main: "Inter", "Noto Sans JP", sans-serif;--font-mono: "Source Code Pro", monospace;--card-radius: 16px;--content-width: 720px;--wide-width: 960px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-main);background-color:var(--bg-primary);color:var(--text-primary);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.grid-bg{position:fixed;inset:0;background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:80px 80px;z-index:-2;pointer-events:none}.header{position:fixed;top:0;left:0;right:0;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:1000;border-bottom:1px solid var(--border-light)}.nav-left{display:flex;align-items:center;gap:2.5rem}.logo-container{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.15rem;text-decoration:none;color:var(--text-primary)}.logo-icon{width:22px;height:22px;background:#000;clip-path:polygon(50% 0%,90% 50%,50% 100%,10% 50%);position:relative}.logo-icon:after{content:"";position:absolute;inset:5px;background:#fff;clip-path:polygon(50% 0%,90% 50%,50% 100%,10% 50%)}.nav-links{display:flex;gap:1.5rem}.nav-links a{text-decoration:none;color:var(--text-secondary);font-size:.88rem;font-weight:500;transition:color .2s}.nav-links a:hover{color:#000}.nav-right{display:flex;align-items:center;gap:1rem}.search-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--border-light);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.search-btn:hover{background:var(--bg-secondary)}.article-wrapper{padding-top:64px}.article-hero{max-width:var(--wide-width);margin:0 auto;padding:80px 24px 0}.article-category{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);border:1px solid rgba(0,0,0,.12);padding:4px 12px;border-radius:4px;margin-bottom:20px}.article-title{font-size:3.2rem;font-weight:800;line-height:1.12;letter-spacing:-1.5px;margin-bottom:24px;max-width:800px}.article-subtitle{font-size:1.15rem;color:var(--text-secondary);line-height:1.7;max-width:640px;margin-bottom:40px}.article-meta{display:flex;align-items:center;gap:24px;padding-bottom:40px;border-bottom:1px solid var(--border-light)}.meta-item{display:flex;flex-direction:column;gap:2px}.meta-label{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.meta-value{font-size:.85rem;color:var(--text-secondary)}.article-body-wrapper{max-width:var(--wide-width);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:200px 1fr;gap:64px;align-items:start}.toc{position:sticky;top:96px;padding-top:48px}.toc-title{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:16px}.toc-list{list-style:none;display:flex;flex-direction:column}.toc-list li a{display:block;padding:6px 0 6px 12px;font-size:.8rem;color:var(--text-tertiary);text-decoration:none;border-left:2px solid transparent;transition:all .2s;line-height:1.4}.toc-list li a:hover{color:var(--text-primary)}.toc-list li a.active{color:var(--text-primary);font-weight:600;border-left-color:#000}.toc-list li.toc-h3 a{padding-left:24px;font-size:.76rem}.article-content{max-width:var(--content-width);padding:48px 0 120px;font-size:1.05rem;line-height:1.85;color:#1a1a1a}.article-content h2{font-size:1.8rem;font-weight:800;letter-spacing:-.5px;margin-top:64px;margin-bottom:24px;line-height:1.25;scroll-margin-top:96px}.article-content h3{font-size:1.3rem;font-weight:700;margin-top:48px;margin-bottom:16px;line-height:1.3;scroll-margin-top:96px}.article-content p{margin-bottom:24px}.article-content a{color:var(--text-primary);text-decoration:underline;text-underline-offset:2px;text-decoration-color:#00000040;transition:text-decoration-color .2s}.article-content a:hover{text-decoration-color:#000c}.article-content strong{font-weight:700}.article-content blockquote{margin:32px 0;padding:24px 28px;border-left:3px solid #000;background:var(--bg-secondary);border-radius:0 12px 12px 0}.article-content blockquote p{margin-bottom:0;color:var(--text-secondary);font-size:1rem;font-style:italic}.article-content code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-secondary);padding:2px 6px;border-radius:4px;color:#333}.article-content pre{margin:32px 0;border-radius:12px;overflow:hidden}.article-content pre code{display:block;padding:20px 24px;font-size:.85rem;line-height:1.65;overflow-x:auto;background:transparent;border-radius:0;color:inherit}.article-content figure{margin:48px 0}.article-content img{width:100%;border-radius:12px}.article-content figcaption{margin-top:12px;font-size:.82rem;color:var(--text-tertiary);text-align:center;line-height:1.5}.article-content .math-display{margin:36px 0;padding:28px 32px;background:var(--bg-secondary);border-radius:12px;overflow-x:auto;text-align:center}.article-content .katex-display{margin:36px 0;padding:28px 32px;background:var(--bg-secondary);border-radius:12px;overflow-x:auto}.article-content .katex-display>.katex{font-size:1.15em}.article-content table{width:100%;margin:32px 0;border-collapse:collapse;font-size:.9rem}.article-content thead{border-bottom:2px solid #000}.article-content th{text-align:left;padding:12px 16px;font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.article-content td{padding:12px 16px;border-bottom:1px solid var(--border-light);color:var(--text-secondary)}.article-content tbody tr:hover{background:var(--bg-secondary)}.article-content ul,.article-content ol{margin-bottom:24px;padding-left:24px}.article-content li{margin-bottom:8px}.article-content hr{border:none;border-top:1px solid var(--border-light);margin:48px 0}.article-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:48px;padding-top:32px;border-top:1px solid var(--border-light)}.tag{font-size:.78rem;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);padding:5px 14px;border-radius:6px;text-decoration:none;transition:all .2s}.tag:hover{background:#eee;color:var(--text-primary)}.article-footer{max-width:var(--wide-width);margin:0 auto;padding:0 24px 80px}.related-title{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:24px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.related-card{padding:28px;border:1px solid var(--border-light);border-radius:12px;text-decoration:none;color:inherit;transition:all .25s}.related-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0000000f}.related-card .rc-category{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:10px}.related-card h4{font-size:1.05rem;font-weight:700;line-height:1.35;margin-bottom:10px;letter-spacing:-.3px}.related-card .rc-date{font-size:.78rem;color:var(--text-tertiary)}.site-footer{padding:48px 5%;border-top:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;color:var(--text-tertiary);font-size:.8rem}.footer-links{display:flex;gap:24px}.footer-links a{color:var(--text-tertiary);text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--text-primary)}.progress-bar{position:fixed;top:64px;left:0;height:2px;background:#000;z-index:999;transition:width .1s linear}@media(max-width:900px){.article-body-wrapper{grid-template-columns:1fr;gap:0}.toc{display:none}.article-title{font-size:2.2rem;letter-spacing:-.8px}.article-hero{padding-top:48px}.article-meta{flex-wrap:wrap;gap:16px}.related-grid{grid-template-columns:1fr}.site-footer{flex-direction:column;gap:16px;text-align:center}}@media(max-width:600px){.article-title{font-size:1.8rem}.nav-links{display:none}}
