:root{--paper: #f5f5f4;--ink: #14161a;--muted: #5c5f65;--rule: #d9d9d5;--control: #8a8d90;--seal: #a52a1e;--fill: #e4e4e1;--stack-body: Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, "PingFang SC", "HarmonyOS Sans SC", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei", system-ui, sans-serif;--stack-display: Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, "Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", SimSun, "PingFang SC", "Microsoft YaHei", serif;--shell: 67rem;--pad: 3rem;--margin: 13rem;--gutter: 3rem;--measure: 45rem;--text-start: calc(var(--margin) + var(--gutter));--body-size: 1.0625rem;--facts-size: .875rem;--leading: 1.85;--h1: clamp(2.5rem, 5vw, 3.75rem);color:var(--ink);background:var(--paper);font-synthesis:none;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;font:400 var(--body-size)/var(--leading) var(--stack-body)}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}::selection{background:var(--seal);color:var(--paper)}:focus-visible{outline:2px solid var(--seal);outline-offset:3px}html{scrollbar-gutter:stable}.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--pad)}.row{display:grid;grid-template-columns:var(--margin) minmax(0,var(--measure));column-gap:var(--gutter);align-items:start}.ruled{position:relative;padding-top:1.5rem}.ruled:before{content:"";position:absolute;top:0;left:var(--text-start);right:0;height:1px;background:var(--rule)}.facts{color:var(--muted);font-size:var(--facts-size);line-height:1.6}.facts-stacked>*+*{margin-top:.85rem}.main,.piece-main,.device-main{grid-column:2}.mark{color:var(--seal);margin-bottom:.35rem}.key{color:var(--seal)}.date{font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:10;background:var(--paper);border:1px solid var(--control);padding:.75rem 1rem}.skip-link:focus{top:1rem}.masthead{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;padding-top:2.25rem}.brand{font-family:var(--stack-display);font-size:1.3rem;letter-spacing:-.01em}.nav{display:flex;gap:1.75rem;font-size:.875rem}.nav a{position:relative;padding:.5rem 0;color:var(--muted)}.nav a:hover,.nav a[aria-current],.nav a.nav-here{color:var(--ink)}.nav a[aria-current]:after,.nav a.nav-here:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--seal)}.statement{margin-top:5.5rem}.statement-fact{color:var(--muted);font-size:var(--facts-size);font-variant-numeric:tabular-nums}.statement-body{grid-column:2}.statement h1{font-family:var(--stack-display);font-weight:400;font-size:var(--h1);line-height:1.34;letter-spacing:.02em}.statement-lede{margin-top:1.5rem;color:var(--muted);font-size:calc(var(--body-size) - 1px);line-height:1.9;text-wrap:pretty}.project{margin-top:3.25rem}.project-fact{color:var(--muted);font-size:var(--facts-size)}.project-body{grid-column:2}.project-name{font-family:var(--stack-display);font-weight:400;font-size:1.6rem;letter-spacing:.01em}.project-line{margin-top:.5rem;color:var(--muted);font-size:calc(var(--body-size) - 1px);line-height:1.8}.project-link{display:inline-block;margin-top:1rem;color:var(--seal);font-size:calc(var(--body-size) - 1px);border-bottom:1px solid currentColor;padding-bottom:.15rem}.project-link:hover{color:var(--ink)}.archive{margin-top:6.5rem}.archive-count{color:var(--muted);font-size:var(--facts-size)}.archive-main{grid-column:2;display:flex;align-items:baseline;gap:.75rem}.archive-main h2{font-size:1.75rem;font-weight:600}.archive-sample{color:var(--muted);font-size:var(--facts-size)}.archive-tools{margin-top:2rem}.archive-tools-main{grid-column:2}.filters{display:flex;flex-wrap:wrap;gap:.25rem}.filter{border:0;background:none;color:var(--muted);font-size:.875rem;min-height:2.5rem;padding:0 .7rem;border-bottom:2px solid transparent}.filter:first-child{padding-left:0}.filter:hover:not([aria-pressed=true]){color:var(--ink)}.filter[aria-pressed=true]{color:var(--seal);border-bottom-color:var(--seal)}.search{display:flex;align-items:center;width:100%;max-width:22rem;margin-top:1.25rem;background:#fff;border:1px solid var(--control);border-radius:2px}.search:focus-within{border-color:var(--seal);outline:2px solid var(--seal);outline-offset:2px}.search input{flex:1;min-width:0;border:0;background:none;outline:none;padding:.7rem .85rem;font-size:.9375rem}.search input::placeholder{color:var(--muted)}.search button{border:0;background:none;padding:.7rem .9rem;font-size:.875rem;color:var(--seal)}.search button:hover{color:var(--ink)}.entries{margin-top:2.75rem}.entry{padding-top:2.25rem}.entry+.entry{margin-top:1.75rem;padding-top:1.5rem}.entry-title{font-size:1.0625rem;font-weight:600;line-height:1.55;text-wrap:pretty}.entry-summary{margin-top:.35rem;color:var(--muted);font-size:.9375rem;line-height:1.75;text-wrap:pretty}.entry-tags{margin-top:.4rem;color:var(--muted);font-size:var(--facts-size)}.entry:first-child .entry-title{font-family:var(--stack-display);font-weight:400;font-size:clamp(1.75rem,3.2vw,2.375rem);line-height:1.3;letter-spacing:.01em}.entry:first-child .entry-summary{margin-top:1rem;font-size:calc(var(--body-size) + 1px);line-height:1.85}.entry:first-child .entry-tags{margin-top:.9rem}.entry-title a:hover{color:var(--seal)}.piece{margin-top:5.5rem}.piece-head{padding-top:2.25rem}.piece-title{font-family:var(--stack-display);font-weight:400;font-size:clamp(2rem,4vw,2.75rem);line-height:1.32;letter-spacing:.01em;text-wrap:pretty}.piece-summary{margin-top:1.25rem;color:var(--muted);font-size:calc(var(--body-size) + 1px);line-height:1.85;text-wrap:pretty}.piece-tags{margin-top:.9rem;color:var(--muted);font-size:var(--facts-size)}.piece-body{margin-top:3rem}.piece-foot{margin-top:3.5rem}.piece-back{color:var(--muted);font-size:var(--facts-size);border-bottom:1px solid var(--rule);padding-bottom:.15rem}.piece-back:hover{color:var(--seal);border-bottom-color:currentColor}.sk-piece-title{width:76%;height:1.75rem}.prose{font-size:calc(var(--body-size) + 1px)}.prose>*+*{margin-top:1.5rem}.prose>:first-child{margin-top:0}.prose h1,.prose h2{font-family:var(--stack-display);font-weight:400;font-size:1.5rem;line-height:1.4;letter-spacing:.01em;margin-top:3rem}.prose h1{font-size:1.65rem}.prose h3{font-size:1.0625rem;font-weight:600;line-height:1.6;margin-top:2.25rem}.prose strong{font-weight:600}.prose ul,.prose ol{padding-left:1.5rem}.prose li+li{margin-top:.4rem}.prose blockquote{border-left:2px solid var(--seal);padding-left:1.25rem;color:var(--muted)}.prose a{color:var(--seal);border-bottom:1px solid currentColor}.prose a:hover{color:var(--ink)}.prose hr{border:0;height:1px;background:var(--rule);margin-top:3rem}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875em;background:var(--fill);border-radius:2px;padding:.15em .35em}.prose pre{background:var(--fill);border-radius:2px;padding:1rem 1.25rem;overflow-x:auto}.prose pre code{background:none;padding:0;font-size:.875rem;line-height:1.7}.notice h1,.notice h3{font-size:1.1875rem;font-weight:600}.notice p{margin-top:.6rem;color:var(--muted);font-size:.9375rem}.notice button,.notice .pager-btn{margin-top:1.4rem}.sk{display:block;background:var(--fill);border-radius:2px}.sk-fact{width:3.5rem;height:.6rem}.sk-fact-sm{width:2.5rem;margin-top:.55rem}.sk-title{width:68%;height:.95rem}.entry:first-child .sk-title{width:78%;height:1.5rem;margin-top:.55rem}.sk-line{width:100%;height:.6rem;margin-top:.9rem}.sk-line-short{width:54%}.pager{margin-top:3rem}.pager-nav{grid-column:2;display:flex;align-items:center;gap:1.25rem}.pager-btn{display:inline-flex;align-items:center;background:none;border:1px solid var(--control);border-radius:2px;padding:0 1rem;min-height:2.5rem;font-size:.875rem}.pager-btn:hover:enabled{border-color:var(--seal);color:var(--seal)}.pager-count{color:var(--muted);font-size:var(--facts-size);font-variant-numeric:tabular-nums}.footer{margin-top:4.5rem;padding-bottom:3.5rem}.footer-made{color:var(--muted);font-size:var(--facts-size)}.footer-main{grid-column:2;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem}.footer-main p{color:var(--muted);font-size:var(--facts-size)}.footer-main a{color:var(--muted);border-bottom:1px solid var(--rule);font-size:var(--facts-size)}.footer-main a:hover{color:var(--seal);border-bottom-color:currentColor}.form-title{font-family:var(--stack-display);font-weight:400;font-size:1.75rem;line-height:1.35;letter-spacing:.01em}.form-lede{margin-top:.75rem;color:var(--muted);font-size:.9375rem;line-height:1.8;max-width:30rem;text-wrap:pretty}.form{margin-top:2.25rem;max-width:21rem}.field+.field{margin-top:1.25rem}.field-label{display:block;margin-bottom:.45rem;color:var(--muted);font-size:var(--facts-size)}.field-input{display:block;width:100%;background:#fff;border:1px solid var(--control);border-radius:2px;padding:.7rem .85rem;font-size:.9375rem}.field-input:focus{border-color:var(--seal)}.field-input[aria-invalid=true]{border-color:var(--seal)}.field-hint{margin-top:.4rem;color:var(--muted);font-size:var(--facts-size)}.field-error{margin-top:.4rem;color:var(--seal);font-size:var(--facts-size)}.form-actions{margin-top:1.75rem;display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem}.form-alt{margin-top:2.25rem;padding-top:1.25rem;border-top:1px solid var(--rule);max-width:21rem;display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;color:var(--muted);font-size:var(--facts-size)}.form-alt a,.link-quiet{color:var(--seal);border-bottom:1px solid currentColor;padding-bottom:.1rem}.form-alt a:hover,.link-quiet:hover{color:var(--ink)}.link-quiet{font-size:var(--facts-size)}.primary{display:inline-flex;align-items:center;justify-content:center;background:var(--seal);color:var(--paper);border:1px solid var(--seal);border-radius:2px;min-height:2.5rem;padding:0 1.4rem;font-size:.9375rem}.primary:hover:enabled{background:var(--ink);border-color:var(--ink)}a.primary:hover{background:var(--ink);border-color:var(--ink)}.banner{border-left:2px solid var(--seal);padding:.85rem 0 .85rem 1.1rem;max-width:30rem}.banner-done{border-left-color:var(--rule)}.banner h3{font-size:1.0625rem;font-weight:600}.banner p{margin-top:.4rem;color:var(--muted);font-size:.9375rem}.banner-actions{margin-top:1rem;display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.banner+.form{margin-top:2rem}.section-note+.banner{margin-top:1.5rem}.identity{margin-top:2.25rem}.identity>div{display:flex;flex-wrap:wrap;gap:.2rem .9rem;padding:.85rem 0;border-top:1px solid var(--rule);font-size:.9375rem}.identity dt{color:var(--muted);min-width:6rem;font-size:var(--facts-size);align-self:center}.badge{color:var(--seal);font-size:var(--facts-size)}.section-head,.section{margin-top:4rem}.section-title{font-family:var(--stack-display);font-weight:400;font-size:1.5rem;letter-spacing:.01em}.section-note{margin-top:.5rem;color:var(--muted);font-size:var(--facts-size)}.devices{margin-top:2rem}.device{padding-top:1.5rem}.device+.device{margin-top:1.5rem}.device-ua{font-size:1.0625rem;line-height:1.55;text-wrap:pretty}.device-meta{margin-top:.35rem;color:var(--muted);font-size:var(--facts-size)}.device-actions{margin-top:1rem}@media(max-width:56rem){:root{--margin: 7.5rem;--gutter: 1.75rem}}@media(max-width:44rem){:root{--pad: 1.25rem;--margin: 0rem;--gutter: 0rem;--measure: 100%;--text-start: 0rem;--body-size: 1rem;--facts-size: .8125rem;--leading: 1.75;--h1: clamp(2.125rem, 5.4vw, 3.125rem)}.row{grid-template-columns:minmax(0,1fr);row-gap:0}.statement-body,.archive-main,.archive-tools-main,.main,.piece-main,.device-main,.pager-nav,.footer-main,.project-body{grid-column:1}.statement-fact,.archive-count,.footer-made,.project-fact{grid-column:1;margin-bottom:.55rem}.masthead{padding-top:1.5rem}.statement{margin-top:2.75rem}.statement h1{letter-spacing:.01em}.project{margin-top:2.5rem}.facts{display:flex;flex-wrap:wrap;gap:.25rem .9rem;margin-bottom:.7rem}.mark{margin-bottom:0}.facts-stacked{display:block}.facts-stacked>*+*{margin-top:.55rem}.entry:first-child .entry-title{font-size:1.6rem}.form-title{font-size:1.5rem}.form,.identity{margin-top:1.75rem}.identity dt{min-width:0;flex-basis:100%}.section-head,.section{margin-top:2.75rem}.devices{margin-top:1.5rem}.piece{margin-top:2.75rem}.piece-head{padding-top:1.5rem}.piece-title{font-size:1.75rem}.piece-body{margin-top:2.25rem}.piece-foot,.prose h2{margin-top:2.5rem}.prose pre{margin-inline:calc(var(--pad) * -1);border-radius:0}.filters{gap:.35rem}.filter{padding:0 .5rem}.footer{margin-top:3rem}.footer-made{margin-bottom:.75rem}}
