body.privacy-choice-open { overflow:hidden; }
.privacy-choice { margin:auto; width:min(600px,calc(100% - 28px)); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow-y:auto; padding:clamp(22px,4vw,34px); background:var(--bg-card); color:var(--text-main); border:1px solid var(--border-light); border-radius:26px; box-shadow:var(--shadow-lg); }
.privacy-choice::backdrop { background:#14172077; backdrop-filter:blur(6px); }
.privacy-choice h2 { font:500 clamp(1.6rem,4vw,2rem)/1.25 var(--font-serif); margin:10px 0 18px; }
.privacy-choice p { font-size:.82rem; line-height:1.75; color:var(--text-muted); margin:12px 0; }
.privacy-eyebrow { font-size:.61rem; font-weight:700; letter-spacing:.13em; color:var(--text-muted); }
.privacy-dismiss { position:absolute; right:12px; top:10px; width:36px; height:36px; border:0; border-radius:50%; background:var(--bg-page); color:var(--text-main); font-size:1.4rem; }
.privacy-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:22px; }
.privacy-actions button { min-height:48px; justify-content:center; font-size:.78rem; padding:9px 12px; }
.privacy-text-button { font:inherit; border:0; background:transparent; color:var(--text-main); text-decoration:underline; cursor:pointer; grid-column:1/-1; }
.privacy-choice .privacy-footnote { font-size:.7rem; margin-bottom:0; }
.privacy-footnote a, .legal-document a { text-decoration:underline; text-underline-offset:3px; }
.privacy-details { margin-top:18px; padding:16px; border-radius:16px; background:var(--bg-page); }
.privacy-details strong { font-size:.8rem; }
.privacy-option { display:flex; align-items:flex-start; gap:12px; margin:18px 0; cursor:pointer; }
.privacy-option input { width:22px; height:22px; flex-shrink:0; accent-color:var(--color-primary); }
.privacy-option > span > span { display:block; margin-top:7px; font-size:.76rem; line-height:1.7; color:var(--text-muted); }
.privacy-reopen { position:fixed; right:14px; bottom:14px; z-index:1000; padding:8px 13px; min-height:36px; border:1px solid var(--border-light); border-radius:20px; background:var(--bg-card); color:var(--text-muted); box-shadow:var(--shadow-sm); cursor:pointer; font:500 .7rem var(--font-sans); }
.privacy-backdrop { position:fixed; inset:0; z-index:4000; background:#14172077; }
.privacy-backdrop[hidden], .privacy-details[hidden] { display:none; }
.privacy-fallback[open] { display:block; position:fixed; inset:50% auto auto 50%; transform:translate(-50%,-50%); z-index:4001; margin:0; }
.legal-header { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px max(20px,calc((100vw - 920px)/2)); border-bottom:1px solid var(--border-light); background:var(--bg-card); }
.legal-header img { width:170px; height:44px; object-fit:contain; }
.legal-document { max-width:900px; margin:40px auto 80px; padding:0 22px; }
.legal-document h1 { font:500 clamp(2rem,5vw,3rem)/1.2 var(--font-serif); margin-bottom:18px; }
.legal-document h2 { font:600 1.4rem var(--font-serif); margin:34px 0 14px; }
.legal-document p, .legal-document li { font-size:.9rem; line-height:1.8; margin:12px 0; }
.legal-document ul { padding-left:20px; }
.legal-document .legal-table { overflow-x:auto; }
.legal-document table { width:100%; border-collapse:collapse; font-size:.8rem; }
.legal-document th, .legal-document td { text-align:left; vertical-align:top; padding:12px; border:1px solid var(--border-light); line-height:1.7; }
.legal-document th { background:var(--bg-card); }
.legal-intro { padding:20px; border:1px solid var(--border-light); border-radius:18px; background:var(--bg-card); }
@media(max-width:600px) { .privacy-actions { grid-template-columns:1fr; } .privacy-reopen { bottom:max(76px,env(safe-area-inset-bottom)); } .legal-header { flex-wrap:wrap; } }
@media(prefers-reduced-motion:no-preference) { .privacy-choice[open]:not(.privacy-fallback) { animation:dialog-appear .18s ease-out both; } }
