@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700&family=JetBrains+Mono:wght@400;500&family=Noto+Sans+JP:wght@400;600;700&display=swap";:root{--color-bg: #ffffff;--color-text: #000000;--color-muted: #6b7280;--color-muted-hover: #4b5563;--color-accent: #0bb783;--color-accent-light: #e6f7f2;--color-border: #dadada;--font-sans: "Bricolage Grotesque", "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--max-width: 860px;--radius: 10px;--ease: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.75;font-size:1rem;-webkit-font-smoothing:antialiased}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.site-header{border-bottom:1px solid var(--color-border);height:64px;display:flex;align-items:center;position:sticky;top:0;background:#ffffffeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:100}.site-header .container{display:flex;align-items:center;justify-content:space-between}.logo{font-weight:700;font-size:1rem;color:var(--color-text);text-decoration:none;letter-spacing:-.01em;transition:opacity .15s}.logo:hover{opacity:.7}.logo span{color:var(--color-accent)}nav a{color:var(--color-muted);text-decoration:none;font-size:.875rem;font-weight:500;transition:color .15s}nav a:hover{color:var(--color-text)}.site-footer{border-top:1px solid var(--color-border);padding:2rem 0;margin-top:5rem;color:var(--color-muted);font-size:.8125rem}.site-footer p+p{margin-top:.375rem}.site-footer a{color:var(--color-muted);text-decoration:none;font-weight:500;position:relative;transition:color .15s}.site-footer a:hover{color:var(--color-accent)}.site-desc{font-size:.8125rem;color:var(--color-muted);padding-top:1.75rem}.article-grid{display:grid;overflow:hidden;gap:1rem}.article-card{display:flex;min-height:10rem;flex-direction:row;align-items:stretch;padding:0;background:var(--color-bg);transition:background .15s,border-color .15s;position:relative;border-radius:4px}.article-card:hover{background:var(--color-accent-light)}.card-body{flex:1;width:100%;padding:2rem;display:flex;flex-direction:column;gap:.4rem;border:1px solid var(--color-border);border-radius:0 4px 4px 0}.card-thumbnail{width:16rem;min-height:10rem;flex-shrink:0;object-fit:cover;border-radius:4px 0 0 4px;display:block}.card-title-link{text-decoration:none;color:inherit}.card-title{font-size:1rem;font-weight:600;line-height:1.4;transition:color .15s}.card-title-link:hover .card-title{color:var(--color-accent)}.card-meta{display:flex;align-items:center;gap:.5rem}.card-stamp{display:inline-block;font-size:.6875rem;font-variant-numeric:tabular-nums;color:var(--color-muted);letter-spacing:.02em;flex-shrink:0}.card-breadcrumb{display:flex;align-items:center;gap:.3rem;font-size:.6875rem;color:var(--color-muted);min-width:0;overflow:hidden;cursor:pointer}.bc-section{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.bc-sep{flex-shrink:0;opacity:.5}.bc-node{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:2}.card-breadcrumb:hover{color:var(--color-accent)}.article-card .tag{cursor:pointer;font-size:.6875rem}.card-tags,.tags{display:flex;flex-wrap:wrap;gap:.25rem}.tag{font-size:.6875rem;background:transparent;color:var(--color-muted);font-weight:500;transition:border-color .15s,color .15s}.article-card .tag:hover{border-color:var(--color-accent);color:var(--color-accent)}.article{padding-top:2.5rem;padding-bottom:4rem}.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem;font-size:.8125rem;color:var(--color-muted);padding-bottom:1.5rem}.article-body{max-width:100%;overflow-wrap:break-word}.article-back{margin-top:3rem}.article-thumbnail{width:100%;max-height:18rem;flex-shrink:0;object-fit:cover;object-position:center;border-radius:8px;margin:2rem 0;display:block}.back-btn{font-size:.875rem;font-weight:500;color:var(--color-muted);text-decoration:none;transition:color .15s}.back-btn:hover{color:var(--color-accent)}.article-body h1{font-size:1.625rem;font-weight:700;margin:2.5rem 0 1rem;letter-spacing:-.02em;line-height:1.3}.article-body h2{font-size:1.25rem;font-weight:700;margin:2.5rem 0 .75rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-border);letter-spacing:-.01em}.article-body h3{font-size:1.0625rem;font-weight:600;margin:1.75rem 0 .5rem}.article-body p{margin-bottom:1.25rem}.article-body ul,.article-body ol{padding-left:1.5rem;margin-bottom:1.25rem}.article-body li{margin-bottom:.375rem}.article-body a{color:var(--color-accent);text-decoration:none;font-weight:500}.article-body sup a{color:var(--color-muted)}.article-body sup a:hover{color:var(--color-accent)}.article-body blockquote{border-left:3px solid var(--color-accent);padding:.75rem 1rem;color:var(--color-muted);margin:1.5rem 0;background:var(--color-accent-light);border-radius:0 4px 4px 0}.article-body table{width:100%;border-collapse:collapse;margin-bottom:1.5rem;font-size:.9rem;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.article-body th,.article-body td{padding:.5rem .875rem;border-bottom:1px solid var(--color-border);text-align:left}.article-body tr:last-child td{border-bottom:none}.article-body th{background:#f5f5f5;font-weight:600;font-size:.8125rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.tag-filter{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1rem}.filter-btn{font-family:var(--font-sans);font-size:.75rem;font-weight:500;padding:.25rem .75rem;border:1px solid var(--color-border);border-radius:999px;background:transparent;color:var(--color-muted);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.filter-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.filter-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.filter-empty{font-size:.875rem;color:var(--color-muted);padding:1.5rem 0;text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius)}.tab-nav{display:flex;margin-top:1.5rem;border-bottom:2px solid var(--color-border)}.tab-btn{font-family:var(--font-sans);font-size:.875rem;font-weight:500;padding:.75rem 1.25rem;border:none;background:transparent;color:var(--color-muted);cursor:pointer;position:relative;transition:color .15s}.tab-btn:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--color-accent);transform:scaleX(0);transition:transform .2s var(--ease)}.tab-btn:hover{color:var(--color-accent)}.tab-btn.active{color:var(--color-accent);font-weight:600}.tab-btn.active:after{transform:scaleX(1)}.tab-panel{padding-top:1.5rem}.tree-view{display:flex;flex-direction:column}.tree-section-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.tree-section-id{font-size:.6875rem;font-weight:600;color:var(--color-muted);min-width:1.25rem;font-variant-numeric:tabular-nums}.tree-section-label{font-size:.875rem;font-weight:600;color:var(--color-text);flex:1}.tree-article-count{font-size:.6875rem;color:var(--color-accent);font-weight:600}.tree-nodes{list-style:none;padding:.25rem 0 .5rem}.tree-node{display:flex;align-items:flex-start;gap:.75rem;padding:.3rem 0 .3rem 1.5rem}.node-id{font-size:.6875rem;color:var(--color-muted);min-width:2rem;padding-top:.1rem;font-variant-numeric:tabular-nums;flex-shrink:0}.node-label{font-size:.8125rem;color:var(--color-muted);flex:1;line-height:1.5}.tree-node.has-articles .node-label{color:var(--color-text)}.node-articles{display:flex;flex-wrap:wrap;gap:.25rem;padding-top:.05rem}.node-article-chip{font-size:.6875rem;padding:.1rem .375rem;color:var(--color-accent);border:1px solid var(--color-accent);border-radius:3px;text-decoration:none;font-weight:500;transition:background .12s,color .12s;white-space:nowrap}.node-article-chip:hover{background:var(--color-accent);color:#fff}.node-selector{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;flex:1}.node-selector:hover .node-label,.node-selector:hover .node-id{color:var(--color-accent)}.tree-section-header[data-action]{cursor:pointer}.tree-section-header[data-action]:hover .tree-section-label{color:var(--color-accent)}.tree-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}#tree-results-label{font-size:.875rem;font-weight:600;color:var(--color-text)}#tree-results-clear{font-family:var(--font-sans);font-size:.75rem;color:var(--color-muted);background:transparent;border-style:none;padding:.15rem .6rem;cursor:pointer;transition:color .15s}#tree-results-clear:hover{color:var(--color-accent)}.article-cta{margin:3rem 0 2rem;border:1px solid var(--color-accent);border-radius:var(--radius);overflow:hidden}.cta-inner{padding:1.75rem 2rem;background:var(--color-accent-light);display:flex;flex-direction:column;gap:.75rem}.cta-headline{font-size:1rem;font-weight:700;color:var(--color-text);margin-bottom:0}.cta-body{color:var(--color-muted);line-height:1.7;margin-bottom:0}.article-body .cta-btn{align-self:flex-start;display:inline-block;margin-top:.25rem;padding:.55rem 1.25rem;background:var(--color-accent);color:#fff;font-size:.875rem;font-weight:700;border-radius:999px;text-decoration:none;transition:opacity .15s}.cta-btn:hover{opacity:.85}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:3px}@media(max-width:640px){.container{padding:0 1rem}.tab-nav{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tab-nav::-webkit-scrollbar{display:none}.tab-btn{padding:.75rem 1rem;font-size:.8125rem;white-space:nowrap}.article-card{flex-direction:column;min-height:auto}.card-thumbnail{width:100%;height:12rem;min-height:0;border-radius:4px 4px 0 0}.card-body{border-radius:0 0 4px 4px;padding:1.25rem}.article-thumbnail{max-height:12rem;margin:1.25rem 0}.article>h1{font-size:1.25rem;letter-spacing:-.01em;line-height:1.4}.article-meta{flex-direction:column;align-items:flex-start;gap:.375rem;padding-top:.75rem;padding-bottom:1rem}.article-body h2{font-size:1.125rem;margin-top:2rem}.article-body h3{font-size:1rem}.tree-node{padding-left:.75rem}}
