@font-face{font-family:Inter;src:url(/fonts/Inter-normal-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-italic-400.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-normal-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-normal-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/Inter-normal-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Newsreader;src:url(/fonts/Newsreader-normal-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Newsreader;src:url(/fonts/Newsreader-italic-400.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Newsreader;src:url(/fonts/Newsreader-normal-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Newsreader;src:url(/fonts/Newsreader-normal-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Hand Note;src:url(/fonts/hand.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:LXGW WenKai;src:url(/fonts/lxgw-wenkai-heading.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+3000-303F,U+FF00-FFEF}:root{--color-page:#fff;--color-surface:#f6f5f3;--color-ink:#161616;--color-body:#3a3a3a;--color-muted:#6e6e6e;--color-line:#e7e5e1;--color-line-soft:#efeeeb;--color-marker:#c9c6c0;--color-accent:#ffb000;--color-button:#161616;--color-button-text:#fff;--color-button-hover:#2e2e2e;--note:#2a56d4;--font-sans:Inter, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;--font-display:Newsreader, "LXGW WenKai", "Source Han Serif SC", "Noto Serif CJK SC", serif;--font-hand:"Hand Note", "Kaiti SC", "STKaiti", cursive;--text-h1:clamp(44px, 5.4vw + 14px, 82px);--text-h2-article:clamp(23px, .6vw + 19px, 26px);--text-lede:clamp(20px, .8vw + 16px, 26px);--text-body:clamp(18px, .4vw + 16px, 21px);--text-small:17px;--text-eyebrow:19px;--page-max:1200px;--gutter:24px;--intro-max:840px;--article-max:680px;--radius:8px;--wavy:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='36' height='8' viewBox='0 0 36 8' preserveAspectRatio='none'><path d='M0.6 5.4 Q 4.5 2.6 9 5.2 T 18 5 T 27 5.5 T 35.4 4.8' fill='none' stroke='%23ffb000' stroke-width='2.15' stroke-linecap='round'/></svg>");color-scheme:light}*{box-sizing:border-box}html{background:var(--color-page);text-autospace:normal}body{background:var(--color-page);color:var(--color-body);font-family:var(--font-sans);font-size:var(--text-body);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";margin:0;line-height:1.75}img,svg{max-width:100%}[hidden]{display:none!important}a{color:inherit}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}::selection{background:#fff4d6}.skip{background:var(--color-ink);color:#fff;z-index:3;padding:.4rem .7rem;position:absolute;top:-4rem;left:1rem}.skip:focus{top:.75rem}.frame,.col{width:100%;max-width:var(--page-max);padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}.site-header{align-items:center;gap:12px 40px;padding-top:30px;padding-bottom:30px;display:flex}.logo{color:var(--color-ink);letter-spacing:-.01em;white-space:nowrap;font-size:21px;font-weight:600;text-decoration:none}.nav{align-items:center;gap:32px;margin-right:auto;display:flex}.nav a{color:var(--color-body);white-space:nowrap;padding:2px 0 4px;font-size:18px;text-decoration:none}.nav a:hover{color:var(--color-ink)}.btn-sub{border-radius:var(--radius);background:var(--color-button);color:var(--color-button-text);margin-left:auto;padding:8px 16px;font-size:15px;font-weight:500;line-height:1;text-decoration:none}.btn-sub:hover{background:var(--color-button-hover);color:var(--color-button-text)}.page{flex-direction:column;gap:56px;padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(72px,9vw,120px);display:flex}.page-header{max-width:var(--intro-max);flex-direction:column;gap:24px;display:flex;position:relative}.h1{font-family:var(--font-display);font-size:var(--text-h1);font-synthesis-weight:none;letter-spacing:-.03em;color:var(--color-ink);margin:0;font-weight:600;line-height:1.05}.lede,.intro{max-width:var(--intro-max);font-size:var(--text-lede);margin:0;line-height:1.75}.intro p{margin:0 0 1.05em}.intro p:last-child{margin-bottom:0}.intro strong{color:var(--color-ink);font-weight:600}.draft{color:var(--color-muted);letter-spacing:.02em;white-space:nowrap;margin-left:.25em;font-size:13px;font-weight:600}.wavy,.nav a[aria-current=page],.copy a,a.link,.elsewhere a,.more-link,.prose a,.rail-list button[aria-current=true]{color:var(--color-ink);background-image:var(--wavy);background-position:0 calc(100% - 1px);background-repeat:repeat-x;background-size:36px 7px;padding-bottom:1px;text-decoration:none}.wide,.split,.stack,.issue-item{position:relative}.wide{max-width:var(--intro-max);flex-direction:column;gap:22px;display:flex}.split{max-width:var(--intro-max);grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;display:grid;position:relative}.stack{flex-direction:column;gap:22px;display:flex}.copy-p{font-size:var(--text-small);margin:0;line-height:1.75}.elsewhere{flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;list-style:none;display:flex}.heading-rule{align-items:baseline;gap:14px;display:flex}.heading-rule h2{font-family:var(--font-display);font-size:var(--text-eyebrow);font-synthesis-weight:none;color:var(--color-ink);flex:0 auto;margin:0;font-weight:600;line-height:1.37}.rule-dot{min-width:40px;height:12px;color:var(--color-marker);flex:1 0 40px;align-items:center;display:flex;position:relative}.rule-dot .rule-line{flex:auto;width:100%;height:8px;overflow:visible}.rule-dot .rule-mark{flex:0 0 12px;width:12px;height:12px;margin-left:8px}.posts{margin:0;padding:0;list-style:none}.posts a,.posts .row{color:var(--color-ink);align-items:baseline;gap:14px;padding:9px 0;text-decoration:none;display:flex}.posts .t{font-size:var(--text-body);color:var(--color-ink);line-height:1.4}.posts .leader,.top .leader{border-top:1px dotted var(--color-marker);flex:1 0 20px;min-width:16px;height:0}.posts .meta,.year{color:var(--color-muted);font-size:var(--text-small);font-variant-numeric:tabular-nums;flex-shrink:0}.more-link{width:max-content;font-size:var(--text-small);margin-top:8px;display:inline-block}.use-note{color:var(--color-body);font-size:var(--text-small);margin:-4px 0 12px;line-height:1.75}.proj{flex-direction:column;gap:6px;min-width:0;display:flex}.top{align-items:baseline;gap:14px;display:flex}.name{color:var(--color-ink);margin:0;font-size:21px;font-weight:600;line-height:1.35}.name a{color:var(--color-ink);text-decoration:none}.desc,.status{font-size:var(--text-small);margin:0;line-height:1.75}.status{color:var(--color-muted)}.now{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px;display:grid}.now h3{color:var(--color-ink);font-family:var(--font-display);font-synthesis-weight:none;margin:0 0 6px;font-size:17px;font-weight:600}.now p{font-size:var(--text-small);margin:0;line-height:1.75}.contact{font-size:var(--text-small);flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.placeholder{color:var(--color-muted)}.inline-form{align-items:stretch;max-width:460px;display:flex;position:relative}.inline-form input[type=email]{border:1px solid var(--color-line);border-radius:var(--radius) 0 0 var(--radius);background:var(--color-surface);min-width:0;min-height:42px;color:var(--color-ink);outline:none;flex:auto;padding:9px 14px;font-size:16px}.inline-form input::placeholder{color:var(--color-muted)}.inline-form button{border-radius:0 var(--radius) var(--radius) 0;background:var(--color-button);color:var(--color-button-text);white-space:nowrap;cursor:pointer;border:0;min-height:42px;padding:11px 20px;font-size:16px;font-weight:500}.inline-form button:hover{background:var(--color-button-hover)}.form-status,.thanks{font-size:var(--text-small);margin:0}.hp{clip-path:inset(50%);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.with-rail{grid-template-columns:minmax(0, var(--intro-max)) 240px;grid-template-areas:"head head""body rail";justify-content:space-between;align-items:start;column-gap:48px;max-width:none;display:grid}.with-rail>.page-header{grid-area:head}.with-rail>.body{flex-direction:column;grid-area:body;gap:48px;min-width:0;display:flex}.with-rail>.rail{flex-direction:column;grid-area:rail;gap:8px;display:flex;position:sticky;top:24px}.rail-tabs{flex-wrap:wrap;gap:6px;margin:0 0 8px;display:flex}.rail-tabs button,.rail-list button{cursor:pointer;background:0 0;border:0;font-family:inherit}.rail-tabs button{border-radius:var(--radius);color:var(--color-muted);padding:6px 12px;font-size:15px;position:relative}.rail-tabs button[aria-current=true]{color:var(--color-ink)}.rail-list{flex-direction:column;align-items:flex-end;margin:0;padding:0;list-style:none;display:flex}.rail-list button{color:var(--color-body);font-size:var(--text-small);text-align:right;padding:6px 0 8px;line-height:1.35;display:inline-block;position:relative}.rail-list button:hover,.rail-list button[aria-current=true]{color:var(--color-ink)}.group{flex-direction:column;gap:8px;display:flex}.group .blurb{max-width:36em;font-size:var(--text-small);margin:0 0 8px;line-height:1.75}.rail-list button[aria-current=true],.rail-tabs button[aria-current=true]{z-index:0;background:0 0}.rail-list button[aria-current=true]:before,.rail-tabs button[aria-current=true]:before{content:"";z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 52' fill='none'><path d='M14 26 C 9 9, 40 4, 80 6 C 122 8, 150 11, 148 25 C 147 41, 118 47, 78 46 C 36 45, 8 40, 12 24 C 16 14, 44 10, 80 11' stroke='%23161616' stroke-width='1.55' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-size:100% 100%;position:absolute;inset:-6px -10px -4px}.issue-list{max-width:var(--article-max);flex-direction:column;gap:8px;display:flex}.issue-item{flex-direction:column;gap:18px;padding:8px 0 28px;display:flex}.issue-item+.issue-item{border-top:1px solid var(--color-line);padding-top:36px}.item-title{font-family:var(--font-display);font-size:var(--text-h2-article);font-synthesis-weight:none;letter-spacing:-.01em;color:var(--color-ink);margin:0;font-weight:600;line-height:1.25}.item-title a{color:var(--color-ink);background-image:none;padding-bottom:0;text-decoration:none}.item-title a:hover{background-image:var(--wavy);background-position:0 calc(100% - 1px);background-repeat:repeat-x;background-size:36px 7px;padding-bottom:1px}.owner{color:var(--color-muted);font-size:var(--text-small);margin:0}.owner .who{color:var(--color-ink);font-weight:600}.block h3{color:var(--color-ink);font-family:var(--font-display);font-synthesis-weight:none;margin:0 0 8px;font-size:21px;font-weight:600;line-height:1.35}.block p,.block li{margin:0 0 .7em}.block p:last-child{margin-bottom:0}.block ul{flex-direction:column;gap:8px;margin:0;padding-left:1.3em;display:flex}.back{font-size:var(--text-small);margin:12px 0 0}.anno{z-index:2;width:7.4rem;color:var(--note);font-family:var(--font-hand);letter-spacing:.04em;pointer-events:none;font-size:26px;line-height:1.15;display:block;position:absolute}.anno svg{width:64px;height:34px;margin-bottom:2px}.anno--margin{top:.2rem;right:-8.2rem;transform:rotate(-7deg)}.anno--tr{width:8.8rem;top:-.4rem;right:-1.2rem;transform:rotate(-7deg)}.site-footer{color:var(--color-muted);font-size:var(--text-small);flex-wrap:wrap;align-items:center;gap:12px 28px;padding-top:32px;padding-bottom:40px;display:flex}.site-footer a{color:var(--color-muted);text-decoration:none}.site-footer a:hover{color:var(--color-ink)}@media (width<=1180px){.anno--margin{display:none}}@media (width<=1023px){.with-rail{grid-template-columns:1fr;grid-template-areas:"head""rail""body";row-gap:28px}.with-rail>.rail{align-items:flex-start;position:static}.rail-list{flex-flow:wrap;align-items:flex-start;gap:4px 22px}.rail-list button{text-align:left;padding:4px 0}}@media (width<=880px){.anno{display:none}}@media (width<=760px){.site-header{flex-wrap:wrap;column-gap:8px;padding-top:20px;padding-bottom:16px}.logo{margin-right:auto}.nav{order:3;gap:16px;width:100%;margin-right:0}.nav a{font-size:16px}.btn-sub{order:2}}@media (width<=720px){.split,.now{grid-template-columns:1fr}}@media (width<=640px){:root{--gutter:20px}}@media (width<=560px){.posts a,.posts .row,.top{flex-direction:column;align-items:flex-start;gap:2px}.posts .leader,.top .leader{display:none}.inline-form{flex-wrap:wrap}.inline-form input[type=email]{border-radius:var(--radius);flex:100%;width:100%}.inline-form button{border-radius:var(--radius);margin-top:8px}}
