384 lines · 6.0 KB · CSS
RawDownload
:root {  --bg: #121212;  --surface: #323232;  --surface-subtle: #303030;  --surface-hover: #3f3f3f;  --surface-screenshot: rgba(255, 255, 255, 0.06);  --surface-screenshot-border: rgba(255, 255, 255, 0.1);  --ink: #ffffff;  --ink-80: rgba(255, 255, 255, 0.8);  --ink-60: rgba(255, 255, 255, 0.6);  --ink-50: rgba(255, 255, 255, 0.5);  --stroke-ghost: rgba(255, 255, 255, 0.12);  --stroke-hover: rgba(255, 255, 255, 0.18);  --accent: #e17909;   --font: -apple-system, BlinkMacSystemFont, "SF Pro Display", system-ui, "Segoe UI", sans-serif;   --radius: 12px;  --gutter-x: 32px;  --gutter-top: 36px;} * {  box-sizing: border-box;} html,body {  margin: 0;  padding: 0;  background: var(--bg);  color: var(--ink);  min-height: 100vh;  scrollbar-width: none;} html::-webkit-scrollbar,body::-webkit-scrollbar {  display: none;} body {  font-family: var(--font);  font-size: 16px;  line-height: 1;  font-weight: 400;} a {  color: inherit;  text-decoration: none;} ::selection {  background: var(--accent);  color: var(--ink);} /* ---------- page shell ---------- */.page {  display: flex;  gap: 2px;  width: 100%;  align-items: flex-start;} /* ---------- header (inside left column) ---------- */.site-header {  display: flex;  align-items: center;  gap: 24px;  margin-bottom: 40px;} .brand {  display: inline-flex;  align-items: stretch;  height: 38px;  color: var(--ink);} .brand svg {  align-self: flex-end;  margin-bottom: 6px;} .brand-rule {  width: 2px;  height: 38px;  background: var(--accent);  display: inline-block;  animation: blink 1s step-end infinite;} @keyframes blink {  0%,  100% {    opacity: 1;  }  50% {    opacity: 0;  }} .site-nav {  display: flex;  align-items: center;  gap: 8px;  margin-left: auto;} /* ---------- pills ---------- */.pill {  display: inline-flex;  align-items: center;  justify-content: center;  width: 107px;  height: 40px;  border-radius: var(--radius);  font-family: var(--font);  font-size: 14px;  font-weight: 500;  line-height: 1;  color: var(--ink);  background: transparent;  border: 1px solid transparent;  transition:    background 0.15s ease,    border-color 0.15s ease;  cursor: pointer;} .pill-ghost:hover {  background: rgba(255, 255, 255, 0.04);} .pill-outline {  border-color: var(--stroke-ghost);} .pill-outline:hover {  border-color: var(--stroke-hover);  background: rgba(255, 255, 255, 0.04);} /* ---------- hero / left column ---------- */.hero {  flex: 1;  position: sticky;  top: 0;  margin-left: var(--gutter-x);  margin-right: var(--gutter-x);  padding-top: var(--gutter-top);  padding-bottom: 47px;  height: 100vh;  display: flex;  flex-direction: column;} .headline {  margin: 0;  max-width: 720px;  font-family: var(--font);  font-size: 48px;  font-weight: 400;  line-height: 1;  letter-spacing: -0.02em;  color: var(--ink);} .cta {  display: flex;  align-items: center;  margin-top: 25px;  gap: 0;} .download {  display: inline-flex;  align-items: center;  gap: 8px;  height: 40px;  padding: 0 12px;  border-radius: var(--radius);  background: var(--surface);  color: var(--ink);  font-family: var(--font);  font-size: 14px;  font-weight: 500;  line-height: 1;  transition: background 0.15s ease;} .download:hover {  background: var(--surface-hover);} .download svg {  flex-shrink: 0;  margin-bottom: 1px;} .alpha-pill {  display: inline-flex;  align-items: center;  justify-content: center;  width: 37px;  height: 16px;  margin-left: 16px;  border-radius: 8px;  background: var(--surface-subtle);  color: var(--ink-80);  font-size: 10px;  font-weight: 500;  line-height: 1;} .version {  margin-left: 7px;  color: var(--ink-50);  font-size: 10px;  font-weight: 500;  line-height: 1;} .caption {  margin: 25px 0 0;  color: var(--ink-60);  font-size: 12px;  font-weight: 500;  line-height: 1;} /* ---------- features ---------- */.features {  list-style: none;  margin: auto 0 0;  padding: 0;  display: flex;  flex-direction: column;  gap: 13px;} .feature {  font-size: 16px;  line-height: 1;} .feature-label {  padding-right: 6px;  color: var(--ink);  font-weight: 400;} .feature-desc {  color: var(--ink-50);  font-weight: 400;} /* ---------- screenshots (right column) ---------- */.screenshots {  flex-shrink: 0;  width: 30vw;  padding-right: 4px;  padding-top: 4px;  padding-bottom: 4px;  display: flex;  flex-direction: column;  gap: 2px;} .shot {  display: block;  width: 100%;  height: auto;  aspect-ratio: 1920 / 1206;  background: var(--surface-screenshot);  flex-shrink: 0;  overflow: hidden;} .shot video {  display: block;  width: 100%;  height: 100%;  object-fit: cover;  opacity: 1;} /* ---------- responsive ---------- */@media (max-width: 1279px) {  .screenshots {    width: clamp(360px, 30vw, 610px);  }   .shot {    width: 100%;    height: auto;  }} @media (max-width: 899px) {  .page {    flex-direction: column;    overflow: visible;    min-height: 100vh;  }   .hero {    width: auto;    margin: 0;    padding: 20px 20px 20px;  }   .site-header {    margin-bottom: 24px;  }   .cta {    margin-top: 16px;  }   .caption {    margin-top: 16px;  }   .features {    gap: 8px;  }   .screenshots {    width: 100%;    max-width: 100vw;    min-width: 0;    margin: 0;    padding: 2px;    flex-direction: row;    gap: 2px;    overflow-x: auto;    overflow-y: hidden;    height: auto;    scrollbar-width: none;  }   .screenshots::-webkit-scrollbar {    display: none;    margin-top: auto;  }   .shot {    width: auto;    height: 30vh;    flex-shrink: 0;  }} @media (max-width: 599px) {  .headline {    font-size: 24px;    letter-spacing: -0.015em;    line-height: 120%;  }   .feature {    font-size: 14px;    line-height: 140%;  }   .pill {    width: auto;    padding: 0 16px;  }   .cta {    flex-wrap: wrap;    row-gap: 12px;  }   .shot {    width: auto;    height: 20vh;    flex-shrink: 0;  }}