:root { color: #0a0a0a; background: #ffffff; font-family: "IBM Plex Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; line-height: 1.6; --brand-red: #f60000; --brand-purple: #9611ff; --brand-blue: #86dafe; --brand-yellow: #fee55f; --brand-green: #33f22f; } * { box-sizing: border-box; } body { margin: 0; background: #ffffff; color: #111111; } a { color: #111111; text-decoration-thickness: 1px; text-underline-offset: 3px; } .page { min-height: 100vh; padding: 24px; } .header { border-bottom: 2px solid #111111; padding-bottom: 14px; margin-bottom: 28px; } .brand { font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, Consolas, monospace; font-size: 1.3rem; font-weight: 600; letter-spacing: 0.08em; text-decoration: none; display: inline-flex; align-items: center; gap: 10px; } .brand-mark { display: inline-flex; gap: 1px; transform: translateY(2px); } .brand-text { display: inline-block; transform: rotate(-3deg); transform-origin: left center; } .brand-square { display: inline-block; width: 10px; height: 10px; } .brand-square-red { background: var(--brand-red); } .brand-square-purple { background: var(--brand-purple); } .brand-square-blue { background: var(--brand-blue); } .brand-square-yellow { background: var(--brand-yellow); } .brand-square-green { background: var(--brand-green); } .content { max-width: 860px; margin: 0 auto; } .status { font-size: 1rem; } .loader-screen { min-height: calc(100vh - 160px); display: grid; place-items: center; } .loader-square { width: 22px; height: 22px; background: var(--brand-red); animation: blister-flicker 180ms steps(1, end) infinite; } @keyframes blister-flicker { 0% { background: var(--brand-red); } 20% { background: var(--brand-purple); } 40% { background: var(--brand-blue); } 60% { background: var(--brand-yellow); } 80% { background: var(--brand-green); } 100% { background: var(--brand-red); } } .index { display: grid; gap: 28px; } .index-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; row-gap: 28px; } .post-card { padding-top: 0; } .index-grid .post-card:nth-child(n + 3) { border-top: 1px solid #111111; padding-top: 18px; } .post-card-featured { border-top: 0; padding-top: 0; } .banner-link { display: block; margin-bottom: 14px; } .post-banner { display: block; width: 100%; height: auto; border: 1px solid #111111; } .post-title-link { text-decoration: none; } .post-title { margin: 0; font-size: 1.8rem; line-height: 1.2; } .post-description { margin: 10px 0 12px; font-size: 1.04rem; } .meta-row { display: flex; flex-wrap: wrap; gap: 0; font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, Consolas, monospace; font-size: 0.86rem; } .meta-row > span + span { position: relative; margin-left: 14px; padding-left: 14px; } .meta-row > span + span::before { content: ""; position: absolute; left: 0; top: 50%; width: 6px; height: 1px; background: #111111; transform: translateY(-50%); } .post-meta-row > span + span::before { content: "|"; width: auto; height: auto; background: none; top: 0; transform: none; } .post { max-width: 760px; } .post-topline { margin-bottom: 16px; } .home-link { text-decoration: none; border-bottom: 1px solid #111111; } .post-header h1 { margin: 0; line-height: 1.15; font-size: clamp(2rem, 6vw, 3.4rem); } .post-header p { margin: 12px 0; font-size: 1.06rem; } .post-hero { margin-top: 24px; } .article { margin-top: 32px; border-top: 1px solid #111111; padding-top: 24px; } .article > *:first-child { margin-top: 0; } .article h2, .article h3, .article h4 { margin-top: 1.9em; line-height: 1.25; } .article pre { border: 1px solid #111111; padding: 14px; overflow: auto; background: #ffffff; } .article code { font-family: "IBM Plex Mono", "SFMono-Regular", Menlo, Consolas, monospace; } .article blockquote { margin-left: 0; padding-left: 16px; border-left: 2px solid #111111; } .article img { max-width: 100%; height: auto; } @media (max-width: 740px) { .page { padding: 16px; } .index { grid-template-columns: 1fr; } .index-grid { grid-template-columns: 1fr; } .index-grid .post-card:nth-child(n + 3) { border-top: 0; padding-top: 0; } .index-grid .post-card + .post-card { border-top: 1px solid #111111; padding-top: 18px; } .post-title { font-size: 1.45rem; } }