:root { color-scheme: light; --ink: #15211c; --muted: #5d6b64; --paper: #f5f1e8; --panel: #fffdf7; --line: #c8d0c9; --green: #0d6b4d; --green-dark: #074633; --amber: #8a5b00; --red: #8d2e2e; } * { box-sizing: border-box; } body { margin: 0; background: radial-gradient(circle at 20% 0%, #dcebe2 0, transparent 38rem), var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif; } main { width: min(1050px, calc(100% - 32px)); margin: 0 auto; padding: 64px 0; } header { max-width: 760px; } .eyebrow, .output-label, label, .instrument span { color: var(--green); font-size: 0.76rem; font-weight: 750; letter-spacing: 0.11em; text-transform: uppercase; } h1 { margin: 8px 0 14px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.4rem, 7vw, 5rem); font-weight: 500; letter-spacing: -0.045em; line-height: 0.98; } .lede { color: var(--muted); font-size: 1.15rem; line-height: 1.6; } .boundary, .red-flags { margin: 28px 0; border-left: 5px solid var(--amber); background: #fff4d7; padding: 16px 20px; line-height: 1.55; } .workbench { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 0.85fr); gap: 24px; } form, .output, .instrument { border: 1px solid var(--line); border-radius: 14px; background: color-mix(in srgb, var(--panel) 92%, transparent); box-shadow: 0 18px 55px rgb(21 33 28 / 7%); padding: 24px; } label { display: block; margin-bottom: 10px; } textarea { width: 100%; border: 1px solid var(--line); border-radius: 9px; background: white; color: var(--ink); font: inherit; line-height: 1.5; padding: 14px; resize: vertical; } textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgb(13 107 77 / 14%); outline: none; } .actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; } button { border: 1px solid var(--green); border-radius: 999px; background: var(--green); color: white; cursor: pointer; font: inherit; font-weight: 700; padding: 11px 17px; } button:hover:not(:disabled) { background: var(--green-dark); } button.secondary { background: transparent; color: var(--green); } button:disabled { cursor: not-allowed; opacity: 0.45; } .output-label { margin-top: 0; } .results { list-style: none; margin: 18px 0; padding: 0; } .results li { display: grid; grid-template-columns: 30px 1fr auto; gap: 10px; align-items: center; border-bottom: 1px solid #e0e4df; padding: 12px 0; } .results li.empty { display: block; color: var(--muted); } .rank { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; background: #e1eee7; color: var(--green-dark); font-size: 0.8rem; font-weight: 800; } .score { color: var(--green); font-variant-numeric: tabular-nums; } .score::after { content: "%"; } .score-note { color: var(--muted); font-size: 0.82rem; line-height: 1.55; } .red-flags { border-color: var(--red); background: #feecec; color: var(--red); } .instrument { display: grid; grid-template-columns: 1fr 1fr auto; gap: 18px; align-items: center; margin-top: 24px; } .instrument span, .instrument strong { display: block; } .instrument strong { margin-top: 6px; font-size: 0.86rem; line-height: 1.45; } #status[data-kind="error"] { color: var(--red); } #status[data-kind="success"] { color: var(--green); } @media (max-width: 760px) { main { padding: 36px 0; } .workbench, .instrument { grid-template-columns: 1fr; } }