/* Ritmo public site: one readable column, same light palette as the local panel. */
:root {
  color-scheme: light dark;
  --bg: #f5f6fa; --surface: #ffffff; --ink: #161821; --muted: #5f6573; --line: #e6e8ee; --accent: #5b45e8;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #14131b; --surface: #1c1b25; --ink: #ecebf4; --muted: #a9a6bd; --line: #2e2c3b; --accent: #9d8cff; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 17px/1.6 var(--font);
  padding: 48px max(16px, env(safe-area-inset-right)) 64px max(16px, env(safe-area-inset-left)); }
main { max-width: 42rem; margin: 0 auto; display: grid; gap: 32px; }
header { display: grid; gap: 12px; }
.mark { display: flex; align-items: center; gap: 10px; font-weight: 780; font-size: 1.4rem; letter-spacing: -0.02em; color: var(--ink); text-decoration: none; }
.mark span { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; background: var(--accent); color: #fff; }
h1 { font-size: clamp(1.8rem, 5vw, 2.4rem); line-height: 1.15; letter-spacing: -0.02em; margin: 0; text-wrap: balance; }
h2 { font-size: 1.25rem; margin: 0; }
p, li { margin: 0; }
.lead { color: var(--muted); }
nav { display: flex; flex-wrap: wrap; gap: 8px 20px; font-weight: 600; }
a { color: var(--accent); }
section { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 28px clamp(18px, 4vw, 32px); display: grid; gap: 14px; }
ul { margin: 0; padding-left: 1.2em; display: grid; gap: 8px; }
footer { color: var(--muted); font-size: 0.9rem; }
