*,*:before,*:after{box-sizing:border-box}html{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--color-text);background:var(--color-background)}body{margin:0;min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-attention-ink);text-underline-offset:.2em}a:focus-visible{outline:3px solid var(--color-text);outline-offset:2px}.skip-link{position:absolute;left:var(--space-md);top:-4rem;padding:var(--space-sm) var(--space-md);background:var(--color-surface-inverse);color:var(--color-text-inverse);border-radius:var(--radius-sm)}.skip-link:focus{top:var(--space-sm)}.site-header,.site-footer,.page{width:100%;max-width:46rem;margin:0 auto;padding:var(--space-md)}.site-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.site-brand{font-weight:800;font-size:1.25rem;color:var(--color-text);text-decoration:none}.lang-switcher{display:flex;gap:var(--space-sm);align-items:center;font-size:.9rem;color:var(--color-text-secondary)}.lang-switcher [aria-current=true]{font-weight:700;color:var(--color-text)}.page{flex:1}.legal-meta{margin:var(--space-lg) 0;padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem}.legal-meta h2{margin:0 0 var(--space-sm);font-size:1rem}.legal-meta ul,.legal-list{margin:0;padding-left:var(--space-lg)}.notice{margin:0 0 var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-attention-bg);border-radius:var(--radius-sm)}.legal-body table{display:block;overflow-x:auto;border-collapse:collapse}.legal-body th,.legal-body td{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);text-align:left;vertical-align:top}.legal-body blockquote{margin:var(--space-md) 0;padding-left:var(--space-md);border-left:4px solid var(--color-border-strong);color:var(--color-text-secondary)}.legal-body hr{border:0;border-top:1px solid var(--color-border);margin:var(--space-lg) 0}.site-footer{border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.9rem}.site-footer ul{display:flex;gap:var(--space-md);flex-wrap:wrap;list-style:none;margin:0;padding:0}
