:root { color-scheme: dark; --page: #142820; --panel: #1d392f; --ink: #fff9eb; --muted: #c6d7cf; --accent: #68d4bd; --line: #487466; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: radial-gradient(circle at 20% 0, #285848, transparent 34rem), var(--page); line-height: 1.65; }
a { color: var(--accent); }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 4px solid #ffe27b; outline-offset: 3px; }
.legal-shell { width: min(100% - 28px, 820px); margin: 0 auto; padding: max(24px, env(safe-area-inset-top)) 0 max(48px, env(safe-area-inset-bottom)); }
.legal-header, .legal-card { border: 2px solid var(--line); border-radius: 22px; background: color-mix(in srgb, var(--panel) 94%, transparent); box-shadow: 0 18px 55px rgba(0,0,0,.2); }
.legal-header { margin-bottom: 18px; padding: clamp(22px, 6vw, 42px); }
.legal-card { padding: clamp(20px, 5vw, 38px); }
.eyebrow { margin: 0; color: var(--accent); font-size: .82rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
h1, h2 { font-family: Georgia, "Times New Roman", serif; line-height: 1.1; }
h1 { margin: 8px 0 10px; font-size: clamp(2.3rem, 9vw, 4.5rem); }
h2 { margin: 2rem 0 .6rem; font-size: clamp(1.4rem, 5vw, 2rem); }
p, li { max-width: 72ch; }
.summary { padding: 16px 18px; border-left: 5px solid var(--accent); border-radius: 10px; background: rgba(104,212,189,.1); }
.legal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 22px; }
.legal-button { display: inline-grid; min-height: 48px; place-items: center; padding: 0 18px; border: 2px solid var(--accent); border-radius: 999px; color: #10251e; background: var(--accent); font-weight: 900; text-decoration: none; }
label { display: grid; gap: 6px; margin: 16px 0; font-weight: 800; }
label.checkbox { grid-template-columns: auto 1fr; align-items: start; }
input[type="text"], input[type="password"] { width: 100%; min-height: 50px; padding: 8px 12px; border: 2px solid var(--line); border-radius: 10px; color: var(--ink); background: #10271f; font: inherit; }
input[type="checkbox"] { width: 24px; height: 24px; }
button { min-height: 52px; padding: 0 20px; border: 0; border-radius: 12px; color: #10251e; background: var(--accent); font: inherit; font-weight: 900; }
button:disabled { opacity: .55; }
.danger-note { padding: 14px; border: 2px solid #bd775f; border-radius: 12px; background: rgba(189,119,95,.12); }
.status { min-height: 1.7em; color: var(--muted); font-weight: 700; }
.legal-footer { padding: 24px 6px 0; color: var(--muted); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }
