:root{--ground:#f4f3ef;--surface:#fffefb;--surface-2:#faf9f5;--ink:#17191d;--muted:#5b6069;--faint:#676c76;--line:#e0ded7;--line-2:#eceae3;--accent:#4a5d23;--accent-ink:#3b4a1c;--s-latency:#2a6f8f;--s-measure:#4a5d23;--s-model:#8a4287;--s-specialist:#93611e;--s-deep:#b0453a;--head-h:56px;--mono:ui-monospace,"SF Mono","JetBrains Mono","Menlo",monospace;--sans:system-ui,-apple-system,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,"Noto Sans JP",sans-serif;--serif:"Iowan Old Style","Hiragino Mincho ProN","Yu Mincho",serif;--measure:40rem}@media(prefers-color-scheme:dark){:root{--ground:#101215;--surface:#181b1e;--surface-2:#14171a;--ink:#e9e7e1;--muted:#9aa0a9;--faint:#7e848d;--line:#2a2e34;--line-2:#22252a;--accent:#8eb243;--accent-ink:#a5c563;--s-latency:#5fb0d6;--s-measure:#8eb243;--s-model:#d183cd;--s-specialist:#e0a94e;--s-deep:#e87c6f}}:root[data-theme=dark]{--ground:#101215;--surface:#181b1e;--surface-2:#14171a;--ink:#e9e7e1;--muted:#9aa0a9;--faint:#7e848d;--line:#2a2e34;--line-2:#22252a;--accent:#8eb243;--accent-ink:#a5c563;--s-latency:#5fb0d6;--s-measure:#8eb243;--s-model:#d183cd;--s-specialist:#e0a94e;--s-deep:#e87c6f}:root[data-theme=light]{--ground:#f4f3ef;--surface:#fffefb;--surface-2:#faf9f5;--ink:#17191d;--muted:#5b6069;--faint:#676c76;--line:#e0ded7;--line-2:#eceae3;--accent:#4a5d23;--accent-ink:#3b4a1c;--s-latency:#2a6f8f;--s-measure:#4a5d23;--s-model:#8a4287;--s-specialist:#93611e;--s-deep:#b0453a}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);line-height:1.75;font-size:17px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.wrap{max-width:var(--measure);margin:0 auto;padding:0 20px}a{color:var(--accent-ink);text-underline-offset:2px}a:hover{text-decoration-thickness:2px}.site-head{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.site-head{background:var(--surface-2)}}.site-head .bar{max-width:64rem;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:14px}.brand{display:flex;align-items:center;gap:15px;font-weight:750;letter-spacing:-.01em;text-decoration:none;color:var(--ink)}.brand-logo{height:20px;width:auto;display:block}@media(prefers-color-scheme:dark){.brand-logo{filter:invert(1)}}:root[data-theme=dark] .brand-logo{filter:invert(1)}:root[data-theme=light] .brand-logo{filter:none}.brand .tag{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--muted)}.site-head nav{margin-left:auto;display:flex;gap:18px;font-family:var(--mono);font-size:13px}.site-head nav a{color:var(--muted);text-decoration:none}.site-head nav a:hover{color:var(--accent-ink)}.site-head nav a.lang{color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:3px 10px;line-height:1.5}.site-head nav a.lang:hover{border-color:var(--accent-ink);color:var(--accent-ink)}.site-head nav a{white-space:nowrap}@media(max-width:560px){.site-head .bar{gap:10px;padding:12px 14px}.brand{gap:9px}.brand .tag{display:none}.site-head nav{gap:13px;font-size:12px}.site-head nav a.lang{padding:3px 8px}}@media(max-width:400px){.site-head .bar{gap:8px;padding:12px 10px}.brand-logo{height:17px}.site-head nav{gap:11px;font-size:11.5px}}:target{scroll-margin-top:var(--head-h)}.prose h2[id],.prose h3[id],.prose h4[id]{scroll-margin-top:var(--head-h)}.site-foot{border-top:1px solid var(--line);margin-top:64px;padding:32px 0 60px;color:var(--faint);font-family:var(--mono);font-size:12.5px}.hero{padding:56px 0 20px}.hero .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-ink);font-weight:600}.hero h1{font-size:clamp(28px,5vw,44px);line-height:1.12;margin:.35em 0 .3em;font-weight:760;letter-spacing:-.015em;text-wrap:balance}.hero p{color:var(--muted);font-size:18px;max-width:34em;margin:0}.hero h1.split{font-size:clamp(24px,5vw,44px)}.hero h1.split span{display:inline-block;white-space:nowrap}.featured{scroll-margin-top:var(--head-h);display:block;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:14px;padding:22px 24px;margin:8px 0 6px;transition:border-color .15s,background .15s}.featured:hover{border-color:var(--accent);background:var(--surface-2)}.featured-tag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);font-weight:700}.featured-title{font-size:clamp(20px,3.2vw,27px);font-weight:750;letter-spacing:-.01em;line-height:1.2;margin:.35em 0 .25em;text-wrap:balance}.featured-sub{color:var(--muted);font-size:15.5px;line-height:1.6}.featured-cta{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--accent-ink);margin-top:14px}.cases{margin:34px 0 6px;padding-top:26px;border-top:2px solid var(--line)}.cs-lead{color:var(--muted);font-size:15px;margin:0}.cs-lead strong{color:var(--ink)}.series-index{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}.series-index a{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:650;color:var(--ink);text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:7px 14px;transition:border-color .15s,background .15s}.series-index a:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--s,var(--accent));flex:none}.series-index a:hover{border-color:var(--s,var(--accent));background:var(--surface-2)}.series-index .n{font-family:var(--mono);font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums}.series-block{padding:14px 0 8px;scroll-margin-top:var(--head-h)}.series-block>h2{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--s,var(--accent));font-weight:700;margin:28px 0 6px;display:flex;align-items:center;gap:12px}.series-block>h2:after{content:"";flex:1;height:1px;background:var(--line)}.post-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.post-list li a{display:flex;gap:16px;align-items:baseline;padding:13px 12px;border-radius:9px;text-decoration:none;color:var(--ink)}.post-list li a:hover{background:var(--surface-2)}.post-list .body{display:flex;flex-direction:column}.post-list .no{font-family:var(--mono);font-weight:700;color:var(--s,var(--accent));font-size:14px;min-width:4.2em;font-variant-numeric:tabular-nums;align-self:flex-start;padding-top:1px}.post-list .no .rt{display:block;font-weight:500;font-size:10.5px;color:var(--faint);margin-top:3px}.post-list .pt{font-weight:650;font-size:17px;line-height:1.4}.post-list .pd{color:var(--muted);font-size:13.5px;margin-top:2px}.post-list .draft{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--faint);border:1px solid var(--line);border-radius:4px;padding:1px 6px;margin-left:8px}.search-head{padding:44px 0 4px}.search-head .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-ink);font-weight:600}.search-head h1{font-size:clamp(24px,4vw,34px);line-height:1.15;margin:.3em 0 .6em;font-weight:760;letter-spacing:-.015em}.search-form{display:flex;gap:8px;margin:0}.search-form.compact{margin:0;max-width:34em}.hero-search{margin-top:26px;max-width:34em}.hs-label{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:8px}.hs-popular{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:11px}.hs-cap{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--faint);margin-right:2px}.hs-popular a{font-size:12.5px;color:var(--muted);text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px 11px;transition:border-color .15s,color .15s}.hs-popular a:hover{border-color:var(--accent);color:var(--accent-ink)}.search-form input{flex:1;min-width:0;font:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:11px 14px}.search-form input::placeholder{color:var(--faint)}.search-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.search-form button{display:grid;place-items:center;width:46px;flex:0 0 46px;color:var(--surface);background:var(--accent);border:1px solid var(--accent);border-radius:10px;cursor:pointer}.search-form button:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.search-form button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.search-hint{color:var(--faint);font-size:13px;margin:10px 0 0}.tag-cloud{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0}.tag-chip{font-family:var(--mono);font-size:12px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line-2);border-radius:6px;padding:3px 9px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.tag-chip:hover{border-color:var(--accent);color:var(--accent-ink)}.tag-chip .tag-n{color:var(--faint);font-size:11px;font-variant-numeric:tabular-nums}.search-count{font-family:var(--mono);font-size:12px;color:var(--faint);margin:22px 0 0;padding-top:14px;border-top:1px solid var(--line-2)}.search-count.search-error{color:var(--s-deep)}.results{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.results li{--s:var(--accent)}.results li[data-series=measurement-journey]{--s:var(--s-measure)}.results li[data-series=deep-dive]{--s:var(--s-deep)}.results li[data-series=specialist]{--s:var(--s-specialist)}.results li[data-series=sweep-pareto]{--s:var(--s-latency)}.results li[data-series=edge-ocr]{--s:var(--s-model)}.results a{display:block;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--s);border-radius:12px;padding:14px 18px 16px;transition:border-color .15s,background .15s}.results a:hover{border-color:var(--accent);border-left-color:var(--s);background:var(--surface-2)}.results .rmeta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-family:var(--mono);font-size:11px;letter-spacing:.03em;color:var(--faint);font-variant-numeric:tabular-nums}.results .rseries{color:var(--s);font-weight:700}.results .rno{color:var(--ink);font-weight:700}.results .rseries:before,.results .rdate:before,.results .rmin:before{content:"·";margin-right:10px;color:var(--line)}.results .rmin{color:var(--muted)}.results .pt{display:block;font-weight:700;font-size:17px;line-height:1.42;letter-spacing:-.01em;margin:7px 0 5px}.results .pd{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:13.5px;line-height:1.65}.results .ps{display:block;margin-top:11px;padding:9px 12px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:8px;color:var(--muted);font-size:12.5px;line-height:1.7}.results a:hover .ps{background:var(--ground)}.results mark{background:color-mix(in srgb,var(--accent) 26%,transparent);color:var(--ink);font-weight:650;border-radius:3px;padding:0 2px}.search-empty{color:var(--muted);font-size:14px;padding:22px 4px;border:1px dashed var(--line);border-radius:12px;text-align:center}.article-head{padding:44px 0 8px}.article-head .kicker{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);font-weight:600;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.article-head .kicker{flex-direction:column;align-items:flex-start;gap:5px;text-transform:none}.article-head .kicker .note-brand{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);font-weight:600}.article-head .kicker .note-id{display:flex;align-items:baseline;font-size:16px;letter-spacing:0}.article-head .kicker .note-no{font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}.article-head .kicker .note-series{font-weight:700;color:var(--s,var(--accent-ink));font-family:var(--sans);text-decoration:none;border-bottom:1px solid transparent}.article-head .kicker .note-series:hover{border-bottom-color:currentColor}.article-head .kicker .note-series:before{content:"｜";color:var(--line);font-weight:400}.article-head .kicker .part{color:var(--faint)}.article-head h1{font-size:clamp(27px,4.6vw,40px);line-height:1.14;margin:.4em 0 .25em;font-weight:760;letter-spacing:-.015em;text-wrap:balance}.article-head .sub{color:var(--muted);font-size:18px;margin:0 0 14px;font-style:italic;font-family:var(--serif)}.article-head .meta{font-family:var(--mono);font-size:12px;color:var(--faint);display:flex;flex-wrap:wrap;gap:6px 14px;border-top:1px dashed var(--line);padding-top:12px}.article-head .tags{display:flex;flex-wrap:wrap;gap:6px}.article-head .tags a{display:inline-block;background:var(--surface-2);border:1px solid var(--line-2);border-radius:5px;padding:1px 7px;color:var(--muted);text-decoration:none;transition:border-color .15s,color .15s}.article-head .tags a:hover{border-color:var(--accent);color:var(--accent-ink)}.prose{padding:8px 0}.prose>*{max-width:var(--measure)}.prose h2{font-size:1.5rem;font-weight:720;letter-spacing:-.01em;margin:2.2em 0 .6em;text-wrap:balance;line-height:1.3}.prose h3{font-size:1.18rem;font-weight:700;margin:1.8em 0 .5em}.prose h2:before{content:"";display:block;width:34px;height:3px;background:var(--accent);border-radius:2px;margin-bottom:.5em}.prose p{margin:0 0 1.15em}.prose strong{font-weight:700;color:var(--ink)}.prose em{font-family:var(--serif)}.prose ul,.prose ol{margin:0 0 1.15em;padding-left:1.4em}.prose li{margin:.3em 0}.prose blockquote{margin:1.4em 0;padding:14px 18px;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:0 10px 10px 0;font-family:var(--serif);font-size:1.05rem;color:var(--ink)}.prose blockquote p{margin:0}.prose a{font-weight:500}.prose hr{border:none;border-top:1px solid var(--line);margin:2.4em 0}.prose figure{margin:1.8em 0}.prose figure img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.prose figcaption{color:var(--muted);font-size:13px;line-height:1.75;margin-top:10px}.prose figcaption strong{color:var(--ink)}.prose h3+p,.prose h2+p{margin-top:0}.prose :not(pre)>code{font-family:var(--mono);font-size:.86em;background:var(--surface-2);border:1px solid var(--line-2);border-radius:5px;padding:.1em .38em;word-break:break-word}.prose pre{max-width:100%;overflow-x:auto;padding:15px 17px;border-radius:11px;border:1px solid var(--line);font-size:13.5px;line-height:1.6;margin:1.4em 0}.prose pre code{font-family:var(--mono);background:none;border:0;padding:0;font-size:inherit}.prose .table-wrap,.prose>table{max-width:100%}.prose .table-scroll{overflow-x:auto;margin:1.4em 0}.prose .table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.prose table{border-collapse:collapse;width:100%;font-size:14.5px;font-variant-numeric:tabular-nums}.prose thead th{font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--faint);font-weight:600;text-align:left;background:var(--surface-2);white-space:nowrap}.prose th,.prose td{padding:9px 13px;border-bottom:1px solid var(--line-2);vertical-align:top}.prose tbody tr:hover td{background:var(--surface-2)}.prose td:not(:first-child){font-variant-numeric:tabular-nums}.series-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:40px 0 0}.series-nav a{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:11px;text-decoration:none;background:var(--surface);color:var(--ink)}.series-nav a:hover{border-color:var(--accent);background:var(--surface-2)}.series-nav .dir{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.series-nav .t{font-weight:650;font-size:15px;margin-top:3px;line-height:1.35}.series-nav .next{text-align:right}.series-nav .empty{border-style:dashed;opacity:.5}@media(max-width:560px){.series-nav{grid-template-columns:1fr}.series-nav .next{text-align:left}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
