.lead { color: var(--text-2); max-width: 64ch; line-height: 1.55; }
.gr-preview { height: 200px; border: 1px solid var(--line); border-radius: 10px; margin: 16px 0; }
.gr-controls { align-items: end; gap: 16px; margin-bottom: 14px; }
.gr-narrow { max-width: 150px; }
.gr-angle { max-width: 240px; }
.gr-angle > span { display: flex; justify-content: space-between; }

.gr-stops { display: grid; gap: 8px; margin-bottom: 8px; }
.gr-stop { display: grid; grid-template-columns: 42px 1fr 1.4fr auto auto; gap: 8px; align-items: center; }
.gr-stop input[type="color"] { width: 42px; height: 34px; padding: 2px; border: 1px solid var(--line-2); border-radius: 6px; }
.gr-stop input[type="text"] { font-family: var(--mono); font-size: .8rem; }
.gr-pos { font-size: .78rem; color: var(--text-2); font-variant-numeric: tabular-nums; min-width: 34px; }

.out-head { display: flex; justify-content: space-between; align-items: center; margin: 16px 0 4px; }
.gr-css { margin: 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); font-family: var(--mono); font-size: .85rem; white-space: pre-wrap; word-break: break-all; }
.gr-import { margin-top: 16px; max-width: 480px; }
.gr-import input { font-family: var(--mono); font-size: .8rem; }

@media (max-width: 560px) { .gr-stop { grid-template-columns: 42px 1fr auto; } .gr-stop [data-p] { grid-column: 1 / -1; } }
