/* Shared visual language. Edition layouts remain in their own style.css. */
:root{--bg:#f7f8f4;--panel:#fff;--ink:#213b33;--sub:#6b7b69;--line:#e0e7d9;--green:#246854;--tint:#edf3e6;--sw-radius:12px;--sw-font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
html,body{background:var(--bg);color:var(--ink);font-family:var(--sw-font)}
.top{background:var(--panel);border-color:var(--line)}
.brand{color:var(--ink)}.brand small,.muted{color:var(--sub)}
.brand .mark,.brand .brand-mark{background:var(--green);color:#fff;border-radius:var(--sw-radius)}
.panel,.card{background:var(--panel);border-color:var(--line);border-radius:var(--sw-radius)}
button.primary{background:var(--green);border-color:var(--green);color:#fff}
button.primary:hover:not(:disabled){background:#194d3e;border-color:#194d3e}
input,select,textarea{border-color:var(--line);color:var(--ink);border-radius:9px}
:where(input,select,textarea,button,a):focus-visible{outline:3px solid #92bea9;outline-offset:2px}
nav button[aria-current="page"]{background:var(--tint);color:var(--green)}
.ipa,a{color:var(--green)}
