@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/ibm-plex-mono-400-latin.woff2") format("woff2");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}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/ibm-plex-mono-400-latin-ext.woff2") format("woff2");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:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/ibm-plex-mono-500-latin.woff2") format("woff2");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}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/ibm-plex-mono-500-latin-ext.woff2") format("woff2");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:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/ibm-plex-mono-600-latin.woff2") format("woff2");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}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/ibm-plex-mono-600-latin-ext.woff2") format("woff2");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:"IBM Plex Sans Condensed";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/ibm-plex-sans-condensed-400-latin.woff2") format("woff2");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}
@font-face{font-family:"IBM Plex Sans Condensed";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/ibm-plex-sans-condensed-400-latin-ext.woff2") format("woff2");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:"IBM Plex Sans Condensed";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/ibm-plex-sans-condensed-500-latin.woff2") format("woff2");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}
@font-face{font-family:"IBM Plex Sans Condensed";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/ibm-plex-sans-condensed-500-latin-ext.woff2") format("woff2");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:"IBM Plex Sans Condensed";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/ibm-plex-sans-condensed-600-latin.woff2") format("woff2");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}
@font-face{font-family:"IBM Plex Sans Condensed";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/ibm-plex-sans-condensed-600-latin-ext.woff2") format("woff2");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:"IBM Plex Sans Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/ibm-plex-sans-condensed-700-latin.woff2") format("woff2");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}
@font-face{font-family:"IBM Plex Sans Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/ibm-plex-sans-condensed-700-latin-ext.woff2") format("woff2");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}

:root{color-scheme:light;--paper:#f1efe8;--paper-2:#e7e3d8;--ink:#101010;--muted:#68675f;--line:#aaa69a;--signal:#ff4d24;--signal-on-paper:#ad2e10;--free:#70c361;--free-ink:#0b3515;--shadow:rgba(16,16,16,.18);--max:760px;--spine:58px;--masthead-height:66px;--section-height:47px;--text-base:17px;--text-ui:14px;--text-small:13px;--text-label:12px;--text-micro:12px;font-family:"IBM Plex Sans Condensed","Arial Narrow",Arial,sans-serif;font-synthesis:none}
html[data-theme="night"]{color-scheme:dark;--paper:#171717;--paper-2:#222220;--ink:#f3f0e7;--muted:#aaa79e;--line:#4a4843;--signal:#ff623f;--signal-on-paper:#ff7658;--free:#70c361;--free-ink:#071d0c;--shadow:rgba(0,0,0,.48)}
*{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth;background:var(--paper);font-size:var(--text-base);-webkit-text-size-adjust:100%}
body{width:100%;min-width:0;margin:0;overflow-x:hidden;overflow-x:clip;background:var(--paper);color:var(--ink);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased}
body:lang(zh-CN){font-family:"IBM Plex Sans Condensed","PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif}
button,input{font:inherit}
button,a,input{-webkit-tap-highlight-color:transparent}
button{color:inherit}
img{display:block;max-width:100%}
a{color:inherit}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:100;top:-80px;left:max(12px,env(safe-area-inset-left));padding:10px 14px;background:var(--signal);color:#fff;font-family:"IBM Plex Mono",monospace;font-size:var(--text-small)}
.skip-link:focus{top:max(10px,env(safe-area-inset-top))}

.masthead,.detail-nav{position:sticky;z-index:30;top:0;display:grid;grid-template-columns:56px minmax(0,1fr) var(--spine);align-items:stretch;width:min(100%,var(--max));height:calc(var(--masthead-height) + env(safe-area-inset-top));margin:0 auto;padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--ink);background:var(--paper);background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(12px)}
.icon-button,.theme-button,.detail-theme,.menu-close{border:0;background:transparent;color:inherit;cursor:pointer}
.menu-button{display:grid;min-width:44px;min-height:44px;place-items:center;border-right:1px solid var(--ink)}
.menu-glyph{position:relative;display:block;width:22px;height:18px}
.menu-glyph i{position:absolute;left:0;display:block;height:2px;background:var(--ink);transition:width .2s ease,transform .2s ease}
.menu-glyph i:first-child{top:4px;width:22px}.menu-glyph i:last-child{top:12px;width:14px}
.menu-button:hover .menu-glyph i:last-child,.menu-button:focus-visible .menu-glyph i:last-child{width:22px}
.wordmark{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:0 13px;text-decoration:none;text-transform:uppercase;font-size:17px;font-weight:700;line-height:.85;letter-spacing:-.03em}
.wordmark span:last-child{margin-left:23px}
.masthead-tools{display:grid;grid-template-columns:1fr;align-items:stretch;border-left:1px solid var(--ink)}
.theme-button,.detail-theme{min-width:44px;min-height:44px;font-size:19px}

.section-index{position:sticky;z-index:29;top:calc(var(--masthead-height) + env(safe-area-inset-top));width:min(100%,var(--max));height:var(--section-height);margin:0 auto;overflow:hidden;border-bottom:1px solid var(--ink);background:var(--paper);background:color-mix(in srgb,var(--paper) 96%,transparent);backdrop-filter:blur(12px)}
.section-index-track{display:flex;height:100%;gap:25px;align-items:center;overflow-x:auto;padding:0 max(14px,env(safe-area-inset-left));scroll-padding-inline:14px;scrollbar-width:none;overscroll-behavior-inline:contain}
.section-index-track::-webkit-scrollbar{display:none}
.section-index a{position:relative;display:flex;min-height:44px;align-items:center;flex:0 0 auto;text-decoration:none;font-family:"IBM Plex Mono",monospace;font-size:var(--text-small);text-transform:uppercase;letter-spacing:.04em}
.section-index a::after{position:absolute;content:"";left:0;right:100%;bottom:0;height:3px;background:var(--signal);transition:right .2s ease}
.section-index a:hover::after,.section-index a:focus-visible::after,.section-index a.is-active::after{right:0}
.section-index .free-link{gap:6px}.section-index .free-link>span{width:8px;height:8px;border-radius:50%;background:var(--free);box-shadow:0 0 0 3px color-mix(in srgb,var(--free) 25%,transparent)}

main{width:min(100%,var(--max));margin:0 auto;overflow:hidden}
.dispatch{padding:28px max(15px,env(safe-area-inset-right)) 17px max(15px,env(safe-area-inset-left));border-bottom:1px solid var(--ink)}
.dispatch-title{margin:0 0 12px}.dispatch-title h1{margin:0;overflow-wrap:anywhere;text-transform:uppercase;font-size:clamp(49px,16.2vw,88px);font-weight:700;line-height:.75;letter-spacing:-.075em}.dispatch-title h1 span{display:block}.dispatch-title h1 span:last-child{margin-left:25px}
.dispatch-title.is-single h1{font-size:clamp(43px,13.5vw,76px);line-height:.8}.dispatch-title.is-single h1 span:last-child{margin-left:0}
.dispatch-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-family:"IBM Plex Mono",monospace;font-size:clamp(11.5px,3.333vw,var(--text-label));line-height:1.4;text-transform:uppercase;letter-spacing:.05em}.dispatch-footer>span:first-child{white-space:nowrap}.register-mark{color:var(--signal);font-size:19px;line-height:.5}

.deadline-index{margin:0;padding:0;list-style:none}.deadline-entry{position:relative;border-bottom:1px solid var(--ink);content-visibility:auto;contain-intrinsic-size:154px}.deadline-entry>a{position:relative;display:grid;grid-template-columns:25px 56px minmax(0,1fr) var(--spine);min-height:154px;width:100%;padding:0;background:transparent;color:inherit;text-align:left;text-decoration:none}
.entry-number{display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line);color:var(--muted);font-family:"IBM Plex Mono",monospace;font-size:var(--text-micro);line-height:1;text-align:center;writing-mode:vertical-rl}
.entry-image{display:block;width:56px;height:100%;min-height:154px;overflow:hidden;border-right:1px solid var(--ink);background:var(--paper-2)}.entry-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.deadline-entry>a:hover .entry-image img,.deadline-entry>a:focus-visible .entry-image img{transform:scale(1.05)}
.entry-copy{display:flex;min-width:0;flex-direction:column;justify-content:space-between;padding:14px 12px 13px}.entry-category{color:var(--muted);font-family:"IBM Plex Mono",monospace;font-size:var(--text-label);line-height:1.3;text-transform:uppercase}.entry-copy strong{display:block;margin:8px 0 10px;overflow-wrap:anywhere;font-size:clamp(20px,6.2vw,31px);font-weight:500;line-height:1;letter-spacing:-.04em}.entry-arrow{display:flex;justify-content:space-between;padding-top:7px;border-top:1px solid var(--line);font-family:"IBM Plex Mono",monospace;font-size:var(--text-label);line-height:1.3;text-transform:uppercase}.entry-arrow b{color:var(--signal);font-size:14px;font-weight:400}
.date-spine{position:relative;display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;background:var(--ink);color:var(--paper);font-family:"IBM Plex Mono",monospace;font-style:normal;text-transform:uppercase}.deadline-key{position:absolute;top:8px;left:50%;width:calc(100% - 8px);padding-bottom:4px;color:color-mix(in srgb,var(--paper) 78%,transparent);font-size:clamp(8px,2.25vw,9px);line-height:1.2;letter-spacing:.01em;text-align:center;white-space:nowrap;transform:translateX(-50%)}.date-spine strong{color:var(--paper);font-size:30px;line-height:1;letter-spacing:-.1em}.date-spine .month{margin-top:3px;color:var(--signal);font-size:var(--text-label);font-weight:600;letter-spacing:.1em}.date-spine .year{margin-top:11px;color:color-mix(in srgb,var(--paper) 70%,transparent);font-size:var(--text-micro);line-height:1;writing-mode:vertical-rl}
.index-free,.featured-marker{position:absolute;z-index:2;padding:5px 8px 5px 10px;font-family:"IBM Plex Mono",monospace;font-size:var(--text-micro);font-weight:600;line-height:1;text-transform:uppercase;clip-path:polygon(6px 0,100% 0,100% 100%,6px 100%,0 50%)}
.index-free{right:calc(var(--spine) - 5px);top:12px;background:var(--free);color:var(--free-ink)}
.featured-marker{right:calc(var(--spine) - 5px);top:12px;background:var(--signal);color:#111}.featured-marker+.index-free{top:40px}.deadline-entry.is-featured .entry-category{margin-right:80px}.deadline-entry.is-featured.has-free-tab .entry-copy strong{margin-right:34px}

.newsletter-panel{display:grid;grid-template-columns:48px minmax(0,1fr);gap:0 14px;padding:30px max(15px,env(safe-area-inset-right)) 28px max(15px,env(safe-area-inset-left));border-bottom:1px solid #111;background:var(--signal);color:#111}.newsletter-index{grid-row:1/span 2;font-family:"IBM Plex Mono",monospace;font-size:var(--text-label);writing-mode:vertical-rl}.newsletter-panel p{margin:0;text-transform:uppercase;font-size:36px;font-weight:600;line-height:.87;letter-spacing:-.055em}.newsletter-panel div>span{display:block;max-width:320px;margin-top:13px;font-family:"IBM Plex Mono",monospace;font-size:var(--text-label);line-height:1.55;text-transform:uppercase}.newsletter-panel>a{grid-column:2;display:flex;min-height:46px;align-items:center;justify-content:space-between;margin-top:22px;padding:8px 0 3px;border-top:1px solid #111;text-decoration:none;font-family:"IBM Plex Mono",monospace;font-size:var(--text-small);font-weight:600;text-transform:uppercase}

.prototype-footer{display:flex;max-width:var(--max);margin:0 auto;flex-direction:column;gap:6px;padding:25px max(15px,env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) max(15px,env(safe-area-inset-left));background:var(--ink);color:var(--paper)}.prototype-footer>strong{text-transform:uppercase;font-size:22px;line-height:1}.prototype-footer>span,.prototype-footer small,.prototype-footer nav,.award-credit{font-family:"IBM Plex Mono",monospace;font-size:var(--text-label);line-height:1.45;text-transform:uppercase}.prototype-footer nav{display:flex;flex-wrap:wrap;gap:14px 22px;margin-top:19px;padding-top:13px;border-top:1px solid color-mix(in srgb,var(--paper) 28%,transparent)}.prototype-footer nav a{text-decoration:none}.award-credit{display:flex;max-width:360px;align-items:center;gap:11px;margin-top:12px;color:color-mix(in srgb,var(--paper) 76%,transparent);text-transform:none}.award-credit img{flex:0 0 44px}.prototype-footer>small{margin-top:12px;color:color-mix(in srgb,var(--paper) 58%,transparent)}

.menu-sheet{position:fixed;z-index:70;inset:0;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom);background:var(--signal);color:#111;animation:sheet-in .32s cubic-bezier(.2,.8,.2,1) both}.menu-sheet-head{display:flex;height:calc(66px + env(safe-area-inset-top));align-items:center;justify-content:space-between;padding:env(safe-area-inset-top) 0 0 max(15px,env(safe-area-inset-left));border-bottom:1px solid #111;font-family:"IBM Plex Mono",monospace;font-size:var(--text-small);text-transform:uppercase}.menu-close{align-self:stretch;width:58px;border-left:1px solid #111;color:#111;font-size:30px}.menu-search{padding:14px max(15px,env(safe-area-inset-right)) 15px max(15px,env(safe-area-inset-left));border-bottom:1px solid #111}.menu-search label{display:block;margin-bottom:6px;font-family:"IBM Plex Mono",monospace;font-size:var(--text-label);text-transform:uppercase}.menu-search>div{display:grid;grid-template-columns:minmax(0,1fr) 48px;border:1px solid #111;background:color-mix(in srgb,var(--signal) 82%,#fff)}.menu-search input{min-width:0;height:48px;padding:0 12px;border:0;background:transparent;color:#111;font-size:16px}.menu-search button{border:0;border-left:1px solid #111;background:#111;color:var(--signal);font-size:20px}.menu-sheet>nav a{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;min-height:64px;padding:8px max(15px,env(safe-area-inset-right)) 8px max(15px,env(safe-area-inset-left));border-bottom:1px solid #111;text-decoration:none;text-transform:uppercase;font-size:clamp(25px,7.5vw,42px);font-weight:600;line-height:.9;letter-spacing:-.05em}.menu-sheet>nav a>span{font-family:"IBM Plex Mono",monospace;font-size:var(--text-label);letter-spacing:0}.menu-sheet>nav a:hover,.menu-sheet>nav a:focus-visible{background:#111;color:var(--signal)}.menu-sheet>nav a.menu-free::after{content:"FREE";justify-self:end;padding:4px 7px;background:var(--free);color:var(--free-ink);font-family:"IBM Plex Mono",monospace;font-size:var(--text-micro);letter-spacing:.03em}.menu-sheet>nav a.menu-free{grid-template-columns:38px minmax(0,1fr) auto}.menu-sheet-foot{display:flex;flex-wrap:wrap;gap:12px 20px;padding:23px max(15px,env(safe-area-inset-right)) 40px max(15px,env(safe-area-inset-left));font-family:"IBM Plex Mono",monospace;font-size:var(--text-small);text-transform:uppercase}.menu-sheet-foot span{margin-left:auto}.is-locked{overflow:hidden!important;touch-action:none}

.detail-nav{grid-template-columns:56px minmax(0,1fr) var(--spine)}.detail-close{display:flex;min-width:0;align-items:center;gap:10px;padding:0 13px;text-decoration:none;text-transform:uppercase;font-size:17px;font-weight:700;line-height:1;letter-spacing:-.02em}.detail-close span{flex:0 0 auto;color:var(--signal);font-family:"IBM Plex Mono",monospace;font-size:16px;font-weight:500}.detail-theme{border-left:1px solid var(--ink)}
.article-main{border-top:0}.detail-hero{display:grid;grid-template-columns:minmax(0,1fr) var(--spine);max-width:var(--max);margin:0 auto}.detail-heading{display:flex;min-height:250px;flex-direction:column;align-items:flex-start;padding:24px 15px 29px;border-right:1px solid var(--ink)}.detail-breadcrumb{display:inline-flex;min-height:44px;align-items:center;font-family:"IBM Plex Mono",monospace;font-size:var(--text-label);text-decoration:none;text-transform:uppercase}.detail-heading h1{margin:26px 0 0;overflow-wrap:anywhere;text-transform:uppercase;font-size:clamp(42px,11.7vw,72px);font-weight:600;line-height:.84;letter-spacing:-.065em}.detail-free{align-self:flex-end;margin-top:18px;padding:7px 10px 7px 14px;background:var(--free);color:var(--free-ink);font-family:"IBM Plex Mono",monospace;font-size:var(--text-label);text-transform:uppercase;clip-path:polygon(7px 0,100% 0,100% 100%,7px 100%,0 50%)}.detail-hero>.article-image{grid-column:1;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-top:1px solid var(--ink);border-right:1px solid var(--ink)}.detail-deadline{grid-column:2;grid-row:1/span 2;display:flex;min-width:0;flex-direction:column;align-items:center;background:var(--ink);color:var(--paper);font-family:"IBM Plex Mono",monospace;text-transform:uppercase}.detail-deadline .deadline-label{width:calc(100% - 8px);margin-top:8px;padding:0 0 4px;color:color-mix(in srgb,var(--paper) 78%,transparent);font-size:clamp(8px,2.25vw,9px);line-height:1.2;letter-spacing:.01em;text-align:center;white-space:nowrap}.detail-deadline>strong{margin-top:32px;color:var(--paper);font-size:26px;letter-spacing:-.08em;writing-mode:vertical-rl}.detail-deadline .deadline-month{color:var(--signal)}.detail-deadline small{display:flex;width:calc(100% - 16px);flex-direction:column;align-items:center;margin-top:auto;margin-bottom:12px;padding:9px 2px 8px;border-top:1px solid color-mix(in srgb,var(--paper) 42%,transparent);font-size:var(--text-micro);font-weight:500;line-height:1.3;letter-spacing:.03em;text-align:center}.detail-deadline small b{color:var(--signal);font-size:19px;line-height:1}.detail-deadline small span{margin-top:3px}.detail-hero.no-deadline{grid-template-columns:1fr}.detail-hero.no-deadline .detail-heading{border-right:0}.detail-hero.no-deadline>.article-image{grid-column:1;border-right:0}.published-note{margin-top:auto;padding-top:18px;color:var(--muted);font-family:"IBM Plex Mono",monospace;font-size:var(--text-label);text-transform:uppercase}

.detail-body{max-width:680px;margin:0 auto;padding:35px 20px 42px}.detail-body>p{margin:0 0 1.35em;font-size:18px;line-height:1.58}.detail-body>.detail-lede{font-size:clamp(24px,7vw,29px);line-height:1.17;letter-spacing:-.025em}.article-body a{overflow-wrap:anywhere}.article-body h2,.article-body h3,.article-body h4{line-height:1.15;margin:1.55em 0 .65em}.article-body h2{font-size:26px}.article-body h3{font-size:22px}.article-body ul,.article-body ol{padding-left:25px}.article-body li{margin-bottom:.45em}.article-body blockquote{margin:28px 0;padding:18px;border-left:5px solid var(--signal);background:var(--paper-2);font-size:21px}.article-inline-image{width:100%;height:auto;margin:24px 0;background:var(--paper-2)}.article-body iframe{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16/9;margin:24px 0;border:0;background:var(--ink)}.article-gallery{display:flex;align-items:flex-start;gap:12px;max-width:100%;margin:25px 0;padding-bottom:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}.gallery-item{flex:0 0 88%;scroll-snap-align:center}.article-gallery .article-inline-image{width:100%;height:auto;aspect-ratio:4/3;margin:0;object-fit:contain;object-position:center;background:transparent}.caption{margin-top:7px;color:var(--muted);font-family:"IBM Plex Mono",monospace;font-size:var(--text-label)}
.article-info-card{margin:38px -20px 0;border-top:1px solid var(--ink)}.article-info-card+.article-info-card{margin-top:0}.article-info-card{display:grid;grid-template-columns:48px minmax(0,1fr);border-bottom:1px solid var(--ink)}.article-info-card::before{display:flex;grid-row:1/span 2;justify-content:center;padding-top:17px;border-right:1px solid var(--ink);color:var(--signal);font-family:"IBM Plex Mono",monospace;font-size:var(--text-small);content:"C"}.article-info-card.is-eligibility::before{content:"A"}.article-info-card.is-prize::before{content:"B"}.article-info-card>.article-section{grid-column:2;margin:0;padding:15px 15px 0;text-transform:uppercase;font-size:24px;line-height:1}.article-info-content{grid-column:2;padding:10px 15px 19px;font-size:16px;line-height:1.55}.article-info-content p:last-child{margin-bottom:0}
.detail-actions{max-width:680px;margin:0 auto;padding:0 20px 42px}.official-link,.share-link{display:flex;width:100%;min-height:60px;align-items:center;justify-content:space-between;padding:0 16px;border:1px solid var(--ink);text-decoration:none;text-transform:uppercase;font-family:"IBM Plex Mono",monospace;font-size:var(--text-small);font-weight:600}.official-link{background:var(--ink);color:var(--paper)}.official-link span:last-child,.share-link span:last-child{color:var(--signal);font-size:19px}.share-link{margin-top:10px;background:transparent;color:inherit;cursor:pointer}.share-status{min-height:24px;margin:8px 0 0;color:var(--muted);font-family:"IBM Plex Mono",monospace;font-size:var(--text-label)}
.keep-looking{max-width:var(--max);margin:0 auto;padding:28px 15px 45px;border-top:1px solid var(--ink);background:var(--paper-2)}.index-kicker{display:block;margin-bottom:3px;color:var(--signal-on-paper);font-family:"IBM Plex Mono",monospace;font-size:var(--text-label);font-weight:600;text-transform:uppercase;letter-spacing:.08em}.keep-looking h2{margin:4px 0 18px;text-transform:uppercase;font-size:clamp(30px,9vw,45px);line-height:.95}.keep-looking a{display:grid;grid-template-columns:minmax(0,1fr) 65px;gap:12px;padding:15px 0;border-top:1px solid var(--line);text-decoration:none;font-size:19px;line-height:1.08}.keep-looking a span:last-child{color:var(--signal-on-paper);font-family:"IBM Plex Mono",monospace;font-size:var(--text-label);line-height:1.4;text-align:right}

.newsletter-page,.search-page,.not-found{min-height:55vh;padding:38px 20px 55px}.newsletter-page h1,.search-page h1,.not-found h1{margin:0;text-transform:uppercase;font-size:clamp(46px,14vw,76px);line-height:.83;letter-spacing:-.06em}.newsletter-page>.lede,.search-page>.lede,.not-found>p{max-width:540px;margin:22px 0 28px;font-size:20px;line-height:1.35}.newsletter-form,.search-form{max-width:560px;margin-top:28px}.newsletter-form label,.search-form label{display:block;margin-bottom:8px;font-family:"IBM Plex Mono",monospace;font-size:var(--text-label);text-transform:uppercase}.form-row{display:grid;grid-template-columns:minmax(0,1fr) auto;border:1px solid var(--ink)}.form-row input{min-width:0;height:56px;padding:0 13px;border:0;background:var(--paper);color:var(--ink);font-size:17px}.form-row button{min-width:110px;border:0;border-left:1px solid var(--ink);background:var(--ink);color:var(--paper);font-family:"IBM Plex Mono",monospace;font-size:var(--text-small);font-weight:600;text-transform:uppercase;cursor:pointer}.form-row button[disabled]{cursor:wait;opacity:.68}.form-help{margin:9px 0 0;color:var(--muted);font-family:"IBM Plex Mono",monospace;font-size:var(--text-label)}.form-status{display:none;margin-top:14px;padding:12px;border:1px solid var(--ink);font-family:"IBM Plex Mono",monospace;font-size:var(--text-small)}.form-status.is-visible{display:block}.form-status.is-success{border-color:var(--free);background:color-mix(in srgb,var(--free) 16%,var(--paper))}.form-status.is-error{border-color:var(--signal);background:color-mix(in srgb,var(--signal) 12%,var(--paper))}.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.search-summary{margin:22px 0 0;font-family:"IBM Plex Mono",monospace;font-size:var(--text-small)}.search-page+.deadline-index{border-top:1px solid var(--ink)}.empty-state{min-height:230px;padding:48px 22px;text-align:center}.empty-state p{margin:0 auto;max-width:440px;color:var(--muted);font-size:20px}.empty-state a,.not-found a{display:inline-flex;min-height:48px;align-items:center;margin-top:18px;padding:0 16px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;font-family:"IBM Plex Mono",monospace;font-size:var(--text-small);text-transform:uppercase}
.search-page{min-height:50vh;padding-bottom:0}

button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--signal);outline-offset:-3px}.toast{position:fixed;z-index:90;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));max-width:calc(100% - 30px);padding:10px 13px;border:1px solid var(--ink);background:var(--paper);box-shadow:0 10px 30px var(--shadow);color:var(--ink);font-family:"IBM Plex Mono",monospace;font-size:var(--text-small);text-transform:uppercase;transform:translateX(-50%)}
.dispatch-title h1 span{white-space:nowrap}.dispatch-title.is-english-heading h1{font-size:clamp(42px,14.5vw,84px)}.dispatch-title h1:lang(zh-CN),.detail-heading h1:lang(zh-CN){line-height:1}
@keyframes sheet-in{from{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:translateY(0)}}

@media(min-width:600px){.deadline-entry>a{grid-template-columns:36px 92px minmax(0,1fr) var(--spine);min-height:180px}.entry-image{width:92px;min-height:180px}.dispatch,.newsletter-panel,.prototype-footer{padding-inline:24px}.detail-heading{padding-inline:24px}.detail-body{padding-inline:0}.article-info-card{margin-inline:0}.detail-actions{padding-inline:0}.keep-looking{padding-inline:24px}.menu-sheet{left:50%;width:min(100%,760px);transform:translateX(-50%);box-shadow:0 0 0 100vmax rgba(0,0,0,.45)}.menu-sheet>nav a{font-size:38px}}
@media(max-width:420px){.dispatch-footer{align-items:flex-start}.detail-heading h1{font-size:clamp(39px,11.2vw,52px)}}
@media(max-width:360px){:root{--spine:54px;--text-base:16px}.masthead,.detail-nav{grid-template-columns:52px minmax(0,1fr) var(--spine)}.wordmark{font-size:15px}.dispatch-title h1{font-size:54px}.deadline-entry>a{grid-template-columns:20px 46px minmax(0,1fr) var(--spine)}.entry-image{width:46px}.entry-copy{padding-inline:9px}.entry-copy strong{font-size:19px}.index-free,.featured-marker{right:calc(var(--spine) - 4px)}.detail-heading{padding-inline:12px}.detail-heading h1{font-size:34px}.detail-body{padding-inline:16px}.article-info-card{margin-inline:-16px}.form-row{grid-template-columns:1fr}.form-row button{min-height:50px;border-top:1px solid var(--ink);border-left:0}.newsletter-panel p{font-size:31px}}
@media(orientation:landscape) and (max-height:520px){:root{--spine:52px;--masthead-height:56px;--section-height:44px}.masthead,.detail-nav{grid-template-columns:52px minmax(0,1fr) var(--spine)}.menu-sheet-head{height:56px}.menu-sheet>nav a{min-height:54px;font-size:25px}.detail-heading{min-height:210px}.detail-heading h1{margin-top:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{.masthead,.detail-nav,.section-index,.menu-sheet,.newsletter-panel,.prototype-footer,.share-link{display:none!important}main{border:0}.detail-hero{grid-template-columns:1fr}.detail-deadline{display:none}.detail-heading,.detail-hero>.article-image{border-right:0}.detail-body{max-width:none}}
