@font-face{font-family:SN Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sn-pro-400.woff2) format("woff2")}@font-face{font-family:SN Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/sn-pro-500.woff2) format("woff2")}@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/instrument-serif-italic.woff2) format("woff2")}:root{--l-ink: #141517;--l-body: #6b6e75;--l-faint: #a3a6ad;--l-line: #e2e3e6;--l-surface: #f3f3f4;--l-surface-strong: #e7e8ea;--l-paper: #fbfbfa;--l-paper-rgb: 251 251 250;--l-button: #1d1e21;--l-button-ink: #fbfbfa;--l-button-hover: #35373b;--l-dialog: #ffffff;--l-tab-on: #ffffff;--l-marker: #ffe48a;--l-marker-ink: #141517;--l-shadow: 0 16px 40px rgb(20 21 23 / .14), 0 2px 8px rgb(20 21 23 / .06);--l-sans: "SN Pro", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--l-serif: "Instrument Serif", "Songti SC", serif;--l-ease: cubic-bezier(.16, 1, .3, 1)}:root[data-theme=dark]{--l-ink: #f2f2f3;--l-body: #a9abb2;--l-faint: #6e7078;--l-line: #303136;--l-surface: #1f2023;--l-surface-strong: #2c2d31;--l-paper: #121315;--l-paper-rgb: 18 19 21;--l-button: #ececee;--l-button-ink: #121315;--l-button-hover: #ffffff;--l-dialog: #1a1b1e;--l-tab-on: #34353a;--l-marker: #e8c74e;--l-shadow: 0 16px 44px rgb(0 0 0 / .5), 0 2px 8px rgb(0 0 0 / .3)}html[data-page=letter]{color-scheme:light;scroll-behavior:smooth;scrollbar-gutter:stable;background:var(--l-paper)}html[data-page=letter][data-theme=dark]{color-scheme:dark}html[data-page=letter] body{margin:0;background:var(--l-paper);-webkit-font-smoothing:antialiased}.theme-changing *,.theme-changing *:before,.theme-changing *:after{transition:none!important}.letter{color:var(--l-body);font:15px/28px var(--l-sans)}.letter *,.letter *:before,.letter *:after{box-sizing:border-box}.letter a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}.letter button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.letter :is(h1,h2,p,figure,dl){margin:0}.letter :is(h1,h2){color:var(--l-ink);font:500 15px/28px var(--l-sans)}.letter :is(a,button):focus-visible{outline:1.5px solid var(--l-ink);outline-offset:3px}.letter .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.letter .sheet{width:100%;max-width:584px;margin-inline:auto;padding:72px 24px 160px}.letter.is-home .sheet{display:flex;flex-direction:column;min-height:100svh;padding-block:0}.letter.is-home .sheet:before{content:"";flex:2 1 0;min-height:56px}.letter.is-home .sheet:after{content:"";flex:3 1 0;min-height:72px}.letter-header{display:flex;align-items:center;justify-content:space-between;min-height:40px}.letter .brand{display:inline-flex;align-items:center;gap:10px;color:var(--l-ink);font-weight:500}.letter .avatar{display:block;width:24px;height:24px;border-radius:50%;object-fit:cover;background:var(--l-surface)}.letter .theme-toggle{position:relative;display:grid;place-items:center;width:40px;height:40px;margin-right:-11px;border:0;border-radius:2px;background:transparent;color:var(--l-body)}.letter .theme-toggle svg{position:absolute;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;transition:opacity .14s,transform .3s var(--l-ease)}.letter .theme-toggle .sun{opacity:0;transform:rotate(-45deg) scale(.8)}:root[data-theme=dark] .letter .theme-toggle .sun{opacity:1;transform:none}:root[data-theme=dark] .letter .theme-toggle .moon{opacity:0;transform:rotate(45deg) scale(.8)}@media(hover:hover)and (pointer:fine){.letter .theme-toggle:hover{color:var(--l-ink);background:var(--l-surface)}}.letter main{display:flex;flex-direction:column;gap:40px;padding-top:48px}.letter main p{text-wrap:pretty}.letter .prose{display:flex;flex-direction:column;gap:16px}.letter.is-home .prose{gap:26px}.letter .prose h1{margin-bottom:8px}.letter .lead{color:var(--l-ink)}.letter .section{display:flex;flex-direction:column;gap:24px}.letter .link{text-decoration:underline 1px var(--l-line);text-underline-offset:4px;transition:color .15s,text-decoration-color .15s}.letter .link:hover{color:var(--l-ink);text-decoration-color:currentColor}.letter .link:after,.letter .chip:after{content:"";display:inline-block;width:9px;height:9px;margin-left:3px;vertical-align:1px;background:var(--l-faint);transition:transform .15s var(--l-ease),background-color .15s;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M4 12 12 4M5.5 4H12v6.5'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M4 12 12 4M5.5 4H12v6.5'/%3E%3C/svg%3E") center / contain no-repeat}.letter [data-inside]:after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M3 8h10M9 4l4 4-4 4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M3 8h10M9 4l4 4-4 4'/%3E%3C/svg%3E")}.letter :is(.link,.chip):hover:after{transform:translate(1px,-1px);background:var(--l-ink)}.letter :is(.link,.chip)[data-inside]:hover:after{transform:translate(2px)}.letter .chip{position:relative;top:3px;display:inline-block;height:22px;margin:0 4px;padding:0 7px;vertical-align:top;background:var(--l-surface);color:var(--l-ink);font-size:14px;line-height:22px;white-space:nowrap;transition:background-color .15s}.letter .chip:hover{background:var(--l-surface-strong)}.letter .chip:active{transform:translateY(1px)}.letter .chip.is-line-start{margin-left:0}.letter .chip.tight{margin-right:0}.letter .halt+.chip{margin-left:2px}.letter .halt{font-feature-settings:"halt"}.letter .button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:3px 14px;border:0;border-radius:2px;background:var(--l-button);color:var(--l-button-ink);font-size:14px;line-height:28px;white-space:nowrap;transition:background-color .15s,transform .15s}.letter .button:hover{background:var(--l-button-hover)}.letter .button:active{transform:translateY(1px)}.letter .button svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s var(--l-ease)}.letter .button:hover svg{transform:translate(1px,-1px)}.letter .actions{display:flex;align-items:center;gap:16px}.letter-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:56px;padding-top:24px;border-top:1px dashed var(--l-line)}.letter-footer.is-centered{flex-direction:column;justify-content:center;gap:10px;text-align:center}.letter .footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;font-size:14px}.letter .signature{font:italic 20px/28px var(--l-serif);letter-spacing:.01em;background:linear-gradient(100deg,var(--l-body) 40%,var(--l-ink) 50%,var(--l-body) 60%) 100% 0 / 260% 100% no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;transition:background-position .9s var(--l-ease)}.letter .signature:hover{background-position:0 0}.letter .socials{display:flex;align-items:center;gap:6px}.letter .social{display:grid;place-items:center;width:28px;height:28px;color:var(--l-body);transition:color .15s,transform .2s var(--l-ease)}.letter .social:hover{color:var(--l-ink);transform:translateY(-2px)}.letter .social svg{width:16px;height:16px;fill:currentColor}.letter .dialog{width:min(352px,100% - 32px);max-height:calc(100dvh - 64px);padding:22px;border:0;background:var(--l-dialog);color:var(--l-body);box-shadow:var(--l-shadow);overflow-y:auto}.letter .dialog:focus{outline:none}.letter .dialog::backdrop{background:rgb(var(--l-paper-rgb) / .3);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:letter-fade-in .2s ease}.letter .dialog.is-closing::backdrop{animation:letter-fade-out .2s ease forwards}@keyframes letter-fade-in{0%{opacity:0}}@keyframes letter-fade-out{to{opacity:0}}.letter .dialog-head{display:flex;align-items:center;justify-content:space-between}.letter .dialog-close{display:grid;place-items:center;width:30px;height:30px;margin-right:-6px;border:0;background:none;color:var(--l-body);transition:color .15s,background-color .15s}.letter .dialog-close:hover{color:var(--l-ink);background:var(--l-surface)}.letter .dialog-close svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.letter .tabs{position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin:16px 0 12px;padding:3px;background:var(--l-surface);font-size:13px}.letter .tabs:before{content:"";position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / 3);background:var(--l-tab-on);box-shadow:0 1px 2px #00000014;transition:transform .32s var(--l-ease)}.letter .tabs[data-active=mp]:before{transform:translate(100%)}.letter .tabs[data-active=x]:before{transform:translate(200%)}.letter .qr{display:block;width:168px;height:168px;padding:8px;background:#fff}.letter .tabs button{position:relative;min-height:32px;border:0;background:none;color:var(--l-body);transition:color .15s}.letter .tabs button[aria-selected=true]{color:var(--l-ink)}.letter .channels{display:grid}.letter .channel{grid-area:1 / 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:22px 16px;background:var(--l-surface);text-align:center;transition:opacity .2s}.letter .channel:not(.is-active){opacity:0;visibility:hidden}.letter .copy{display:inline-flex;align-items:center;gap:6px;padding:1px 8px;border:0;background:var(--l-paper);color:var(--l-ink);font-size:13px;line-height:22px;transition:background-color .15s}.letter .copy:hover{background:var(--l-surface-strong)}.letter .copy svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5}.letter .copy.is-copied svg{display:none}.letter .copy.is-copied:after{content:"✓";color:var(--l-body)}.letter .channel-icon svg{display:block;width:26px;height:26px;fill:var(--l-ink)}.letter .channel p{color:var(--l-body);font-size:13px;line-height:20px}.letter .dialog-note{margin-top:14px;font-size:12px;line-height:20px;text-align:center;color:var(--l-faint)}.letter .shot{position:relative;overflow:hidden;background:var(--l-surface)}.letter .shot img{display:block;transition:transform .6s var(--l-ease)}.letter .shot-screen{aspect-ratio:16 / 10}.letter .shot-screen img{position:absolute;left:7%;top:9%;width:116%;max-width:none;border-radius:4px 0 0;box-shadow:0 1px 2px #0000000f,0 10px 30px #0000001a}.letter .shot-phone{display:flex;justify-content:center;gap:6%;aspect-ratio:4 / 3;padding-top:7%}.letter .shot-phone img{width:31%;height:auto;align-self:flex-start;border-radius:14px;box-shadow:0 1px 2px #0000000f,0 10px 30px #0000001f}.letter .shot-photo img{width:100%;height:auto}.letter .shot-svg svg{display:block;width:100%;height:auto}@media(hover:hover)and (pointer:fine){.letter .shot-screen:hover img{transform:translate(-1.2%,-1.6%)}.letter .shot-phone:hover img{transform:translateY(-2.5%)}.letter .shot-photo:hover img{transform:scale(1.03)}}.letter .marker{margin:0 -2px;padding:0 2px;border-radius:2px;background:linear-gradient(var(--l-marker),var(--l-marker)) no-repeat 0 50% / 0% 100%;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .9s cubic-bezier(.65,0,.35,1),color .25s ease .7s}.letter .marker.is-drawn{background-size:100% 100%;color:var(--l-marker-ink)}.letter .float-cta{position:fixed;z-index:30;left:0;right:0;bottom:40px;display:flex;justify-content:center;pointer-events:none;transition:opacity .2s,transform .5s cubic-bezier(.76,0,.24,1)}.letter .float-cta .button{pointer-events:auto;min-height:42px;padding:0 22px;font-size:15px;box-shadow:0 8px 24px #00000029,0 2px 6px #00000014}.letter .fade-blur{position:fixed;z-index:20;left:0;right:0;bottom:0;height:150px;pointer-events:none}.letter .fade-blur span{position:absolute;inset:0;-webkit-backdrop-filter:blur(var(--r));backdrop-filter:blur(var(--r));-webkit-mask-image:linear-gradient(to bottom,transparent var(--a),#000 var(--b));mask-image:linear-gradient(to bottom,transparent var(--a),#000 var(--b))}.letter .fade-blur span:nth-child(1){--r: .5px;--a: 0%;--b: 30%}.letter .fade-blur span:nth-child(2){--r: 2px;--a: 25%;--b: 55%}.letter .fade-blur span:nth-child(3){--r: 6px;--a: 50%;--b: 80%}.letter .fade-blur span:nth-child(4){--r: 14px;--a: 72%;--b: 100%}.letter .fade-blur:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgb(var(--l-paper-rgb) / 0),rgb(var(--l-paper-rgb) / .85) 80%,rgb(var(--l-paper-rgb)))}.has-dialog .letter .float-cta{opacity:0;transform:translateY(10px)}@media(max-width:639px){.letter .sheet{padding-top:56px}.letter-footer{flex-direction:column;align-items:flex-start;gap:6px}.letter .socials{margin-left:-6px}}@media(prefers-reduced-motion:reduce){html[data-page=letter]{scroll-behavior:auto}.letter *,.letter *:before,.letter *:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
