/* Legal acknowledgement pages — always dark (matches app default theme). */
:root {
  color-scheme: dark;
  --legal-bg: #0f1117;
  --legal-surface: #1a1d27;
  --legal-surface2: #21253a;
  --legal-border: #2e3347;
  --legal-text: #ffffff;
  --legal-muted: #b8c4d0;
  --legal-accent: #64b5f6;
  --legal-success: #4caf50;
  --legal-danger: #ff5252;
}

html, body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background: var(--legal-bg);
  color: var(--legal-text);
  line-height: 1.6;
}

body.legal-compact-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.legal-compact-page main.legal-compact {
  width: 100%;
  padding: 24px;
  box-sizing: border-box;
}

main {
  margin: 0 auto;
  padding: 48px 24px 72px;
}

main.legal-compact { max-width: 720px; }
main.legal-full { max-width: 880px; }

.doc {
  background: var(--legal-surface);
  border: 1px solid var(--legal-border);
  border-radius: 14px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.5);
  padding: 34px 38px;
}

h1 {
  margin: 0 0 8px;
  font-size: 32px;
  line-height: 1.15;
  color: var(--legal-text);
}

h2 {
  margin: 30px 0 8px;
  font-size: 19px;
  color: var(--legal-text);
}

p, li {
  font-size: 15px;
  color: var(--legal-muted);
}

p { margin: 0 0 14px; }

ul { margin: 0 0 16px 22px; padding: 0; }

a {
  color: var(--legal-accent);
  text-decoration: none;
}

a:hover { text-decoration: underline; }

.meta, .step-hint {
  color: var(--legal-muted);
  font-size: 14px;
  margin-bottom: 24px;
}

.step-hint { margin-bottom: 8px; }

.back {
  display: inline-block;
  margin-bottom: 18px;
  font-size: 14px;
  color: var(--legal-accent);
}

.notice {
  border-radius: 10px;
  padding: 14px 16px;
  margin: 18px 0;
  line-height: 1.5;
}

.notice--privacy {
  background: rgba(76, 175, 80, 0.12);
  border: 1px solid rgba(76, 175, 80, 0.35);
  color: #bbf7d0;
}

.notice--terms {
  background: rgba(100, 181, 246, 0.12);
  border: 1px solid rgba(100, 181, 246, 0.35);
  color: #dbeafe;
}

.click-wrap {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 14px 0 0;
  padding: 12px 14px;
  border: 1px solid var(--legal-border);
  border-radius: 10px;
  background: var(--legal-surface2);
  cursor: pointer;
  font-size: 14px;
  color: var(--legal-muted);
  line-height: 1.45;
}

.click-wrap input {
  margin-top: 3px;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: var(--legal-accent);
}

.click-wrap--done {
  border-color: rgba(76, 175, 80, 0.55);
  background: rgba(76, 175, 80, 0.1);
}

.accept-panel {
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid var(--legal-border);
}

.accept-panel h2 {
  margin-top: 0;
  font-size: 17px;
}

.accept-btn {
  margin-top: 14px;
  padding: 12px 20px;
  background: linear-gradient(135deg, #64b5f6 0%, #42a5f5 100%);
  color: #fff;
  border: 0;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 5px 15px rgba(100, 181, 246, 0.35);
}

.accept-btn:hover:not(:disabled) {
  background: linear-gradient(135deg, #42a5f5 0%, #2196f3 100%);
}

.accept-btn:disabled {
  background: #4a5068;
  cursor: not-allowed;
  box-shadow: none;
}

.accept-status {
  margin-top: 12px;
  font-size: 14px;
  min-height: 20px;
  color: var(--legal-muted);
}

.accept-status.ok { color: var(--legal-success); }
.accept-status.err { color: var(--legal-danger); }

@media (max-width: 640px) {
  main { padding: 24px 14px 48px; }
  .doc { padding: 24px 20px; }
  h1 { font-size: 26px; }
}

.legal-compact h1 {
  margin-bottom: 16px;
  font-size: 28px;
  line-height: 1.2;
}

.legal-compact .click-wrap { margin-top: 22px; }
.legal-compact .accept-btn { margin-top: 18px; }

@media (max-width: 640px) {
  .legal-compact h1 { font-size: 24px; }
}
