    :root {
      --bg: #0b0f0d;
      --panel: rgba(255, 255, 255, 0.055);
      --border: rgba(255, 255, 255, 0.10);
      --text: #e8ede9;
      --muted: #9aa69e;
      --accent: #7fd8a4;
      --accent-deep: #3f9d68;
      --radius: 18px;
    }
    * { margin: 0; padding: 0; box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      background: var(--bg);
      color: var(--text);
      font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif;
      line-height: 1.6;
      overflow-x: hidden;
    }
    body::before {
      content: "";
      position: fixed;
      inset: -20% -10% auto;
      height: 70vh;
      background:
        radial-gradient(600px 400px at 20% 10%, rgba(127, 216, 164, 0.16), transparent 70%),
        radial-gradient(700px 500px at 80% 0%, rgba(63, 157, 104, 0.14), transparent 70%);
      pointer-events: none;
      z-index: 0;
    }
    main { position: relative; z-index: 1; max-width: 1060px; margin: 0 auto; padding: 0 24px; }

    .hero { text-align: center; padding: 88px 0 40px; }
    .hero .mark { line-height: 1; }
    .hero .mark img { height: 84px; width: auto; }
    .hero h1 {
      font-size: clamp(44px, 7vw, 72px);
      font-weight: 800;
      letter-spacing: -0.03em;
      background: linear-gradient(120deg, #f2f7f3 30%, var(--accent) 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      margin-top: 12px;
    }
    .hero p.tagline { font-size: clamp(18px, 2.6vw, 23px); color: var(--muted); margin-top: 10px; }
    .hero .sub { max-width: 620px; margin: 14px auto 0; color: var(--muted); font-size: 16px; }

    .cta { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 32px; }
    .btn {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 13px 22px; border-radius: 999px;
      font-size: 15px; font-weight: 600; text-decoration: none;
      border: 1px solid var(--border);
      transition: transform 0.15s ease, background 0.15s ease;
    }
    .btn:hover { transform: translateY(-1px); }
    .btn.primary { background: linear-gradient(120deg, var(--accent), var(--accent-deep)); color: #06130b; border-color: transparent; }
    .btn.ghost { background: var(--panel); color: var(--text); backdrop-filter: blur(12px); }
    .btn.ghost:hover { background: rgba(255, 255, 255, 0.09); }
    .btn .starcount {
      background: rgba(255, 255, 255, 0.12); border-radius: 999px;
      padding: 2px 9px; font-size: 12.5px; font-variant-numeric: tabular-nums;
    }

    .brew {
      display: inline-flex; align-items: center; gap: 12px;
      margin-top: 18px; padding: 11px 16px;
      background: var(--panel); border: 1px solid var(--border); border-radius: 12px;
      font-family: "SF Mono", ui-monospace, Menlo, monospace; font-size: 14px;
      backdrop-filter: blur(12px);
    }
    .brew .dollar { color: var(--accent); user-select: none; }
    .brew button {
      background: none; border: 1px solid var(--border); border-radius: 8px;
      color: var(--muted); font-size: 12px; padding: 4px 10px; cursor: pointer;
    }
    .brew button:hover { color: var(--text); }
    .requires { margin-top: 14px; color: var(--muted); font-size: 13px; }

    .demo { margin: 56px auto 0; }
    .demo video {
      width: 100%; display: block; border-radius: var(--radius);
      border: 1px solid var(--border);
      box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(127, 216, 164, 0.07);
    }

    section { padding: 72px 0 0; }
    h2 { font-size: 28px; font-weight: 700; letter-spacing: -0.02em; text-align: center; }
    .grid {
      display: grid; gap: 16px; margin-top: 32px;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }
    .card {
      background: var(--panel); border: 1px solid var(--border); border-radius: var(--radius);
      padding: 22px; backdrop-filter: blur(12px);
    }
    .card .icon { font-size: 24px; }
    .card h3 { font-size: 16px; font-weight: 650; margin: 10px 0 6px; }
    .card p { color: var(--muted); font-size: 14px; }
    .card code {
      font-family: "SF Mono", ui-monospace, Menlo, monospace; font-size: 12.5px;
      background: rgba(255, 255, 255, 0.08); border-radius: 5px; padding: 1px 5px;
    }
    kbd {
      font-family: -apple-system, BlinkMacSystemFont, sans-serif; font-size: 12.5px;
      background: rgba(255, 255, 255, 0.10); border: 1px solid var(--border);
      border-bottom-width: 2px; border-radius: 6px; padding: 1px 6px;
    }

    .install { text-align: center; }
    .install .options { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-top: 28px; }
    .install .option { flex: 1 1 320px; max-width: 460px; text-align: left; }
    .install .option h3 { display: flex; align-items: center; gap: 8px; }
    .install .note { color: var(--muted); font-size: 13px; margin-top: 10px; }
    .install .note code {
      font-family: "SF Mono", ui-monospace, Menlo, monospace; font-size: 12px;
      background: rgba(255, 255, 255, 0.08); border-radius: 5px; padding: 1px 5px;
    }

    .open { text-align: center; margin-top: 72px; padding: 40px 24px; }
    .open p { max-width: 640px; margin: 12px auto 0; color: var(--muted); }

    footer {
      margin-top: 72px; padding: 32px 24px 40px;
      border-top: 1px solid var(--border);
      text-align: center; color: var(--muted); font-size: 13.5px;
    }
    footer a { color: var(--accent); text-decoration: none; }
    footer a:hover { text-decoration: underline; }

    /* Interactive demo */
    .tryit { text-align: center; }
    .tryit .screen {
      margin-top: 32px; border-radius: var(--radius); overflow: hidden;
      border: 1px solid var(--border);
      background:
        radial-gradient(700px 420px at 18% 8%, rgba(127, 216, 164, 0.28), transparent 65%),
        radial-gradient(800px 520px at 85% 20%, rgba(63, 157, 104, 0.22), transparent 70%),
        linear-gradient(160deg, #17251d 0%, #0a1310 60%, #060a08 100%);
      padding: 26px 0 18px;
      box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
    }
    .tryit .note {
      /* Grows gently with the scroll progress, like the screen around it. */
      width: calc(min(430px, 86%) + 110px * var(--p, 0));
      /* Phones: the growth must never push the note against the edges. */
      max-width: calc(100% - 32px);
      flex-shrink: 0;
      margin: 24px auto 22px; text-align: left;
      border-radius: 10px; overflow: hidden;
      background: #f5f2ea; color: #333;
      font-size: calc(13px + 1.5px * var(--p, 0));
      box-shadow: 0 14px 34px rgba(0, 0, 0, 0.45);
    }
    .tryit .note .bar {
      background: #e4e0d5; padding: 5px 9px; font-size: 11px; color: #8a8578;
      display: flex; align-items: center; gap: 5px;
    }
    .tryit .note .bar span.dot { width: 9px; height: 9px; border-radius: 50%; }
    .tryit .note .body {
      padding: 10px 12px; line-height: 1.5;
      /* Mostly vertical growth: the note deepens as the demo fills the page. */
      min-height: calc(52px + 90px * var(--p, 0));
    }
    .tryit .note .body .cursor {
      display: inline-block; width: 1px; height: 14px; background: #333;
      vertical-align: -2px; animation: blink 1s step-end infinite;
    }
    @keyframes blink { 50% { opacity: 0; } }

    .tryit .chipswrap { overflow-x: auto; scrollbar-width: none; margin-bottom: 10px; }
    .tryit .chipswrap::-webkit-scrollbar { display: none; }
    .tryit .chips {
      display: flex; gap: 7px; width: max-content; margin: 0 auto;
      padding: 2px 16px;
    }
    .tryit .chip { flex-shrink: 0; }
    .tryit .chip {
      display: inline-flex; align-items: center; gap: 5px;
      font-size: 11.5px; padding: 4px 10px; border-radius: 999px;
      background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.12);
      color: var(--text); cursor: pointer; backdrop-filter: blur(10px);
      transition: transform 0.12s ease;
    }
    .tryit .chip .dot { width: 8px; height: 8px; border-radius: 50%; }
    .tryit .chip.active {
      color: var(--accent); border-color: var(--accent); transform: scale(1.06);
      background: rgba(127, 216, 164, 0.16); font-weight: 600;
    }
    .tryit .search {
      display: flex; align-items: center; gap: 8px;
      width: min(680px, 90%); margin: 0 auto 14px; padding: 9px 16px;
      border-radius: 999px; background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.14); backdrop-filter: blur(12px);
    }
    .tryit .search input {
      flex: 1; background: none; border: none; outline: none;
      color: var(--text); font-size: 14px; font-family: inherit;
    }
    .tryit .search .count { font-size: 11px; color: var(--muted); }
    .tryit .railwrap { overflow-x: auto; padding: 6px 16px 10px; scrollbar-width: none; }
    .tryit .railwrap::-webkit-scrollbar { display: none; }
    .tryit .rail { display: flex; gap: 10px; width: max-content; margin: 0 auto; }
    .tryit .tcard {
      width: 148px; min-height: 150px; border-radius: 14px; text-align: left;
      background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.10);
      backdrop-filter: blur(12px); padding: 9px 10px; cursor: pointer;
      display: flex; flex-direction: column; gap: 6px; flex-shrink: 0;
      transition: transform 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease;
    }
    .tryit .tcard.selected {
      transform: scale(1.04); border: 2px solid var(--accent);
      box-shadow: 0 0 18px rgba(127, 216, 164, 0.35);
    }
    .tryit .tcard .head { display: flex; align-items: center; gap: 5px; font-size: 10.5px; font-weight: 600; }
    .tryit .tcard .head .dot { width: 9px; height: 9px; border-radius: 3px; }
    .tryit .tcard .body { flex: 1; font-size: 11px; color: var(--text); overflow: hidden; line-height: 1.45; }
    .tryit .tcard .body.mono { font-family: "SF Mono", ui-monospace, Menlo, monospace; font-size: 10px; }
    .tryit .tcard .swatch { border-radius: 8px; height: 56px; margin-bottom: 6px; }
    .tryit .tcard .foot { display: flex; justify-content: space-between; font-size: 9.5px; color: var(--muted); }
    .tryit .hint { margin-top: 12px; color: var(--muted); font-size: 13px; }
    .tryit .hint kbd { font-size: 11px; }

    .tryit-zoom, .tryit-stick { position: relative; }
    .tryit-stick .screen { display: flex; flex-direction: column; }
    .tryit .note .bar button {
      margin-left: auto; border: none; background: none; cursor: pointer;
      color: #8a8578; font-size: 10px;
    }
    .tryit .note .bar button:hover { color: #555; }
    .tryit .panelblock { margin-top: auto; padding-top: 14px; padding-bottom: 16px; }
    .tryit .chip img, .tryit .chip svg { display: block; }

/* Whisk — a quieter, more considered home for the same little utility. */
:root { --bg: #0b0f0d; --panel: #121914; --border: #26342b; --text: #eff2eb; --muted: #a0aca3; --accent: #a4d8af; --accent-deep: #77b989; --radius: 22px; color-scheme: dark; }
body { -webkit-font-smoothing: antialiased; }
body::before { position: absolute; inset: 0; height: 1120px; background: radial-gradient(ellipse 640px 490px at 50% 28%, #25432c65, transparent 75%); }
a, button, input { -webkit-tap-highlight-color: transparent; }
button { font-family: inherit; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
section { scroll-margin-top: 24px; }
main { max-width: 1180px; padding: 0 40px; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 100; padding: 12px 20px; color: var(--bg); background: var(--accent); border-radius: 10px; }
.skip-link:focus { top: 12px; }
.nav-download:hover { background: #a4d8af12; }
.hero { padding: 58px 0 0; }
.eyebrow, .section-label { font-size: 10px; letter-spacing: 2.3px; font-weight: 600; color: var(--accent); }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; border: 1px solid #a4d8af26; padding: 7px 12px; border-radius: 30px; background: #a4d8af05; }
.status-dot { height: 5px; width: 5px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 9px #a4d8af55; }
.hero .mark { margin: 25px auto 14px; }
.hero .mark img { height: 64px; }
.hero h1 { font-size: clamp(54px, 6.7vw, 88px); line-height: 1.02; letter-spacing: -.057em; font-weight: 550; background: none; color: var(--text); margin: 0; }
.hero h1 em { display: inline-block; color: var(--accent); font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.055em; line-height: 1.12; }
.hero .sub { max-width: 620px; font-size: 16px; line-height: 1.8; margin-top: 22px; color: var(--muted); }
.cta { margin-top: 27px; gap: 12px; }
.btn { border-radius: 11px; min-height: 48px; padding: 12px 21px; font-size: 13px; gap: 11px; font-weight: 600; }
.btn.primary { background: var(--accent); color: #14251a; box-shadow: inset 0 1px #ffffff40, 0 4px 18px #0002; }
.btn.primary:hover { background: #b6e5be; }
.btn.primary > span { font-size: 19px; line-height: 1; }
.btn.ghost { background: #ffffff03; border-color: #354239; }
.btn.ghost > span:first-child { font-size: 19px; }
.btn .starcount { font-size: 11px; background: #a4d8af10; color: var(--accent); border-radius: 5px; padding: 1px 6px; }
.brew { margin-top: 17px; background: transparent; border: 0; padding: 7px 0; border-radius: 0; font-size: 11px; gap: 9px; color: #8e9c92; }
.brew button { border: 0; border-left: 1px solid #344238; border-radius: 0; font-size: 10px; padding: 0 0 0 10px; color: var(--muted); }
.requires { font-size: 10px; letter-spacing: .15px; margin-top: 6px; color: #8c9b90; }
.requires span { padding: 0 8px; }
.demo { margin-top: 45px; border: 1px solid #435248; border-radius: 17px; padding: 7px; background: linear-gradient(145deg, #26382b, #111813 55%); box-shadow: 0 35px 100px #0006, 0 0 80px #79ad8710; text-align: left; }
.demo-topbar { padding: 6px 10px 13px; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 10px; color: #afbab1; }
.window-dots { display: flex; gap: 5px; }
.window-dots i { width: 7px; height: 7px; border-radius: 50%; background: #e78377; }
.window-dots i:nth-child(2) { background: #d8bb70; }
.window-dots i:nth-child(3) { background: #87b98a; }
.demo-duration { font-family: ui-monospace, monospace; font-size: 8px; letter-spacing: 1px; color: #84978a; }
.demo video { border-radius: 10px; border-color: #354338; box-shadow: none; aspect-ratio: 16/9; }
.demo-caption { display: flex; justify-content: space-between; align-items: center; padding: 15px 14px 10px; color: #9dad9f; font-size: 11px; }
.demo-caption a { color: var(--accent); text-decoration: none; }
.demo-caption a span { padding-left: 7px; }
.trust-strip { display: flex; justify-content: center; align-items: center; gap: 54px; padding: 31px 0; border-bottom: 1px solid var(--border); color: var(--muted); font-size: 11px; }
.trust-strip > span { display: inline-flex; align-items: center; gap: 9px; }
.trust-strip > span > span { color: var(--accent); font-size: 16px; }
section { padding-top: 108px; }
h2 { font-size: clamp(30px, 4vw, 47px); font-weight: 500; line-height: 1.15; letter-spacing: -.045em; text-wrap: balance; }
.section-label { text-align: center; margin: 0 0 18px; }
.section-sub, .features .sub, .tryit .sub { font-size: 14px; line-height: 1.8; color: var(--muted); }
.section-sub { margin-top: 16px; }
.tryit .sub { margin-top: 20px !important; }
.tryit .screen { position: relative; margin-top: 35px; padding: 28px 0 10px; border-radius: 22px; background: radial-gradient(ellipse at 75% 0%, #63826560, transparent 60%), radial-gradient(ellipse at 10% 100%, #64825850, transparent 60%), #14241a; border: 1px solid #415347; box-shadow: 0 18px 50px #0003; }
.tryit .note { width: min(480px, 86%); font-size: 14px; margin: 4px auto 28px; border: 1px solid #f5f2ea; box-shadow: 0 12px 30px #0004; }
.tryit .note .bar { padding: 9px 12px; background: #e9e6dd; font-size: 10px; }
.tryit .note .bar button { padding: 4px 8px; color: #655f50; }
.tryit .note .body { padding: 20px; min-height: 85px; overflow-wrap: anywhere; }
#note-text:empty::before { content: 'Your next great idea goes here…'; color: #8a877f; }
.tryit .panelblock { background: #0a120dc7; border-top: 1px solid #c4dfcb26; padding: 20px 0 10px; margin: 0 8px; border-radius: 16px; }
.tryit .search { background: #ffffff08; border-color: #ffffff17; border-radius: 10px; max-width: 570px; }
.tryit .search input { min-width: 0; font-size: 12px; }
.tryit .search:focus-within { border-color: var(--accent); }
.search-icon { font-size: 23px; line-height: 1; color: var(--muted); }
.tryit .count { white-space: nowrap; }
.tryit .chip { font-size: 10px; padding: 5px 9px; min-height: 28px; }
.tryit .chip.active { transform: none; background: #a4d8af1a; border-color: #a4d8af88; }
.tryit .tcard { width: 166px; min-height: 156px; background: linear-gradient(145deg,#c2dfcd12,#ffffff05); padding: 13px; border-radius: 12px; }
.tryit .tcard.selected { border: 1px solid var(--accent); transform: none; box-shadow: 0 0 0 2px #a4d8af1f; }
.tryit .tcard:hover { background: #a4d8af19; transform: translateY(-2px); }
.tryit .tcard .head { padding-bottom: 8px; border-bottom: 1px solid #ffffff0e; margin-bottom: 3px; }
.tryit .hint { font-size: 11px; margin-top: 10px; }
.card { padding: 26px; border-radius: 17px; background: linear-gradient(145deg,#17211a,#101713); box-shadow: inset 0 1px #ffffff03; }
.card .icon { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 9px; border: 1px solid #3a4c3e; background: #a4d8af09; font-size: 17px; color: var(--accent); }
.card h3 { font-size: 16px; font-weight: 550; margin: 16px 0 9px; letter-spacing: -.3px; }
.card p { font-size: 12px; line-height: 1.8; }
.install .options { margin-top: 35px; gap: 18px; }
.install .option { max-width: none; padding: 29px; min-width: 0; }
.option-label { display: flex; align-items: center; gap: 13px; color: var(--accent); font-family: ui-monospace, monospace; font-size: 11px; }
.option-label span { font-size: 9px; letter-spacing: 1.5px; color: #8e9f92; }
.install .option h3 { font-size: 24px; margin: 20px 0; letter-spacing: -.8px; }
.install .option code { overflow-wrap: anywhere; }
.install .note { font-size: 12px; margin-top: 18px; line-height: 1.8; }
.install .option > p > code { display: block; padding: 14px; font-size: 11px; border: 1px solid #344438; background: #080d09; border-radius: 9px; color: var(--accent); }
.open { margin-top: 100px; padding: 55px 35px; border: 1px solid #344839; border-radius: 22px; background: radial-gradient(ellipse at 50% 100%,#385b362b,transparent 75%),#111a14; }
.open-mark { width: auto; height: 60px; margin-bottom: 15px; }
.open .section-label { margin: 0 auto 17px; font-size: 9px; color: var(--accent); }
.open h2 { font-size: clamp(28px, 4vw, 40px); }
.open p:not(.section-label) { font-size: 14px; line-height: 1.85; max-width: 550px; margin-top: 18px; }
footer { margin-top: 48px; padding: 28px 0 35px; font-size: 10px; color: #7e8e82; }
footer .support-link { color: var(--muted); font-size: 12px; }
.support-link span { color: var(--accent); margin-left: 8px; }
@media (max-width: 960px) {
  main { padding: 0 28px; }
  .trust-strip { gap: 25px; font-size: 10px; }
}
@media (max-width: 600px) {
  main { padding: 0 20px; }
  .hero { padding-top: 35px; }
  .eyebrow { font-size: 8px; letter-spacing: 1.1px; }
  .hero .mark { margin-top: 24px; }
  .hero .mark img { height: 56px; }
  .hero h1 { font-size: clamp(46px,11vw,65px); }
  .hero .sub { font-size: 14px; line-height: 1.75; margin-top: 19px; }
  .desktop-break { display: none; }
  .btn { padding: 10px 15px; font-size: 12px; min-height: 46px; gap: 8px; }
  .cta { gap: 9px; }
  .brew { max-width: 100%; flex-wrap: wrap; justify-content: center; font-size: 9px; gap: 6px; }
  #brew-cmd { overflow-wrap: anywhere; }
  .requires { font-size: 9px; }
  .demo { margin-top: 32px; border-radius: 12px; padding: 5px; }
  .demo-topbar { font-size: 8px; padding: 5px 5px 9px; }
  .demo-duration { display: none; }
  .demo-caption { padding: 10px 6px 6px; font-size: 9px; gap: 15px; }
  .demo-caption > span { max-width: 65%; }
  .demo-caption a { white-space: nowrap; }
  .trust-strip { flex-wrap: wrap; column-gap: 21px; row-gap: 12px; padding: 23px 0; }
  .trust-strip > span { font-size: 9px; }
  section { padding-top: 75px; scroll-margin-top: 20px; }
  .section-label { font-size: 9px; letter-spacing: 1.7px; }
  h2 { font-size: 33px; }
  .tryit .sub, .section-sub { font-size: 12px; }
  .tryit .screen { padding-top: 20px; border-radius: 15px; }
  .tryit .note { margin-bottom: 22px; }
  .tryit .note .body { min-height: 85px; padding: 15px; font-size: 12px; }
  .tryit .panelblock { margin: 0 5px; }
  .tryit .hint { font-size: 9px; padding: 0 14px; }
  .tryit .tcard { width: 145px; min-height: 145px; }
  .card { padding: 23px; }
  .card p { font-size: 13px; }
  .install .option { flex-basis: 100%; padding: 24px; }
  .open { margin-top: 70px; padding: 35px 22px; }
  .open p:not(.section-label) { font-size: 12px; }
  footer { line-height: 2; }
  .support-link span { display: block; margin: 4px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
/* Keep visited download links consistent in WebKit. */
a.btn.primary:link, a.btn.primary:visited { background: #a4d8af; color: #14251a; }
a.btn.primary:hover { background: #b6e5be; }
