:root {
  --bg: #f7f9f7;
  --surface: #ffffff;
  --text: #1a1c1a;
  --muted: rgba(26, 28, 26, .55);
  --border: #e6e8e6;
  --field: #f5f7f5;
  --accent: #0e9c63;
  --accent-soft: #edf8f1;
  --accent-border: #cfe9da;
  --rm-bg: #f7e4e1;
  --rm-text: #b15046;
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #141617;
    --surface: #1b1d1e;
    --text: #eef0ee;
    --muted: rgba(238, 240, 238, .55);
    --border: #2e3132;
    --field: #26292a;
    --accent: #16b07a;
    --accent-soft: rgba(18, 166, 115, .12);
    --accent-border: rgba(18, 166, 115, .3);
    --rm-bg: rgba(200, 80, 70, .18);
    --rm-text: #e58b80;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  padding: 56px 24px 72px;
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
  display: flex;
  justify-content: center;
}
.wrap { width: 100%; max-width: 620px; }
.brand { display: flex; align-items: center; gap: 10px; }
.logo {
  width: 34px; height: 34px; border-radius: 10px;
  background: var(--accent);
  display: flex; align-items: center; justify-content: center;
}
.brand-name { font-size: 15px; font-weight: 700; letter-spacing: -.01em; }
h1 { font-size: 30px; line-height: 1.15; font-weight: 700; letter-spacing: -.02em; margin: 26px 0 0; text-wrap: pretty; }
.lede { font-size: 15px; line-height: 1.6; color: var(--muted); margin: 10px 0 0; max-width: 52ch; text-wrap: pretty; }

.demo { margin-top: 30px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); overflow: hidden; }
.demo-row { padding: 15px 18px; display: flex; flex-direction: column; gap: 6px; }
.demo-row + .demo-row { border-top: 1px solid var(--border); }
.demo-tag { font-size: 9.5px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--muted); }
.demo-url { font-family: var(--mono); font-size: 12.5px; line-height: 1.6; word-break: break-all; }
.junk { background: var(--rm-bg); color: var(--rm-text); border-radius: 4px; padding: 1px 3px; text-decoration: line-through; }
.demo-row.clean { background: var(--accent-soft); }
.demo-row.clean .demo-tag { color: var(--accent); }
.demo-note { font-size: 11.5px; color: var(--muted); }

.steps { list-style: none; margin: 30px 0 0; padding: 0; display: grid; gap: 12px; }
.step { display: flex; gap: 12px; align-items: flex-start; }
.step-n {
  flex: none; width: 22px; height: 22px; border-radius: 50%;
  background: var(--accent); color: #fff;
  font-size: 11.5px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.step-text { font-size: 13.5px; line-height: 1.55; }
.step-text b { font-weight: 650; }

.panel { margin-top: 30px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); padding: 18px 20px; }
.panel h2 { font-size: 14px; font-weight: 700; margin: 0 0 8px; }
.panel p { font-size: 13px; line-height: 1.6; color: var(--muted); margin: 0 0 8px; text-wrap: pretty; }
.panel p:last-child { margin-bottom: 0; }
.perm-list { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.perm-item { font-size: 13px; line-height: 1.5; padding-left: 20px; position: relative; }
.perm-item::before {
  content: ""; position: absolute; left: 2px; top: 7px;
  width: 7px; height: 7px; border-radius: 2px; background: var(--accent);
}
.perm-item.no::before { background: var(--rm-text); }

.cta { display: flex; align-items: center; gap: 14px; margin-top: 30px; flex-wrap: wrap; }
.btn {
  border: 0; border-radius: 11px; background: var(--accent); color: #fff;
  font-family: var(--sans); font-size: 13.5px; font-weight: 650;
  padding: 12px 18px; cursor: pointer; text-decoration: none;
}
.btn:hover { filter: brightness(1.05); }
.btn-ghost { background: transparent; color: var(--muted); border: 1px solid var(--border); }
.btn-ghost:hover { color: var(--text); background: var(--field); }
.foot { margin-top: 36px; font-size: 11.5px; color: var(--muted); display: flex; gap: 14px; flex-wrap: wrap; }
.foot a { color: var(--muted); }
.foot a:hover { color: var(--accent); }
