@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal.BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal.6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal.DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal.BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.not-found[data-v-3bcdd61f]{padding-bottom:clamp(3rem,8vw,6rem)}.not-found__links[data-v-3bcdd61f]{display:flex;flex-wrap:wrap;gap:.75rem 1.75rem;margin:2rem 0 0}.note-page__back[data-v-9013ff76]{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--text-small);text-decoration:none}.note-page__back[data-v-9013ff76]:hover{color:var(--ink)}.note-page .note-page__date[data-v-9013ff76]{margin:1.5rem 0 0;color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--text-small);font-weight:400;letter-spacing:0;line-height:1.5}.note-page .note-page__title[data-v-9013ff76]{margin:.75rem 0 0;font-size:clamp(1.8rem,4vw,2.4rem)}.site-footer[data-v-e5bb05d9]{width:100%;margin-top:clamp(3rem,7vw,5rem);border-top:1px solid var(--rule)}.site-footer__inner[data-v-e5bb05d9]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 2rem;width:min(100%,var(--site-max));margin-inline:auto;padding:1.75rem var(--page-gutter) 2.25rem;color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--text-small)}.site-footer__line[data-v-e5bb05d9]{margin:0}.site-footer__dot[data-v-e5bb05d9]{color:var(--dot)}.site-footer__links[data-v-e5bb05d9]{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.site-footer__links a[data-v-e5bb05d9]{color:var(--ink-muted);text-decoration:none}.site-footer__links a[data-v-e5bb05d9]:hover{color:var(--ink)}.site-header[data-v-2add49c8]{position:relative;z-index:10;width:100%}.site-header__inner[data-v-2add49c8]{display:flex;align-items:center;justify-content:space-between;min-height:var(--header-height);width:min(100%,var(--site-max));margin-inline:auto;padding-inline:var(--page-gutter)}.wordmark[data-v-2add49c8]{display:inline-flex;align-items:baseline;gap:.2rem;padding-block:.75rem;color:var(--ink);font-family:var(--font-serif);font-size:1.7rem;font-weight:500;letter-spacing:-.03em;text-decoration:none}.wordmark .waiting-dot[data-v-2add49c8]{width:.34em;height:.34em}.desktop-nav[data-v-2add49c8]{display:flex;align-items:center;gap:clamp(1.25rem,3vw,2.25rem)}.nav-link[data-v-2add49c8],.mobile-menu summary[data-v-2add49c8],.mobile-nav__link[data-v-2add49c8]{font-family:var(--font-mono);font-size:var(--text-ui)}.nav-link[data-v-2add49c8]{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--ink-muted);text-decoration:none;transition:color .14s ease}.nav-link[data-v-2add49c8]:hover,.nav-link--active[data-v-2add49c8]{color:var(--ink)}.nav-link--active[data-v-2add49c8]{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:.45em}.mobile-menu[data-v-2add49c8]{display:none;position:relative}.mobile-menu summary[data-v-2add49c8]{display:inline-flex;align-items:center;min-height:2.75rem;padding-inline:.9rem;border:1px solid var(--rule);border-radius:999px;color:var(--ink);cursor:pointer;list-style:none}.mobile-menu summary[data-v-2add49c8]::-webkit-details-marker{display:none}.mobile-nav[data-v-2add49c8]{position:absolute;top:calc(100% + .5rem);right:0;display:grid;min-width:12rem;padding:.5rem;border:1px solid var(--rule);border-radius:.9rem;background:var(--paper-raised);box-shadow:0 18px 40px -24px var(--shadow)}.mobile-nav__link[data-v-2add49c8]{display:flex;align-items:center;min-height:2.75rem;padding-inline:.75rem;border-radius:.6rem;color:var(--ink);text-decoration:none}.mobile-nav__link[data-v-2add49c8]:hover,.mobile-nav__link--active[data-v-2add49c8]{background:var(--paper-sunken)}@media (max-width: 52rem){.site-header__inner[data-v-2add49c8]{min-height:var(--header-height-mobile)}.desktop-nav[data-v-2add49c8]{display:none}.mobile-menu[data-v-2add49c8]{display:block}}.music-reader__bar[data-v-2787e842]{position:sticky;top:0;z-index:20;margin:-1rem -.65rem 1rem;padding:.65rem;border-bottom:1px solid var(--rule-strong);background:var(--paper);font-family:var(--font-sans);font-size:.88rem;line-height:1.35}.music-reader__top[data-v-2787e842],.music-reader__navigation[data-v-2787e842]{display:flex;align-items:center;gap:.5rem}.music-reader__top[data-v-2787e842]{justify-content:space-between}.music-back[data-v-2787e842]{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;min-height:2.75rem;text-decoration:none}.music-back span[lang=en][data-v-2787e842],.music-reader__bilingual[data-v-2787e842]{color:var(--ink-muted);font-size:.8rem}.music-reader__languages[data-v-2787e842]{display:flex;gap:.2rem;padding:.15rem;border:1px solid var(--rule);border-radius:.45rem}.music-reader__languages button[data-v-2787e842]{min-height:2.75rem;padding:.35rem .65rem;border:0;border-radius:.3rem;background:transparent;color:var(--ink);cursor:pointer}.music-reader__languages button[aria-pressed=true][data-v-2787e842]{background:var(--paper-sunken);box-shadow:inset 0 -2px var(--accent);font-weight:600}.music-reader__navigation[data-v-2787e842]{margin-top:.25rem}.music-reader__contents[data-v-2787e842]{min-width:0;flex:1}.music-reader__contents summary[data-v-2787e842]{display:flex;align-items:center;gap:.55rem;min-height:2.75rem;cursor:pointer;list-style:none}.music-reader__contents summary[data-v-2787e842]::-webkit-details-marker{display:none}.music-reader__chapter-label[data-v-2787e842]{color:var(--ink-muted);font-size:.75rem;flex-shrink:0}.music-reader__chapter-title[data-v-2787e842]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.music-reader__contents nav[data-v-2787e842]{position:absolute;top:calc(100% - 1px);left:0;right:0;max-height:min(55vh,28rem);overflow-y:auto;overscroll-behavior:contain;padding:.65rem;background:var(--paper-raised);border:1px solid var(--rule-strong);border-radius:0 0 .5rem .5rem;box-shadow:0 16px 24px -20px var(--shadow)}.music-reader__contents nav a[data-v-2787e842]{display:block;min-height:2.75rem;padding:.7rem;border-radius:.25rem;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.music-reader__contents nav a[aria-current][data-v-2787e842],.music-reader__contents nav a[data-v-2787e842]:hover{background:var(--paper-sunken)}.music-reader__contents nav a.music-reader__subchapter[data-v-2787e842]{padding-left:1.5rem;font-size:.85rem}.music-reader__step[data-v-2787e842]{display:grid;place-items:center;width:2.75rem;min-height:2.75rem;border:1px solid var(--rule);border-radius:.4rem;text-decoration:none}.music-reader__scope[data-v-2787e842]{margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--rule);font-size:.9rem}.music-reader__scope summary[data-v-2787e842]{min-height:2.75rem;padding-block:.65rem;cursor:pointer;color:var(--ink-muted)}.music-reader__scope p[data-v-2787e842]{font-size:.92rem;line-height:1.6}.music-reader__sequence[data-v-2787e842]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid var(--rule)}.music-reader__sequence p[data-v-2787e842]{grid-column:1 / -1;color:var(--ink-muted);font-size:.85rem}.music-reader__sequence a[data-v-2787e842]{display:flex;flex-direction:column;gap:.3rem;padding:.65rem;min-height:2.75rem;border:1px solid var(--rule);border-radius:.4rem;text-decoration:none;font-size:.95rem}.music-reader__sequence a span[lang=en][data-v-2787e842]{font-size:.85rem}.music-reader__sequence small[data-v-2787e842]{color:var(--ink-muted)}@media (max-width: 30rem){.music-reader__sequence[data-v-2787e842]{grid-template-columns:minmax(0,1fr)}}@media print{.music-reader__bar[data-v-2787e842],.music-reader__sequence[data-v-2787e842]{display:none}.music-reader__body[data-v-2787e842] [hidden]{display:block!important}}@font-face{font-family:Maple Mono NF Subset;src:url(/fonts/maple-mono-nf-regular-subset.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0020-007E,U+00A0-00FF,U+2000-206F,U+2190-21FF}@font-face{font-family:Maple Mono NF Subset;src:url(/fonts/maple-mono-nf-semibold-subset.woff2) format("woff2");font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0020-007E,U+00A0-00FF,U+2000-206F,U+2190-21FF}@font-face{font-family:Newsreader;src:url(/fonts/newsreader-latin-opsz-normal.woff2) format("woff2");font-style:normal;font-weight:200 800;font-display:swap}@font-face{font-family:Newsreader;src:url(/fonts/newsreader-latin-opsz-italic.woff2) format("woff2");font-style:italic;font-weight:200 800;font-display:swap}:root{color-scheme:light dark;--paper: light-dark(oklch(96% .012 85), oklch(18.5% .006 70));--paper-raised: light-dark(oklch(98.4% .008 85), oklch(22% .008 70));--paper-sunken: light-dark(oklch(93% .016 85), oklch(15.5% .006 70));--ink: light-dark(oklch(22% .012 70), oklch(94% .012 85));--ink-muted: light-dark(oklch(48% .02 70), oklch(72% .018 80));--rule: light-dark(oklch(87% .02 85), oklch(30% .01 70));--rule-strong: light-dark(oklch(72% .025 80), oklch(45% .012 70));--accent: light-dark(oklch(52% .15 38), oklch(70% .14 42));--dot: var(--accent);--accent-ink: light-dark(oklch(47% .14 38), oklch(74% .13 42));--shadow: light-dark(oklch(35% .03 70 / .1), oklch(0% 0 0 / .4));--font-serif: "Newsreader", "Songti SC", "Noto Serif SC", ui-serif, Georgia, serif;--font-sans: "Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Maple Mono NF Subset", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--site-max: 72rem;--page-gutter: clamp(1.25rem, 4vw, 3rem);--header-height: 4.75rem;--header-height-mobile: 4rem;--radius: 1.125rem;--text-ui: .95rem;--text-small: .82rem}*,*:before,*:after{box-sizing:border-box}html{min-width:20rem;background:var(--paper);scroll-behavior:smooth;scroll-padding-top:1.5rem}body{min-width:20rem;min-height:100vh;margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:1.0625rem;line-height:1.55;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}h1,h2,h3{text-wrap:balance}p,li{text-wrap:pretty}button,input,textarea,select{font:inherit}a,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:4px}::selection{background:var(--accent);color:var(--paper)}.site-shell{display:flex;flex-direction:column;min-height:100vh;overflow-x:clip}.site-main{flex:1;width:100%}.site-main .vp-doc{width:100%}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:100;padding:.75rem 1rem;border-radius:.5rem;background:var(--ink);color:var(--paper);font-family:var(--font-mono);text-decoration:none;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.waiting-dot{display:inline-block;width:.5em;height:.5em;border-radius:50%;background:var(--dot);vertical-align:baseline;animation:waiting 2.4s ease-in-out infinite}@keyframes waiting{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.72)}}.eyebrow .waiting-dot{flex:none;margin-top:.42em}.page{width:min(100%,var(--site-max));margin-inline:auto;padding:clamp(3rem,7vw,6rem) var(--page-gutter) 0}.eyebrow{display:flex;align-items:flex-start;gap:.6rem;margin:0 0 1.25rem;color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--text-small);letter-spacing:.02em}.page-title{max-width:18ch;margin:0;font-family:var(--font-serif);font-size:clamp(2.7rem,6.5vw,4.75rem);font-weight:400;letter-spacing:-.025em;line-height:1.02}.title-accent{color:var(--accent-ink);font-style:italic}.page-intro{max-width:38rem;margin:1.25rem 0 0;color:var(--ink-muted);font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.55}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 1.25rem}.section-title{margin:0;font-family:var(--font-serif);font-size:clamp(1.5rem,2.6vw,1.85rem);font-weight:400;letter-spacing:-.015em}.section-note{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--text-small)}.text-link{color:var(--ink);font-family:var(--font-mono);font-size:var(--text-small);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:.3em}.text-link:hover{color:var(--accent-ink)}.product-section{padding-block:clamp(2.5rem,5vw,3.5rem);border-top:1px solid var(--rule)}.product-section__title{max-width:24ch;margin:0;font-family:var(--font-serif);font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:400;letter-spacing:-.02em;line-height:1.08}.product-section__lede{max-width:40rem;margin:.9rem 0 0;color:var(--ink-muted);line-height:1.65;overflow-wrap:break-word}.product-section__lede code{font-family:var(--font-mono);font-size:.9em}.product-section__body{margin-top:clamp(1.5rem,3vw,2rem)}.product-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1.5rem,5vw,4rem);align-items:center}@media (max-width: 56rem){.product-split{grid-template-columns:minmax(0,1fr)}}html:has(.music-article){scroll-behavior:auto}.music-article{overflow-wrap:anywhere}.music-article video{display:block;width:100%;max-width:100%;margin-block:1rem 2rem}.music-article .music-table{max-width:100%;overflow-x:auto;margin-block:1.5rem;border:1px solid var(--rule);border-radius:.35rem}.music-article .music-table table{width:100%;border-collapse:collapse;font-size:.95rem;line-height:1.6}.music-article .music-table :is(th,td){min-width:7rem;padding:.65rem .8rem;text-align:start;vertical-align:top;border-bottom:1px solid var(--rule)}.music-article .music-table th{background:var(--paper-sunken)}.music-article h1 span[lang=en]{display:block;margin-top:.5rem;font-size:.62em}.music-article summary{min-height:2.75rem;padding-block:.6rem;cursor:pointer}.site-main--article .vp-doc{width:min(100% - (2 * var(--page-gutter)),42rem);margin-inline:auto;padding-block:clamp(3rem,8vw,6rem)}:is(.site-main--article .vp-doc,.prose) h1,:is(.site-main--article .vp-doc,.prose) h2{font-family:var(--font-serif);font-weight:400;letter-spacing:-.02em;line-height:1.08}:is(.site-main--article .vp-doc,.prose) h3{font-family:var(--font-sans);font-weight:620;letter-spacing:-.02em;line-height:1.2}:is(.site-main--article .vp-doc,.prose) h1{margin-top:0;font-size:clamp(2.6rem,6.4vw,4.1rem)}:is(.site-main--article .vp-doc,.prose) h2{margin-top:3rem;font-size:clamp(1.6rem,3vw,2.1rem)}:is(.site-main--article .vp-doc,.prose) p,:is(.site-main--article .vp-doc,.prose) li{font-size:clamp(1.07rem,1.5vw,1.18rem);line-height:1.75}:is(.site-main--article .vp-doc,.prose) a{color:currentColor;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:.2em}:is(.site-main--article .vp-doc,.prose) a:hover{color:var(--accent-ink)}:is(.site-main--article .vp-doc,.prose) blockquote{margin-inline:0;padding-left:1.25rem;border-left:3px solid var(--accent);color:var(--ink-muted)}:is(.site-main--article .vp-doc,.prose) code,:is(.site-main--article .vp-doc,.prose) pre{font-family:var(--font-mono);font-size:.92em}:is(.site-main--article .vp-doc,.prose) :not(pre)>code{padding:.1em .35em;border-radius:.35rem;background:var(--paper-sunken)}:is(.site-main--article .vp-doc,.prose) pre{overflow-x:auto;padding:1.25rem;border:1px solid var(--rule);border-radius:.75rem;background:var(--paper-sunken)}:is(.site-main--article .vp-doc,.prose) img{max-width:100%;height:auto;border-radius:.75rem}:is(.site-main--article .vp-doc,.prose) figure{margin:1.5rem 0}:is(.site-main--article .vp-doc,.prose) figure img{display:block;width:auto;max-height:75vh;margin-inline:auto}:is(.site-main--article .vp-doc,.prose) figcaption{margin-top:.85rem;color:var(--ink-muted);font-size:.92rem;text-align:center}:is(.site-main--article .vp-doc,.prose) .document-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.5rem 0}:is(.site-main--article .vp-doc,.prose) .document-actions a{display:inline-flex;align-items:center;min-height:2.8rem;padding-inline:1.15rem;border:1px solid var(--rule-strong);border-radius:999px;font-family:var(--font-mono);font-size:var(--text-small);text-decoration:none}:is(.site-main--article .vp-doc,.prose) .document-actions a:first-child{border-color:var(--ink);background:var(--ink);color:var(--paper)}:is(.site-main--article .vp-doc,.prose) .notice{padding:1rem 1.15rem;border:1px solid var(--rule);border-radius:.9rem;background:var(--paper-raised);color:var(--ink-muted)}:lang(zh) :is(h1,h2,h3){word-break:keep-all;overflow-wrap:anywhere}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}}.music-search[data-v-a79bd298]{margin-block:2rem;padding-block:1.5rem;border-block:1px solid var(--rule)}.music-search label[data-v-a79bd298]{display:block;margin-bottom:.65rem;font-weight:600}.music-search__row[data-v-a79bd298]{display:flex;flex-wrap:wrap;gap:.5rem}.music-search input[data-v-a79bd298]{flex:1;min-width:12rem;min-height:2.75rem;width:100%;padding:.6rem .8rem;border:1px solid var(--rule-strong);border-radius:.4rem;background:var(--paper-raised);color:var(--ink)}.music-search button[data-v-a79bd298]{min-height:2.75rem;padding:.5rem .8rem;border:1px solid var(--rule-strong);border-radius:.4rem;color:var(--ink);background:var(--paper);cursor:pointer}.music-search .music-search__hint[data-v-a79bd298],.music-search .music-search__count[data-v-a79bd298]{margin:.6rem 0 0;font-size:.9rem;color:var(--ink-muted)}.music-categories[data-v-a79bd298]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.5rem}.music-categories a[data-v-a79bd298]{display:block;padding-block:.5rem;min-height:2.75rem}.music-categories span[data-v-a79bd298],.music-entries a span[data-v-a79bd298]{display:block}.music-categories span[lang=en][data-v-a79bd298]{font-size:.9rem}.music-heading-en[data-v-a79bd298]{display:block;margin-top:.45rem;font-family:var(--font-sans);font-size:1rem;font-weight:400;color:var(--ink-muted);letter-spacing:normal}.music-entries[data-v-a79bd298]{list-style:none;padding:0}.music-entries li[data-v-a79bd298]{margin:0;padding-block:1rem;border-bottom:1px solid var(--rule);overflow-wrap:anywhere}.music-entries a[data-v-a79bd298]{display:inline-block;min-height:2.75rem;font-weight:500}.music-entries a span[lang=en][data-v-a79bd298]{margin-top:.2rem;font-size:.95rem;font-weight:400}.music-entries small[data-v-a79bd298]{display:block;margin-top:.4rem;color:var(--ink-muted);font-size:.78rem;line-height:1.6}@media (max-width: 30rem){.music-categories[data-v-a79bd298]{grid-template-columns:minmax(0,1fr)}}
