:root {
  --bg: #F7F2E6; --surface: #FBF8F0; --ink: #1F2420; --muted: #6A685C;
  --line: #D8CEB7; --green: #2E4734; --gold: #B8975A;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--bg); color: var(--ink);
  font: 16px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Noto Sans JP", Roboto, sans-serif;
}
a { color: var(--green); }
.card {
  max-width: 34rem; margin: 18vh auto 2rem; padding: 2rem 1.5rem;
  background: var(--surface); border: 1px solid var(--line); border-radius: 14px; text-align: center;
}
.card h1 { margin: 0; color: var(--green); font-size: 2rem; letter-spacing: .02em; }
.sub { margin: .25rem 0 1.5rem; color: var(--muted); font-size: .95rem; }
.soon { list-style: none; margin: 0 0 1.5rem; padding: 0; }
.soon li { padding: .35rem 0; border-top: 1px solid var(--line); }
.soon li:first-child { border-top: 0; }
.links { margin: 0; font-size: .9rem; color: var(--muted); }

/* Privacy page */
.doc { max-width: 46rem; margin: 0 auto; padding: 1.5rem 1.25rem 4rem; }
.doc header { border-bottom: 2px solid var(--green); margin-bottom: 1rem; }
.doc header h1 { color: var(--green); margin: 0 0 .25rem; font-size: 1.6rem; }
.doc nav { margin: .5rem 0 1rem; font-size: .95rem; }
.doc section { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 1rem 1.25rem; margin: 1.25rem 0; }
.doc h2 { color: var(--green); font-size: 1.3rem; margin: .25rem 0 .5rem; }
.doc h3 { font-size: 1.02rem; margin: 1.1rem 0 .3rem; }
.doc p, .doc li { margin: .3rem 0; }
.doc ul { padding-left: 1.2rem; }
.note { color: var(--muted); font-size: .9rem; }
.status { background: #EFE8D7; border-left: 4px solid var(--gold); padding: .5rem .75rem; border-radius: 6px; }

/* Login page */
.login .gbtn { display: flex; justify-content: center; min-height: 44px; margin: 0 0 .75rem; }
.login .msg { min-height: 1.6em; margin: 0 0 .75rem; color: var(--muted); font-size: .95rem; }
.login .who p { margin: .4rem 0; }
.btn { display: inline-block; padding: .55rem 1.1rem; border-radius: 999px; border: 1px solid var(--green); background: var(--green); color: #fff; font: inherit; text-decoration: none; cursor: pointer; }
.btn.ghost { background: transparent; color: var(--green); }
.lang { margin-bottom: .5rem; }
.lang button { background: none; border: 0; padding: .25rem; color: var(--green); font: inherit; text-decoration: underline; cursor: pointer; }
