/* What's new / Coming soon. Bold black-and-white, heavy type, no color. System fonts only. */
.ft { margin: 0; background: #000; color: #fff; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif; line-height: 1.5; }
.ft *, .ft-card *, .ft-coming * { box-sizing: border-box; }
.ft a { color: #fff; text-underline-offset: 4px; }
.ft-skip { position: absolute; left: -9999px; }
.ft-skip:focus { left: 16px; top: 8px; background: #fff; color: #000; padding: 8px 12px; z-index: 10; }
.ft :focus-visible, .ft-coming :focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.ft-top { display: flex; justify-content: space-between; align-items: center; padding: 20px 16px; border-bottom: 2px solid #fff; max-width: 1100px; margin: 0 auto; }
.ft-brand { font-weight: 900; letter-spacing: .12em; text-decoration: none; font-size: 15px; }
.ft-top nav a { margin-left: 18px; font-weight: 700; font-size: 14px; text-decoration: none; }
.ft-top nav a[aria-current] { text-decoration: underline; }
.ft-wrap { max-width: 1100px; margin: 0 auto; padding: 0 16px 80px; }
.ft-h1 { font-size: clamp(56px, 14vw, 160px); font-weight: 900; line-height: .9; letter-spacing: -.045em; margin: 56px 0 18px; text-transform: uppercase; overflow-wrap: anywhere; }
.ft-h2 { font-size: clamp(40px, 9vw, 96px); font-weight: 900; line-height: .95; letter-spacing: -.04em; margin: 0 0 14px; text-transform: uppercase; overflow-wrap: anywhere; }
.ft-h3 { font-size: clamp(22px, 4vw, 30px); font-weight: 900; line-height: 1.1; letter-spacing: -.02em; margin: 0 0 8px; }
.ft-lede { font-size: 18px; color: #d6d6d6; max-width: 640px; margin: 0 0 22px; }
.ft-section { margin-top: 96px; border-top: 2px solid #fff; padding-top: 28px; }
.ft-log { list-style: none; margin: 40px 0 0; padding: 0; }
.ft-entry { border-top: 1px solid #444; padding: 26px 0; }
.ft-entry time { display: block; font: 800 13px/1 ui-monospace, Menlo, monospace; letter-spacing: .1em; color: #bdbdbd; margin-bottom: 10px; }
.ft-entry p, .ft-entry li { font-size: 17px; color: #e6e6e6; margin: 6px 0; }
.ft-entry ul { padding-left: 20px; margin: 6px 0; }
.ft-coming { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ft-card { border: 2px solid #fff; padding: 22px; background: #000; color: #fff; display: flex; flex-direction: column; gap: 12px; }
.ft-card p { margin: 0; color: #d6d6d6; font-size: 16px; }
.ft-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.ft-votes { font: 800 14px/1 ui-monospace, Menlo, monospace; letter-spacing: .06em; }
.ft-btn, .ft-form button { background: #fff; color: #000; border: 2px solid #fff; font: 900 15px/1 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; letter-spacing: .02em; padding: 12px 16px; cursor: pointer; text-transform: uppercase; min-height: 44px; }
.ft-btn[aria-pressed="true"] { background: #000; color: #fff; }
.ft-btn:hover, .ft-form button:hover { background: #000; color: #fff; }
.ft-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; max-width: 640px; }
.ft-form label { width: 100%; font-weight: 700; font-size: 14px; color: #d6d6d6; }
.ft-form input:not([type=checkbox]), .ft-form textarea { flex: 1 1 200px; min-width: 0; background: #000; color: #fff; border: 2px solid #fff; padding: 12px; font: 17px -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; min-height: 44px; }
.ft-form input::placeholder, .ft-form textarea::placeholder { color: #9a9a9a; }
.ft-stack { flex-direction: column; align-items: stretch; }
.ft-stack input, .ft-stack textarea { width: 100%; flex: none; }
.ft-form .ft-check { display: flex; gap: 8px; align-items: center; font-weight: 600; width: auto; }
.ft-msg { min-height: 1.2em; font-size: 15px; color: #fff; margin: 4px 0 0; }
.ft-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ft-foot { border-top: 2px solid #fff; max-width: 1100px; margin: 0 auto; padding: 22px 16px 48px; font-weight: 800; letter-spacing: .12em; font-size: 13px; }
/* homepage "New" badge: white pill on black, no color */
.ft-new { display: inline-block; background: #fff; color: #000; font: 900 11px/1 -apple-system, BlinkMacSystemFont, Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; padding: 5px 8px; margin-left: 8px; vertical-align: middle; text-decoration: none; }
@media (max-width: 760px) {
  .ft-coming { grid-template-columns: 1fr; }
  .ft-section { margin-top: 64px; }
  .ft-top nav a { margin-left: 12px; }
}
