/* Privacy choices: the banner and the Manage choices window (js/consent.js), on every page. The colours are the header
   menus' (dark by default, light with the system). Self-contained, since the research papers and the demos load neither
   index.css nor chrome.css; every property a page's own p, h2, h3, a and section rules could reach is set here. */
@font-face{font-family:'Geist';font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/geist-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/newsreader-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

.pc-banner,.pc-dialog{--pc-card:#111110;--pc-shadow:0 18px 44px rgba(0,0,0,.6);--pc-text:#F2EDE1;--pc-muted:rgba(242,237,225,.66);--pc-rule-soft:rgba(242,237,225,.08);--pc-rule:rgba(242,237,225,.14);--pc-rule-strong:rgba(242,237,225,.26);--pc-solid:#F2EDE1;--pc-on-solid:#000;box-sizing:border-box;font-family:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.6;color:var(--pc-text);text-align:left;-webkit-font-smoothing:antialiased}
@media (prefers-color-scheme: light){.pc-banner,.pc-dialog{--pc-card:#FFFDF9;--pc-shadow:0 1px 2px rgba(20,18,14,.04),0 14px 36px rgba(20,18,14,.10);--pc-text:#14120E;--pc-muted:rgba(20,18,14,.62);--pc-rule-soft:rgba(20,18,14,.08);--pc-rule:rgba(20,18,14,.14);--pc-rule-strong:rgba(20,18,14,.26);--pc-solid:#14120E;--pc-on-solid:#FBF8F1}}
.pc-banner *,.pc-dialog *{box-sizing:border-box}
html.pc-open{overflow:hidden}

/* banner: Privacy choices with the Privacy Policy beside it, one line of text, then Accept all, Reject optional and
   Manage choices */
.pc-banner{position:fixed;left:0;right:0;bottom:24px;z-index:2000;width:480px;max-width:calc(100% - 32px);margin:0 auto;padding:20px 24px;display:flex;flex-direction:column;gap:16px;background:var(--pc-card);border:1px solid var(--pc-rule-soft);border-radius:14px;box-shadow:var(--pc-shadow)}
.pc-banner[hidden]{display:none}
.pc-body{display:flex;flex-direction:column;gap:6px;min-width:0}
.pc-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.pc-banner .pc-title,.pc-dialog .pc-dialog-title{margin:0;font-family:'Newsreader',Georgia,serif;font-weight:400;letter-spacing:-.01em;color:var(--pc-text)}
.pc-banner .pc-title{font-size:18px;line-height:1.25}
.pc-dialog .pc-dialog-title{font-size:24px;line-height:1.2}
.pc-banner .pc-text,.pc-dialog .pc-text{margin:0;font-size:14px;line-height:1.55;color:var(--pc-muted);text-align:left;hyphens:manual}
.pc-banner a,.pc-dialog a{color:var(--pc-text);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--pc-rule-strong);text-underline-offset:.25em}
.pc-banner a.pc-policy{flex:none;font-size:13px;color:var(--pc-muted);white-space:nowrap}
.pc-banner a:hover,.pc-dialog a:hover{opacity:.75}
.pc-actions{display:flex;align-items:center;gap:8px;margin-top:2px}
.pc-btn{height:36px;margin:0;padding:0 16px;border-radius:8px;border:1px solid var(--pc-rule-strong);background:transparent;color:var(--pc-text);font:inherit;font-size:13px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer}
.pc-btn.pc-lg{height:42px;padding:0 20px;font-size:14px}
.pc-btn.pc-primary{background:var(--pc-solid);border-color:var(--pc-solid);color:var(--pc-on-solid)}
.pc-link{height:36px;margin:0 0 0 auto;padding:0;border:0;background:none;color:var(--pc-text);font:inherit;font-size:13px;font-weight:500;white-space:nowrap;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--pc-rule-strong);text-underline-offset:.25em;cursor:pointer}
.pc-btn:hover,.pc-link:hover{opacity:.75}
.pc-btn:focus-visible,.pc-link:focus-visible,.pc-close:focus-visible,.pc-switch:focus-visible,.pc-banner a:focus-visible,.pc-dialog a:focus-visible{outline:2px solid var(--pc-text);outline-offset:2px}

/* the Manage choices window: Essential (always active) and Analytics (a switch), then Reject optional, Accept all and
   Save choices. Closed without a choice, the banner returns. */
.pc-dialog{width:560px;max-width:calc(100% - 32px);max-height:calc(100% - 32px);margin:auto;padding:28px 32px 32px;overflow-y:auto;background:var(--pc-card);border:1px solid var(--pc-rule-soft);border-radius:14px;box-shadow:var(--pc-shadow)}
.pc-dialog::backdrop{background:rgba(0,0,0,.6)}
@media (prefers-color-scheme: light){.pc-dialog::backdrop{background:rgba(20,18,14,.35)}}
.pc-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.pc-close{flex:none;width:44px;height:44px;margin:-10px -14px 0 0;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;background:none;color:var(--pc-muted);cursor:pointer}
.pc-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.pc-dialog .pc-intro{margin-top:8px}
.pc-rows{margin-top:24px;border-top:1px solid var(--pc-rule)}
.pc-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--pc-rule)}
.pc-row-body{min-width:0;display:flex;flex-direction:column;gap:4px}
.pc-dialog .pc-row-title{margin:0;font-family:inherit;font-size:15px;font-weight:500;line-height:1.4;letter-spacing:0;color:var(--pc-text)}
.pc-status{flex:none;padding-top:1px;font-size:13px;line-height:1.4;color:var(--pc-muted);white-space:nowrap}
.pc-switch{flex:none;width:44px;height:44px;margin:-11px -2px -11px 0;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;background:none;cursor:pointer}
.pc-switch span{position:relative;display:block;width:40px;height:24px;border-radius:12px;border:1px solid var(--pc-rule-strong);background:transparent;transition:background .15s ease,border-color .15s ease}
.pc-switch span::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:8px;background:var(--pc-muted);transition:left .15s ease,background .15s ease}
.pc-switch[aria-checked="true"] span{background:var(--pc-solid);border-color:var(--pc-solid)}
.pc-switch[aria-checked="true"] span::after{left:19px;background:var(--pc-on-solid)}
.pc-dialog-actions{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.pc-group{display:flex;flex-wrap:wrap;align-items:center;gap:12px}

/* Phones: the two banner buttons share the row and Manage choices goes under them; the window's buttons stack. */
@media (max-width:480px){
.pc-banner{bottom:16px;padding:18px 20px}
.pc-actions{flex-wrap:wrap}
.pc-actions .pc-btn{flex:1 1 0}
.pc-link{flex-basis:100%;margin:0;text-align:center}
.pc-dialog{padding:24px 20px}
.pc-dialog-actions,.pc-group{flex-direction:column;align-items:stretch}
.pc-dialog-actions .pc-btn{width:100%}
}
@media print{.pc-banner,.pc-dialog{display:none !important}}
