:root { --f-ui: 'Nunito Sans',sans-serif; --permission-heading: 'Fraunces',serif; --permission-radius:20px; --permission-shadow:0 1px 3px rgba(0,0,0,.05),0 6px 24px rgba(0,0,0,.06); --permission-small:14px; --permission-body:16px; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--cream); font:var(--permission-body)/1.65 var(--f-ui); }
[hidden] { display:none; }
.permission-wrap { max-width:800px; margin:0 auto; padding:48px 24px; }
h1,h2 { font-family:var(--permission-heading); line-height:1.15; }
h1 { font-size:32px; } h2 { font-size:24px; }
a { color:var(--bl-teal); overflow-wrap:anywhere; }
.permission-brand { font-weight:900; text-decoration:none; }
.permission-card { background:var(--white); padding:32px; border-radius:var(--permission-radius); box-shadow:var(--permission-shadow); margin:24px 0; }
.permission-card label { display:block; margin:16px 0 8px; font-weight:700; font-size:var(--permission-small); }
.permission-card input:not([type=checkbox]),.permission-card select,.permission-card textarea { width:100%; border:0; padding:16px; border-radius:12px; color:var(--ink); background:var(--cream); box-shadow:var(--permission-shadow); font:inherit; }
.permission-card button { background:var(--ink); color:var(--white); font:800 var(--permission-body) var(--f-ui); padding:16px 24px; margin-top:24px; border:0; border-radius:100px; cursor:pointer; white-space:normal; }
.permission-card button:disabled { opacity:.65; cursor:wait; }
.permission-card .legal-check label { margin:0; font-weight:400; }
.permission-detail { white-space:pre-wrap; overflow-wrap:anywhere; }
#permission-error { color:var(--bl-plum); font-weight:700; }
:focus-visible { outline:3px solid var(--bl-teal); outline-offset:3px; }
@media(max-width:480px) { .permission-card { padding:24px; } }
