@font-face{font-family:OV JetBrains Mono;src:url(/assets/JetBrainsMono-D-8-_w7P.woff2) format("woff2");font-weight:400 500;font-style:normal;font-display:swap}@font-face{font-family:TsangerJinKai02;src:url(/assets/TsangerJinKai02-W04-DXmF_ljq.ttf) format("truetype"),url(https://cdn.jsdelivr.net/gh/tw93/Kami@main/assets/fonts/TsangerJinKai02-W04.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:TsangerJinKai02;src:url(/assets/TsangerJinKai02-W05-DUsU6zNm.ttf) format("truetype"),url(https://cdn.jsdelivr.net/gh/tw93/Kami@main/assets/fonts/TsangerJinKai02-W05.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}:root{--font-latin-serif: Charter, Georgia, Palatino, "Times New Roman", "TsangerJinKai02", "Source Han Serif SC", "Noto Serif CJK SC", "Songti SC", serif;--font-cjk-serif: "TsangerJinKai02", "Source Han Serif SC", "Noto Serif CJK SC", "Songti SC", "STSong", Georgia, serif;--font-mono: "OV JetBrains Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:clip}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;font-synthesis-weight:none;font-synthesis-style:none}body{font-family:var(--th-font-body);background:var(--th-bg);color:var(--th-ink);font-size:18px;line-height:1.75;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;transition:background .3s ease,color .3s ease;min-height:100vh}img,svg{max-width:100%;display:block}button{font:inherit;color:inherit}.b-article{max-width:var(--th-measure);margin:0 auto;padding:0 24px 120px}.b-h{font-family:var(--th-font-display);color:var(--th-ink);margin:0;font-weight:500;line-height:1.15;letter-spacing:0;text-wrap:balance}.b-h1{font-size:clamp(38px,5.5vw,64px);margin:0 0 24px}.b-h2{font-size:clamp(28px,3.6vw,40px);margin:64px 0 20px}.b-h3{font-size:clamp(22px,2.4vw,28px);margin:48px 0 16px}.b-h4{font-size:20px;margin:32px 0 12px}.b-eyebrow{display:block;font-family:var(--th-font-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--th-mute);margin-bottom:12px;font-weight:500}.b-p{margin:0 0 1.1em;max-width:68ch;text-wrap:pretty}.b-p--drop:first-letter{font-family:var(--th-font-display);font-size:4.6em;line-height:.85;float:left;padding:.05em .1em 0 0;font-weight:500;color:var(--th-accent)}.b-lead{font-size:clamp(20px,2.2vw,24px);line-height:1.45;margin:0 0 32px;color:var(--th-ink);max-width:60ch;text-wrap:pretty}.b-small{font-size:.85em;color:var(--th-mute)}.b-strong{font-weight:500}.b-em{font-style:normal;color:var(--th-accent)}.b-mark{color:var(--th-mark-color, var(--th-ink));background-color:var(--th-mark-bg);border:1px solid var(--th-mark-border);border-radius:999px;padding:.02em .45em .03em;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-weight:500;vertical-align:baseline}.b-code{font-family:var(--th-font-mono);font-size:.88em;padding:2px 6px;background:var(--th-bg-2);border:1px solid var(--th-line);border-radius:4px}.b-kbd{font-family:var(--th-font-mono);font-size:.82em;padding:2px 8px;border:1px solid var(--th-line);border-bottom-width:2px;border-radius:4px;background:var(--th-bg-2)}.b-a{color:var(--th-accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;cursor:pointer}.b-a:hover{text-decoration-thickness:2px}.b-a__ext{display:inline-block;width:.75em;height:.75em;margin-left:2px;transform:translateY(-2px);opacity:.72;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;fill:none;overflow:visible}.b-ul,.b-ol{margin:0 0 1.4em;padding-left:1.6em;max-width:68ch}.b-ul .b-li,.b-ol .b-li{margin:.4em 0}.b-ul--check{list-style:none;padding-left:0}.b-ul--check .b-li{padding-left:1.6em;position:relative}.b-ul--check .b-li:before{content:"✓";position:absolute;left:0;color:var(--th-accent);font-weight:500}.b-dl{margin:0 0 1.4em;max-width:68ch}.b-dt{font-weight:500;margin-top:1em}.b-dd{margin:.2em 0 0;padding-left:1.2em;color:var(--th-mute)}.b-pre{margin:28px 0;border:1px solid var(--th-line);border-radius:var(--th-radius);background:var(--th-bg-2);overflow:hidden}.b-pre__bar{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:color-mix(in oklab,var(--th-bg-2) 80%,var(--th-ink) 8%);border-bottom:1px solid var(--th-line);font-family:var(--th-font-mono);font-size:12px;color:var(--th-mute)}.b-pre__file{color:var(--th-ink)}.b-pre__lang{text-transform:uppercase;letter-spacing:.1em;opacity:.6}.b-pre__code{margin:0;padding:16px 14px;overflow-x:auto;font-family:var(--th-font-mono);font-size:13.5px;line-height:1.7;-moz-tab-size:2;tab-size:2}.b-pre__line{display:flex;gap:16px}.b-pre__ln{color:var(--th-mute);opacity:.5;-webkit-user-select:none;user-select:none;min-width:2ch;text-align:right;flex:0 0 auto}.b-pre__lc{white-space:pre;flex:1 1 auto}.tk-cm{color:var(--th-mute);font-style:normal}.tk-st{color:var(--th-tk-st, var(--th-accent-2))}.tk-nu{color:var(--th-tk-nu, var(--th-accent))}.tk-kw{color:var(--th-tk-kw, var(--th-accent));font-weight:500}.tk-ty{color:var(--th-tk-ty, var(--th-accent-2))}.tk-id{color:var(--th-ink)}.tk-pn{color:var(--th-mute)}.tk-op{color:var(--th-tk-op, var(--th-accent-2))}.b-quote{margin:32px 0;padding:0 0 0 24px;border-left:3px solid var(--th-accent);font-style:normal;font-size:1.1em;line-height:1.5;color:var(--th-ink)}.b-quote__cite{margin-top:12px;font-style:normal;font-size:.85em;color:var(--th-mute);font-family:var(--th-font-mono)}.b-pull{margin:32px 0;padding:24px 0;border-top:1px solid var(--th-line);border-bottom:1px solid var(--th-line);font-family:var(--th-font-display);font-size:clamp(22px,2.6vw,30px);line-height:1.3;color:var(--th-accent);font-weight:500;text-wrap:balance}.b-figure{margin:36px 0}.b-figure__media{background:var(--th-bg-2);border:1px solid var(--th-line);border-radius:var(--th-radius);overflow:hidden}.b-figure--frame .b-figure__media{padding:8px;background:var(--th-bg-2)}.b-figure--bleed{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.b-figure--bleed .b-figure__media{border-radius:0;border-left:0;border-right:0}.b-figure__cap{display:flex;justify-content:space-between;gap:16px;margin-top:10px;font-size:13px;color:var(--th-mute);font-family:var(--th-font-mono)}.b-figure__cap-credit{opacity:.7}.b-callout{margin:24px 0;padding:18px 22px;border:1px solid var(--th-line);border-radius:var(--th-radius);background:var(--th-bg-2);border-left:2px solid var(--th-accent)}.b-callout__label{display:inline-block;font-family:var(--th-font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--th-accent);margin-bottom:8px;font-weight:500}.b-callout__body>:first-child{margin-top:0}.b-callout__body>:last-child{margin-bottom:0}.b-callout--warn{border-color:color-mix(in oklab,var(--th-accent) 60%,var(--th-line))}.b-callout--warn .b-callout__label{color:var(--th-warn)}.b-callout--tip .b-callout__label{color:var(--th-tip)}.b-aside{margin:24px 0;padding:12px 16px;border-left:2px solid var(--th-line);color:var(--th-mute);font-size:.92em}.b-hr{margin:56px auto;border:0;border-top:1px solid var(--th-line);max-width:80px}.b-hr--ornament{max-width:none;border:0;text-align:center;height:1em;position:relative}.b-hr--ornament:before{content:"✦  ✦  ✦";color:var(--th-mute);letter-spacing:.5em;font-size:.8em}.b-spacer--sm{height:12px}.b-spacer--md{height:24px}.b-spacer--lg{height:48px}.b-spacer--xl{height:96px}.b-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--th-line);border-radius:999px;font-family:var(--th-font-mono);font-size:11px;letter-spacing:.06em;color:var(--th-mute);text-decoration:none;background:transparent}a.b-tag:hover{color:var(--th-ink);border-color:var(--th-ink)}.b-cols{display:grid;gap:32px;margin:32px 0}.b-cols--2{grid-template-columns:repeat(2,1fr)}.b-cols--3{grid-template-columns:repeat(3,1fr)}@media(max-width:720px){.b-cols--2,.b-cols--3{grid-template-columns:1fr;gap:24px}}.b-table-wrap{overflow-x:auto;margin:28px 0;border:1px solid var(--th-line);border-radius:var(--th-radius)}.b-table{width:100%;border-collapse:collapse;font-size:14px}.b-table th,.b-table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--th-line)}.b-table thead th{background:var(--th-bg-2);font-family:var(--th-font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--th-mute);font-weight:500}.b-table tr:last-child td{border-bottom:0}.b-toc{font-family:var(--th-font-mono);font-size:12.5px;line-height:1.6}.b-toc__head{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:12px}.b-toc__title{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--th-mute)}.b-toc__hint{margin-top:2px;color:var(--th-mute);font-size:10.5px;letter-spacing:.06em;opacity:.72}.b-toc__toggle{flex:0 0 auto;border:1px solid var(--th-line);border-radius:999px;background:var(--th-bg-2);color:var(--th-mute);cursor:pointer;font-family:var(--th-font-mono);font-size:11px;line-height:1;padding:5px 8px}.b-toc__toggle:hover{color:var(--th-ink);border-color:var(--th-accent)}.b-toc__list{list-style:none;padding:0;margin:0;counter-reset:toc}.b-toc__item{padding:4px 0}.b-toc__item--l3{padding-left:16px}.b-toc__item a{display:flex;color:var(--th-mute);text-decoration:none;padding:2px 8px;margin-left:-8px;border-radius:4px;transition:color .15s}.b-toc__item a:hover{color:var(--th-ink)}.b-toc__item.is-active a{color:var(--th-accent)}.b-toc__text{flex:1 1 auto}.b-progress{position:fixed;top:0;left:0;right:0;height:3px;pointer-events:none;z-index:100;background:transparent}.b-progress:after{content:"";display:block;height:100%;background:var(--th-accent);width:calc(var(--progress, 0) * 100%);transition:width .05s linear}.b-shell{min-height:100vh;display:flex;flex-direction:column}.b-shell__main{flex:1}.b-topbar{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--th-bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--th-line)}.b-topbar__inner{max-width:1280px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:24px}.b-brand{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;color:inherit;text-decoration:none}.b-brand__mark{width:26px;height:26px;border-radius:4px;object-fit:cover;transition:filter .3s}[data-theme=washi] .b-brand__mark{filter:invert(1)}.b-brand__name{font-family:var(--th-font-display);font-weight:500;font-size:17px;letter-spacing:0}.b-brand__sub{font-family:var(--th-font-mono);font-size:11px;letter-spacing:.1em;color:var(--th-mute);margin-left:4px}.b-topbar__nav{margin-left:auto;display:flex;align-items:center;gap:8px}.b-seg{display:inline-flex;padding:2px;background:var(--th-bg-2);border:1px solid var(--th-line);border-radius:999px}.b-seg button{background:transparent;border:0;padding:6px 12px;border-radius:999px;cursor:pointer;font-family:var(--th-font-mono);font-size:11px;letter-spacing:.06em;color:var(--th-mute)}.b-seg button.is-active{background:var(--th-ink);color:var(--th-bg)}.b-mode-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--th-bg-2);border:1px solid var(--th-line);border-radius:999px;cursor:pointer;color:var(--th-ink);transition:border-color .12s}.b-mode-toggle:hover{border-color:var(--th-ink)}@media(max-width:720px){.b-topbar__inner{padding:10px 16px;gap:10px;flex-wrap:nowrap;justify-content:space-between}.b-brand{min-width:0;max-width:calc(100% - 126px);flex:0 1 auto}.b-brand__mark{width:24px;height:24px;flex:0 0 auto}.b-brand__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.b-brand__sub{display:none}.b-topbar__nav{margin-left:0;gap:6px;flex:0 0 auto}.b-seg{flex:0 0 auto}.b-seg button{padding:5px 9px;font-size:10px}.b-mode-toggle{width:34px;height:34px}}.b-hero{padding:96px 24px 64px;max-width:1280px;margin:0 auto}.b-hero__eyebrow{font-family:var(--th-font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--th-mute);margin-bottom:20px}.b-hero__title{font-family:var(--th-font-display);font-size:clamp(48px,8vw,96px);line-height:1.08;letter-spacing:0;margin:0 0 24px;max-width:14ch;text-wrap:balance;font-weight:500}.b-hero__lede{font-size:clamp(18px,1.8vw,22px);line-height:1.5;max-width:56ch;color:var(--th-mute);margin:0 0 32px}.b-hero__meta{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-family:var(--th-font-mono);font-size:12px;color:var(--th-mute);letter-spacing:.06em}.b-hero__meta span{display:inline-flex;align-items:center;gap:8px}.b-hero__meta span+span:before{content:"";width:4px;height:4px;border-radius:999px;background:var(--th-accent);opacity:.55}.b-hero__count{color:var(--th-accent)}@media(max-width:720px){.b-hero{padding:34px 16px 24px}.b-hero__eyebrow{font-size:10px;margin-bottom:12px}.b-hero__title{font-size:40px;line-height:1.12;max-width:11ch;margin-bottom:16px}.b-hero__lede{font-size:16px;line-height:1.45;margin-bottom:18px}.b-hero__meta{gap:10px;font-size:10.5px}}.b-list{max-width:1280px;margin:0 auto;padding:0 24px 96px}.b-list__bar{display:flex;gap:24px;align-items:baseline;flex-wrap:wrap;padding:16px 0;border-top:1px solid var(--th-line);border-bottom:1px solid var(--th-line);margin-bottom:32px;font-family:var(--th-font-mono);font-size:12px;color:var(--th-mute)}.b-list__filters{display:flex;gap:6px;flex-wrap:wrap}.b-list__filter{background:transparent;border:1px solid transparent;padding:4px 10px;border-radius:999px;font:inherit;cursor:pointer;color:var(--th-mute)}.b-list__filter:hover{color:var(--th-ink)}.b-list__filter.is-active{color:var(--th-bg);background:var(--th-ink);border-color:var(--th-ink)}.b-list__more{display:none}.b-list__sort{margin-left:auto}.b-list__sort-short{display:none}.b-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}@media(max-width:720px){.b-card-grid{grid-template-columns:1fr;gap:16px}.b-list{padding:0 16px 64px}.b-list__bar{gap:8px;align-items:center;flex-wrap:nowrap;padding:10px 0;margin-bottom:20px;font-size:11px}.b-list__filters{flex:1 1 auto;min-width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.b-list__filters::-webkit-scrollbar{display:none}.b-list__filters:not(.is-expanded) .b-list__filter:nth-child(n+4){display:none}.b-list__filters.is-expanded{flex-wrap:wrap;overflow-x:visible}.b-list__filter{white-space:nowrap;padding:4px 9px}.b-list__more{display:inline-flex;flex:0 0 auto;border-color:var(--th-line)}.b-list__sort{flex:0 0 auto;margin-left:0}.b-list__sort-full{display:none}.b-list__sort-short{display:inline}}.b-card{display:flex;flex-direction:column;background:var(--th-bg);border:1px solid var(--th-line);border-radius:var(--th-radius);overflow:hidden;cursor:pointer;color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.b-card:hover{transform:translateY(-2px);border-color:var(--th-accent);box-shadow:var(--th-shadow)}.b-card__cover{aspect-ratio:16 / 10;background:var(--th-bg-2);overflow:hidden}.b-card__cover img{width:100%;height:100%;object-fit:cover}.b-card__body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:12px;flex:1}.b-card__meta{display:flex;gap:12px;font-family:var(--th-font-mono);font-size:11px;letter-spacing:.06em;color:var(--th-mute);text-transform:uppercase}.b-card__title{font-family:var(--th-font-display);font-size:clamp(22px,2.4vw,28px);line-height:1.24;margin:0;font-weight:500;text-wrap:balance;letter-spacing:0}.b-card__excerpt{color:var(--th-mute);font-size:15px;line-height:1.5;margin:0;flex:1;max-width:none}.b-card__foot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:8px}.b-card__author{display:flex;align-items:center;gap:8px;font-size:13px}.b-card__avatar{width:24px;height:24px;border-radius:50%}.b-card__tags{display:flex;gap:6px;flex-wrap:wrap}.b-card--featured{grid-column:1 / -1;flex-direction:row}.b-card--featured .b-card__cover{flex:1.2;aspect-ratio:auto}.b-card--featured .b-card__body{flex:1;padding:32px 36px;justify-content:center}.b-card--featured .b-card__title{font-size:clamp(28px,4vw,44px)}@media(max-width:880px){.b-card--featured{flex-direction:column}.b-card--featured .b-card__cover{aspect-ratio:16/10}}@media(max-width:720px){.b-card__body{padding:16px;gap:10px}.b-card__meta{gap:10px;font-size:10px;flex-wrap:wrap}.b-card__title{font-size:24px;line-height:1.22}.b-card--featured .b-card__body{padding:18px}.b-card--featured .b-card__title{font-size:28px}.b-card__excerpt{font-size:14px}.b-card__foot{align-items:flex-start;flex-direction:column}}.b-post{padding-top:0}.b-post__hero{max-width:1280px;margin:0 auto;padding:56px 24px 0}.b-post__cover{aspect-ratio:16 / 7;background:var(--th-bg-2);border-radius:var(--th-radius);overflow:hidden;margin-bottom:32px;border:1px solid var(--th-line)}.b-post__cover img{width:100%;height:100%;object-fit:cover}.b-post__head{max-width:1280px;margin:0 auto;padding:0 24px}.b-post__eyebrow{font-family:var(--th-font-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--th-mute);margin-bottom:20px;display:flex;gap:16px;align-items:center}.b-post__title{font-family:var(--th-font-display);font-size:clamp(40px,5.8vw,72px);line-height:1.14;letter-spacing:0;margin:0 0 20px;font-weight:500;text-wrap:balance}.b-post__sub{font-size:clamp(18px,1.8vw,22px);line-height:1.45;color:var(--th-mute);margin:0 0 36px;max-width:68ch}.b-post__byline{display:flex;gap:24px;align-items:center;padding:20px 0;border-top:1px solid var(--th-line);border-bottom:1px solid var(--th-line);margin-bottom:56px;flex-wrap:wrap}.b-author{display:flex;align-items:center;gap:12px}.b-author__avatar{width:40px;height:40px;border-radius:50%;background:var(--th-bg-2)}.b-author__name{font-weight:500;font-size:14px}.b-author__role{font-family:var(--th-font-mono);font-size:11px;color:var(--th-mute);letter-spacing:.06em}.b-author__name a{color:inherit;text-decoration:none}.b-author__name a:hover{color:var(--th-accent)}.b-post__times{font-family:var(--th-font-mono);font-size:12px;color:var(--th-mute);letter-spacing:.06em;display:flex;gap:16px;flex-wrap:wrap}.b-post__times b{color:var(--th-ink);font-weight:500}.b-post__layout{max-width:1280px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:minmax(0,1fr);gap:56px}@media(min-width:1100px){.b-post__layout{grid-template-columns:220px minmax(0,1fr)}}.b-post__sidebar{display:none}@media(min-width:1100px){.b-post__sidebar{display:block;align-self:stretch;min-width:0}.b-post__sidebar .b-toc{position:sticky;top:88px;display:flex;flex-direction:column;max-height:calc(100vh - 100px);padding-right:8px}.b-post__sidebar .b-toc__head{flex:0 0 auto}.b-post__sidebar .b-toc__list{flex:1 1 auto;min-height:0;overflow-y:auto}}.b-post__body{min-width:0}.b-post__body .b-article{padding:0 0 96px;max-width:var(--th-measure);margin:0 auto}@media(max-width:720px){.b-post__hero{padding:28px 16px 0}.b-post__cover{aspect-ratio:16 / 9;margin-bottom:24px}.b-post__head{padding:0 16px}.b-post__eyebrow{gap:10px;margin-bottom:16px;font-size:10px}.b-post__title{font-size:clamp(28px,8.7vw,34px);line-height:1.18;overflow-wrap:anywhere}.b-post__sub{font-size:17px;line-height:1.45;margin-bottom:28px}.b-post__byline{padding:16px 0;margin-bottom:40px;gap:16px}.b-post__times{gap:10px;font-size:11px}.b-post__layout{padding:0 16px}.b-post__body .b-article{padding-bottom:72px}.b-post__foot{margin-top:40px;padding:36px 16px 72px}}.b-post__foot{max-width:var(--th-measure);margin:64px auto 0;padding:48px 24px 96px;border-top:1px solid var(--th-line)}.b-post__nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}@media(max-width:640px){.b-post__nav{grid-template-columns:1fr}}.b-post__navcard{display:block;text-decoration:none;color:inherit;padding:20px;border:1px solid var(--th-line);border-radius:var(--th-radius);cursor:pointer;transition:border-color .15s,transform .15s}.b-post__navcard:hover{border-color:var(--th-ink);transform:translateY(-1px)}.b-post__navcard--next{text-align:right}.b-post__navcard__dir{font-family:var(--th-font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--th-mute);margin-bottom:6px}.b-post__navcard__title{font-family:var(--th-font-display);font-size:18px;font-weight:500;line-height:1.3}.b-footer{border-top:1px solid var(--th-line);padding:48px 24px;max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-family:var(--th-font-mono);font-size:12px;color:var(--th-mute);letter-spacing:.06em}.b-footer__icons{display:flex;gap:16px;align-items:center}.b-footer__icons a{color:var(--th-mute);transition:color .15s;display:inline-flex}.b-footer__icons a:hover{color:var(--th-ink)}[data-theme=kami]{--th-bg: #f5f4ed;--th-bg-2: #eceae0;--th-ink: #1a1a1a;--th-fg: var(--th-ink);--th-mute: #8c8578;--th-line: #d8d4c8;--th-accent: #1B365D;--th-accent-2: #6b4c3b;--th-warn: #c14a3a;--th-tip: #4a8c5a;--th-font-display: var(--font-latin-serif);--th-font-body: var(--font-latin-serif);--th-font-mono: var(--font-mono);--th-radius: 2px;--th-shadow: 0 4px 12px rgba(26, 26, 26, .06);--th-measure: 720px;--th-tk-st: #6b4c3b;--th-tk-kw: #1B365D;--th-mark-bg: color-mix(in oklab, #c1d7ff 58%, transparent);--th-mark-color: #163255;--th-mark-border: color-mix(in oklab, #1B365D 18%, transparent)}[data-theme=kami] .b-lead{color:#5a554a}[data-theme=kami] .b-pre{background:#1a1a1a;color:#e8e4da;border-color:#1a1a1a}[data-theme=kami] .b-pre__bar{background:#111;color:#8c8578;border-color:#333}[data-theme=kami] .b-pre__file,[data-theme=kami] .b-pre .tk-id{color:#e8e4da}[data-theme=kami] .b-pre .tk-cm{color:#666}[data-theme=kami] .b-pre .tk-st{color:#c9956b}[data-theme=kami] .b-pre .tk-kw{color:#7b9ec4}[data-theme=kami] .b-pre .tk-nu{color:#c9956b}[data-theme=kami] .b-pre .tk-pn{color:#666}[data-theme=kami] .b-pre .tk-op{color:#8c8578}[data-theme=kami] .b-pre .tk-ty{color:#7b9ec4}[data-theme=washi]{--th-bg: #1a1917;--th-bg-2: #242320;--th-ink: #e8e4da;--th-fg: var(--th-ink);--th-mute: #8c8578;--th-line: #3a3834;--th-accent: #7b9ec4;--th-accent-2: #c9956b;--th-warn: #e5796b;--th-tip: #7bba6b;--th-font-display: var(--font-latin-serif);--th-font-body: var(--font-latin-serif);--th-font-mono: var(--font-mono);--th-radius: 2px;--th-shadow: 0 4px 12px rgba(0, 0, 0, .3);--th-measure: 720px;--th-tk-st: #c9956b;--th-tk-kw: #7b9ec4;--th-mark-bg: color-mix(in oklab, var(--th-accent) 18%, #1a1917);--th-mark-color: #d9e7ff;--th-mark-border: color-mix(in oklab, var(--th-accent) 34%, transparent)}[data-theme=washi] .b-lead{color:#a9a49a}[data-theme=washi] .b-pre{background:#111110;color:#e8e4da;border-color:#2a2927}[data-theme=washi] .b-pre__bar{background:#0d0d0c;color:#8c8578;border-color:#2a2927}[data-theme=washi] .b-pre__file,[data-theme=washi] .b-pre .tk-id{color:#e8e4da}[data-theme=washi] .b-pre .tk-cm{color:#666}[data-theme=washi] .b-pre .tk-st{color:#c9956b}[data-theme=washi] .b-pre .tk-kw{color:#7b9ec4}[data-theme=washi] .b-pre .tk-nu{color:#c9956b}[data-theme=washi] .b-pre .tk-pn{color:#555}[data-theme=washi] .b-pre .tk-op{color:#8c8578}[data-theme=washi] .b-pre .tk-ty{color:#7b9ec4}[data-theme=washi] .b-card:hover{box-shadow:0 4px 16px #0006}html[lang=zh][data-theme=kami],html[lang=zh][data-theme=washi]{--th-font-display: var(--font-cjk-serif);--th-font-body: var(--font-cjk-serif);--th-measure: 760px}html[lang=zh] body{font-size:18px;line-height:1.62;letter-spacing:.02em}html[lang=zh] .b-lead,html[lang=zh] .b-hero__lede,html[lang=zh] .b-post__sub,html[lang=zh] .b-card__excerpt{line-height:1.58;letter-spacing:.03em;overflow-wrap:anywhere}html[lang=zh] :is(.b-h,.b-post__title,.b-card__title,.b-brand__name,.b-post__navcard__title){letter-spacing:0}html[lang=zh] :is(.b-hero__title,.b-post__title,.b-card__title,.b-post__navcard__title){overflow-wrap:anywhere;text-wrap:wrap;word-break:keep-all}.ovx-article{--ovx-radius: 6px;--ovx-radius-lg: 8px;--ovx-ease: cubic-bezier(.23, 1, .32, 1);--ovx-sticky-top: 76px;--ovx-tone: var(--tone, var(--th-accent));--ovx-surface: color-mix(in oklab, var(--th-bg-2) 72%, transparent)}.ovx-article *,.ovx-article *:before,.ovx-article *:after{min-width:0}.ovx-article a,.ovx-article code,.ovx-article pre,.ovx-article .b-code,.ovx-article [data-breakable]{overflow-wrap:anywhere;word-break:normal}.ovx-pressable,.ovx-tab,.ovx-formula__chip,.ovx-timeline__nav button,.ovx-scoreboard__tabs button,.ovx-console__tabs button,.ovx-workbench__tab,.ovx-resource-card[href],.ovx-resource-card[role=button]{transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .14s var(--ovx-ease),box-shadow .14s ease}.ovx-pressable:hover,.ovx-resource-card[href]:hover,.ovx-resource-card[role=button]:hover{border-color:var(--th-accent);transform:translateY(-1px)}.ovx-pressable:active,.ovx-resource-card[href]:active,.ovx-resource-card[role=button]:active{transform:translateY(0)}.ovx-pressable:focus-visible,.ovx-tab:focus-visible,.ovx-formula__chip:focus-visible,.ovx-timeline__nav button:focus-visible,.ovx-scoreboard__tabs button:focus-visible,.ovx-console__tabs button:focus-visible,.ovx-workbench__tab:focus-visible,.ovx-resource-card[href]:focus-visible,.ovx-resource-card[role=button]:focus-visible{outline:2px solid var(--th-accent);outline-offset:2px}.ovx-band{margin:34px 0;padding:24px 0;border-top:1px solid var(--th-line);border-bottom:1px solid var(--th-line)}.ovx-kicker,.ovx-eyebrow{margin-bottom:10px;color:var(--th-mute);font-family:var(--th-font-mono);font-size:11px;font-weight:500;letter-spacing:.14em;line-height:1.4;text-transform:uppercase}.ovx-muted{color:var(--th-mute)}.ovx-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 8px}.ovx-route__item{min-height:118px;padding:14px;border:1px solid var(--th-line);border-radius:var(--ovx-radius);background:var(--ovx-surface)}.ovx-route__label{color:var(--th-mute);font-family:var(--th-font-mono);font-size:11px;line-height:1.4;text-transform:uppercase}.ovx-route__value{margin-top:8px;font-size:15px;line-height:1.45;overflow-wrap:anywhere}.ovx-route a,.ovx-contract a,.ovx-resource-card a{color:var(--th-accent);text-underline-offset:3px}.ovx-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0}.ovx-resource-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.ovx-resource-card{display:flex;flex-direction:column;gap:12px;min-height:164px;padding:16px;color:inherit;text-decoration:none;border:1px solid var(--th-line);border-left:3px solid var(--ovx-tone);border-radius:var(--ovx-radius-lg);background:var(--th-bg)}.ovx-resource-card--filled{background:var(--ovx-surface)}.ovx-resource-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ovx-resource-card__type,.ovx-resource-card__meta,.ovx-resource-card__action{color:var(--th-mute);font-family:var(--th-font-mono);font-size:11px;letter-spacing:.08em;line-height:1.45;text-transform:uppercase}.ovx-resource-card__title{margin:0;color:var(--th-ink);font-family:var(--th-font-display);font-size:20px;font-weight:500;line-height:1.2;text-wrap:balance}.ovx-resource-card__body{margin:0;color:var(--th-mute);font-size:15px;line-height:1.5}.ovx-resource-card__path{margin-top:auto;padding-top:10px;border-top:1px solid var(--th-line);color:var(--th-ink);font-family:var(--th-font-mono);font-size:12px;line-height:1.55;overflow-wrap:anywhere}.ovx-matrix{width:100%;margin:28px 0;overflow-x:auto;border:1px solid var(--th-line);border-radius:var(--ovx-radius-lg);background:var(--th-bg)}.ovx-matrix table,table.ovx-matrix__table{width:100%;min-width:640px;border-collapse:collapse;font-size:14px;line-height:1.5}.ovx-matrix th,.ovx-matrix td,.ovx-matrix__table th,.ovx-matrix__table td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--th-line);overflow-wrap:anywhere}.ovx-matrix th,.ovx-matrix__table th{background:var(--th-bg-2);color:var(--th-mute);font-family:var(--th-font-mono);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.ovx-matrix tr:last-child td,.ovx-matrix__table tr:last-child td{border-bottom:0}.ovx-matrix__cell-title{display:block;margin-bottom:4px;color:var(--th-ink);font-weight:700}.ovx-matrix__score{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;color:var(--th-bg);font-family:var(--th-font-mono);font-size:12px;line-height:1.2;border-radius:999px;background:var(--ovx-tone)}.ovx-pain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}.ovx-pain-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.ovx-pain-card{display:grid;gap:10px;padding:16px;border:1px solid var(--th-line);border-top:3px solid var(--th-warn);border-radius:var(--ovx-radius-lg);background:color-mix(in oklab,var(--th-warn) 6%,var(--th-bg))}.ovx-pain-card__index{color:var(--th-mute);font-family:var(--th-font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.ovx-pain-card__title{margin:0;font-family:var(--th-font-display);font-size:20px;font-weight:500;line-height:1.2}.ovx-pain-card__body,.ovx-pain-card__impact{margin:0;color:var(--th-mute);font-size:15px;line-height:1.5}.ovx-pain-card__impact{padding-top:10px;border-top:1px solid var(--th-line);color:var(--th-ink)}.ovx-tabs,.ovx-scoreboard__tabs{display:flex;flex-wrap:wrap;gap:8px}.ovx-sticky-tabs{margin:30px 0 18px;padding:8px 0;border-top:1px solid var(--th-line);border-bottom:1px solid var(--th-line);background:var(--th-bg)}.ovx-sticky-tabs__label{margin-bottom:6px;color:var(--th-mute);font-family:var(--th-font-mono);font-size:11px;letter-spacing:.12em;line-height:1.4;text-transform:uppercase}.ovx-tab-strip{display:flex;max-width:100%;gap:4px;padding:3px;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--th-line);border-radius:var(--ovx-radius-lg);background:var(--th-bg-2);scroll-padding-inline:8px;scroll-snap-type:x proximity;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.ovx-tab-strip .ovx-tab{flex:0 0 auto;scroll-snap-align:start;border-color:transparent;border-radius:var(--ovx-radius);background:transparent;white-space:nowrap}.ovx-tab,.ovx-scoreboard__tabs button{min-height:34px;padding:6px 12px;border:1px solid var(--th-line);border-radius:999px;background:transparent;color:var(--th-mute);cursor:pointer;font-family:var(--th-font-mono);font-size:12px;line-height:1.3}.ovx-tab:hover,.ovx-scoreboard__tabs button:hover{color:var(--th-ink);border-color:var(--th-accent);background:color-mix(in oklab,var(--th-accent) 8%,transparent)}.ovx-tab:active,.ovx-scoreboard__tabs button:active{transform:scale(.98)}.ovx-tab.is-active,.ovx-tab[aria-selected=true],.ovx-tab[aria-pressed=true],.ovx-scoreboard__tabs button.is-active,.ovx-scoreboard__tabs button[aria-pressed=true]{color:var(--th-bg);border-color:var(--th-ink);background:var(--th-ink)}.ovx-tab-strip .ovx-tab.is-active,.ovx-tab-strip .ovx-tab[aria-current]:not([aria-current=false]),.ovx-tab-strip .ovx-tab[aria-selected=true],.ovx-tab-strip .ovx-tab[aria-pressed=true]{color:var(--th-bg);border-color:var(--th-ink);background:var(--th-ink)}.ovx-section-stack{display:grid;gap:22px;margin:18px 0 32px}.ovx-tab-panel{margin-top:12px;padding:16px;border:1px solid var(--th-line);border-radius:var(--ovx-radius-lg);background:var(--ovx-surface);scroll-margin-top:calc(var(--ovx-sticky-top) + 84px)}.ovx-section-stack>.ovx-tab-panel,.ovx-section-stack>section,.ovx-section-stack>article{margin-top:0;scroll-margin-top:calc(var(--ovx-sticky-top) + 84px)}.ovx-tab-panel__title{margin:0 0 8px;font-family:var(--th-font-display);font-size:22px;font-weight:500;line-height:1.2;text-wrap:balance}.ovx-tab-panel__body{margin:0;color:var(--th-mute);font-size:15px;line-height:1.55}.ovx-formula{display:grid;gap:12px;margin:24px 0}.ovx-formula__rail{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ovx-formula__chip{min-height:38px;padding:8px 12px;border:1px solid var(--th-line);border-radius:999px;background:var(--th-bg);color:var(--th-ink);cursor:pointer;font-family:var(--th-font-mono);font-size:12px;line-height:1.3}.ovx-formula__chip:hover{border-color:var(--ovx-tone);background:color-mix(in oklab,var(--ovx-tone) 8%,transparent)}.ovx-formula__chip:active{transform:scale(.97)}.ovx-formula__chip.is-active,.ovx-formula__chip[aria-pressed=true]{color:var(--th-bg);border-color:var(--ovx-tone);background:var(--ovx-tone)}.ovx-formula__plus{color:var(--th-mute);font-family:var(--th-font-mono);line-height:1}.ovx-formula__panel{min-height:132px;padding:16px 18px;border-left:3px solid var(--ovx-tone);background:color-mix(in oklab,var(--ovx-tone) 8%,transparent)}.ovx-formula__panel h3{margin:0 0 6px;font-family:var(--th-font-display);font-size:20px;line-height:1.25}.ovx-formula__panel p{margin:0;color:var(--th-mute);font-size:16px;line-height:1.55}.ovx-timeline{display:grid;grid-template-columns:180px minmax(0,1fr);margin:26px 0;overflow:hidden;border:1px solid var(--th-line);border-radius:var(--ovx-radius)}.ovx-timeline__nav{border-right:1px solid var(--th-line);background:var(--th-bg-2)}.ovx-timeline__nav button{display:block;width:100%;min-height:50px;padding:12px 14px;border:0;border-bottom:1px solid var(--th-line);background:transparent;color:var(--th-mute);cursor:pointer;font-family:var(--th-font-mono);font-size:12px;line-height:1.35;text-align:left}.ovx-timeline__nav button:last-child{border-bottom:0}.ovx-timeline__nav button:hover,.ovx-timeline__nav button.is-active,.ovx-timeline__nav button[aria-selected=true]{color:var(--th-ink);background:var(--th-bg)}.ovx-timeline__nav button:active{transform:translate(1px)}.ovx-timeline__body{min-height:306px;padding:22px}.ovx-timeline__title{margin:0 0 8px;font-family:var(--th-font-display);font-size:26px;font-weight:500;line-height:1.2;text-wrap:balance}.ovx-timeline__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.ovx-mini{padding-top:12px;border-top:1px solid var(--th-line)}.ovx-mini__label{margin-bottom:4px;color:var(--th-mute);font-family:var(--th-font-mono);font-size:11px;line-height:1.45;text-transform:uppercase}.ovx-mini p{margin:0;font-size:15px;line-height:1.5}.ovx-scoreboard,.ovx-rank{display:grid;gap:12px;margin:26px 0}.ovx-bars,.ovx-rank__list{display:grid;gap:10px}.ovx-bar,.ovx-rank-row{display:grid;grid-template-columns:minmax(82px,110px) minmax(0,1fr) 42px;align-items:center;gap:10px;font-size:14px;line-height:1.4}.ovx-bar__name,.ovx-rank-row__name{font-weight:700;overflow-wrap:anywhere}.ovx-bar__track,.ovx-rank-row__track{height:10px;overflow:hidden;border:1px solid var(--th-line);border-radius:999px;background:var(--th-bg-2)}.ovx-bar__fill,.ovx-rank-row__fill{width:calc(var(--score, 0) * 1%);max-width:100%;height:100%;background:var(--ovx-tone);transform-origin:left center}.ovx-bar__value,.ovx-rank-row__value{color:var(--th-mute);font-family:var(--th-font-mono);font-size:12px;text-align:right}.ovx-console,.ovx-workbench{margin:28px 0;overflow:hidden;border:1px solid var(--th-line);border-radius:var(--ovx-radius);background:var(--th-bg-2)}.ovx-console__tabs,.ovx-workbench__tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--th-line);scrollbar-width:thin}.ovx-console__tabs button,.ovx-workbench__tab{flex:1 0 auto;min-height:40px;padding:10px 14px;border:0;border-right:1px solid var(--th-line);background:transparent;color:var(--th-mute);cursor:pointer;font-family:var(--th-font-mono);font-size:12px;line-height:1.3}.ovx-console__tabs button:last-child,.ovx-workbench__tab:last-child{border-right:0}.ovx-console__tabs button:hover,.ovx-workbench__tab:hover{color:var(--th-ink);background:color-mix(in oklab,var(--th-bg) 72%,transparent)}.ovx-console__tabs button:active,.ovx-workbench__tab:active{transform:translateY(1px)}.ovx-console__tabs button.is-active,.ovx-console__tabs button[aria-selected=true],.ovx-workbench__tab.is-active,.ovx-workbench__tab[aria-selected=true]{color:var(--th-ink);background:var(--th-bg)}.ovx-console .b-pre,.ovx-workbench .b-pre{margin:0;border:0;border-radius:0}.ovx-workbench__pane{display:grid;gap:14px;padding:16px}.ovx-command{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px;border:1px solid var(--th-line);border-radius:var(--ovx-radius);background:var(--th-bg);font-family:var(--th-font-mono);font-size:13px;line-height:1.6}.ovx-command__prompt{color:var(--th-accent);-webkit-user-select:none;user-select:none}.ovx-command__text{overflow-wrap:anywhere}.ovx-command__button{min-height:30px;padding:4px 9px;border:1px solid var(--th-line);border-radius:var(--ovx-radius);background:transparent;color:var(--th-mute);cursor:pointer;font-family:var(--th-font-mono);font-size:11px;line-height:1.2;transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .14s var(--ovx-ease)}.ovx-command__button:hover{color:var(--th-ink);border-color:var(--th-accent);background:color-mix(in oklab,var(--th-accent) 8%,transparent)}.ovx-command__button:active{transform:scale(.96)}.ovx-command__output{padding:10px 12px;border-left:2px solid var(--th-line);color:var(--th-mute);font-family:var(--th-font-mono);font-size:12px;line-height:1.6;overflow-wrap:anywhere}.ovx-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0}.ovx-compare-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.ovx-compare-card{padding:16px;border:1px solid var(--th-line);border-radius:var(--ovx-radius-lg);background:var(--th-bg)}.ovx-compare-card--positive{border-top:3px solid var(--th-tip);background:color-mix(in oklab,var(--th-tip) 5%,var(--th-bg))}.ovx-compare-card--negative{border-top:3px solid var(--th-warn);background:color-mix(in oklab,var(--th-warn) 5%,var(--th-bg))}.ovx-compare-card__label{margin-bottom:8px;color:var(--th-mute);font-family:var(--th-font-mono);font-size:11px;letter-spacing:.12em;line-height:1.4;text-transform:uppercase}.ovx-compare-card__title{margin:0 0 10px;font-family:var(--th-font-display);font-size:22px;font-weight:500;line-height:1.2}.ovx-compare-card__body{margin:0;color:var(--th-mute);font-size:15px;line-height:1.55}.ovx-compare-card__rows{display:grid;gap:8px;margin-top:12px}.ovx-compare-card__row{display:grid;grid-template-columns:minmax(92px,.38fr) minmax(0,1fr);gap:10px;padding-top:8px;border-top:1px solid var(--th-line);font-size:14px;line-height:1.45}.ovx-compare-card__key{color:var(--th-mute);font-family:var(--th-font-mono);font-size:12px}.ovx-loop,.ovx-roadmap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:24px 0}.ovx-loop__step,.ovx-roadmap__phase{min-height:132px;padding:12px 10px 0;border-top:3px solid var(--ovx-tone)}.ovx-loop__n,.ovx-roadmap__step,.ovx-roadmap__date{color:var(--th-mute);font-family:var(--th-font-mono);font-size:11px;line-height:1.4}.ovx-loop__title,.ovx-roadmap__title{margin:6px 0 4px;font-weight:700;line-height:1.25}.ovx-loop__copy,.ovx-roadmap__copy{margin:0;color:var(--th-mute);font-size:14px;line-height:1.45}.ovx-roadmap--rail{position:relative;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-top:12px}.ovx-roadmap--rail:before{content:"";position:absolute;top:18px;right:0;left:0;height:1px;background:var(--th-line)}.ovx-roadmap--rail .ovx-roadmap__phase{position:relative;min-height:0;padding:26px 0 0;border-top:0}.ovx-roadmap--rail .ovx-roadmap__phase:before{content:"";position:absolute;top:0;left:0;width:12px;height:12px;border:2px solid var(--ovx-tone);border-radius:999px;background:var(--th-bg)}.ovx-agent-bridge,.ovx-contract{margin:32px 0;padding:22px;border:1px solid var(--th-line);border-left:3px solid var(--th-tip);border-radius:var(--ovx-radius);background:color-mix(in oklab,var(--th-tip) 8%,transparent)}.ovx-agent-bridge__grid,.ovx-contract__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.ovx-agent-bridge__tile,.ovx-contract__item{padding-top:12px;border-top:1px solid var(--th-line)}.ovx-agent-bridge__tile code,.ovx-contract code,.ovx-contract__value{overflow-wrap:anywhere}.ovx-contract__key{margin-bottom:4px;color:var(--th-mute);font-family:var(--th-font-mono);font-size:11px;line-height:1.45;text-transform:uppercase}.ovx-contract__value{color:var(--th-ink);font-family:var(--th-font-mono);font-size:13px;line-height:1.6}.ovx-contract__schema{display:grid;gap:8px;margin-top:16px;padding:12px;border:1px solid var(--th-line);border-radius:var(--ovx-radius);background:var(--th-bg)}.ovx-contract__schema-row{display:grid;grid-template-columns:minmax(98px,.32fr) minmax(0,1fr);gap:10px;font-family:var(--th-font-mono);font-size:12px;line-height:1.55}.ovx-contract__schema-key{color:var(--th-mute)}.ovx-contract__schema-value{overflow-wrap:anywhere}@media(max-width:900px){.ovx-resource-grid,.ovx-pain-grid,.ovx-compare-grid--three,.ovx-loop,.ovx-roadmap{grid-template-columns:repeat(2,minmax(0,1fr))}.ovx-roadmap--rail{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}.ovx-roadmap--rail:before{background:transparent}}@media(max-width:760px){.ovx-article{--ovx-sticky-top: 56px}.ovx-band{margin:28px 0;padding:20px 0}.ovx-sticky-tabs{margin:24px 0 14px;padding:6px 0}.ovx-sticky-tabs__label{margin-bottom:4px}.ovx-tab-strip .ovx-tab{min-height:32px;padding:6px 10px}.ovx-tab-panel,.ovx-section-stack>.ovx-tab-panel,.ovx-section-stack>section,.ovx-section-stack>article{scroll-margin-top:calc(var(--ovx-sticky-top) + 76px)}.ovx-route,.ovx-resource-grid,.ovx-resource-grid--two,.ovx-pain-grid,.ovx-timeline,.ovx-timeline__grid,.ovx-compare-grid,.ovx-compare-grid--three,.ovx-loop,.ovx-roadmap,.ovx-roadmap--rail,.ovx-agent-bridge__grid,.ovx-contract__grid{grid-template-columns:1fr}.ovx-route__item,.ovx-resource-card,.ovx-pain-card,.ovx-compare-card,.ovx-agent-bridge,.ovx-contract{padding:14px}.ovx-timeline__nav{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--th-line)}.ovx-timeline__nav button{min-width:min(180px,72vw);border-right:1px solid var(--th-line);border-bottom:0}.ovx-timeline__body{min-height:0;padding:18px}.ovx-bar,.ovx-rank-row{grid-template-columns:minmax(0,1fr) 42px}.ovx-bar__track,.ovx-rank-row__track{grid-column:1 / -1;grid-row:2}.ovx-bar__value,.ovx-rank-row__value{grid-column:2;grid-row:1}.ovx-command{grid-template-columns:auto minmax(0,1fr)}.ovx-command__button{grid-column:1 / -1;justify-self:start}.ovx-compare-card__row,.ovx-contract__schema-row{grid-template-columns:1fr;gap:4px}.ovx-loop__step,.ovx-roadmap__phase,.ovx-roadmap--rail .ovx-roadmap__phase{min-height:0}}@media(prefers-reduced-motion:reduce){.ovx-article *,.ovx-article *:before,.ovx-article *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
