#cl-box {
  position: fixed;
  inset: 0;
  box-sizing: border-box;
  width: min(36rem, calc(100% - 2rem));
  max-height: 85vh;
  max-height: 85dvh;
  margin: auto;
  overflow: auto;
  padding: clamp(18px, 4vw, 30px);
  color: #f5f7fc;
  background: #141d2c;
  border: 1px solid #54637a;
  border-radius: 18px;
  box-shadow: 0 18px 64px #0006;
  font: 16px/1.55 system-ui, sans-serif;
}
#cl-box::backdrop { background: #050913b8; }
#cl-box h2 { margin: 0 0 8px; color: inherit; font-size: 24px; }
#cl-box a { color: #d7e7ff; text-decoration: underline; }
#cl-box .cl-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; }
#cl-box .cl-actions button { flex: 1 1 7rem; }
#cl-box button, #cl-open {
  color: #f5f7fc;
  background: #26344b;
  border: 1px solid #9cacc4;
  border-radius: 8px;
  font: inherit;
  padding: 10px 14px;
  cursor: pointer;
}
#cl-box button:hover, #cl-open:hover { background: #384964; }
#cl-box :focus-visible, #cl-open:focus-visible { outline: 3px solid #ffca67; outline-offset: 3px; }
#cl-box label { display: block; padding: 6px 0; }
#cl-options { margin-top: 16px; }
#cl-open {
  position: fixed;
  right: 16px;
  bottom: max(16px, env(safe-area-inset-bottom));
  z-index: 2147482999;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border-radius: 50%;
  font-size: 25px;
}
#cl-open[data-side="left"] { left: 16px; right: auto; }
.cl-policy { font: 16px/1.6 system-ui; max-width: 1000px; }
.cl-policy table { border-collapse: collapse; width: 100%; display: block; overflow: auto; }
.cl-policy td, .cl-policy th { padding: 10px; border: 1px solid #ccd4dd; text-align: left; }
#cl-box #cl-options[hidden] { display: none !important; }
#cl-box #cl-options label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 7px 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
}
#cl-box #cl-options input[type="checkbox"] {
  all: revert;
  appearance: auto;
  position: static;
  display: block;
  box-sizing: border-box;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #8ab4ff;
  cursor: pointer;
}
#cl-box #cl-options input[type="checkbox"]:focus-visible {
  outline: 3px solid #ffca67;
  outline-offset: 3px;
}
.cl-policy { box-sizing: border-box; margin: 24px auto; padding: 0 clamp(12px, 2vw, 22px); font: 15px/1.65 system-ui, sans-serif; overflow-wrap: anywhere; }
.cl-policy h1, .cl-policy h2, .cl-policy h3 { font-family: inherit; line-height: 1.25; font-weight: 700; color: inherit; letter-spacing: normal; text-transform: none; }
.cl-policy h1 { font-size: clamp(24px, 3vw, 32px); margin: 0 0 16px; }
.cl-policy h2 { font-size: 22px; margin: 26px 0 10px; }
.cl-policy h3 { font-size: 19px; margin: 0 0 8px; }
.cl-policy p { margin: 0 0 12px; }
.cl-policy .cl-policy-category, .cl-policy .cl-policy-choice { padding: clamp(12px, 2vw, 20px); margin: 12px 0; border: 1px solid #d2dae5; border-radius: 8px; }
.cl-policy .cl-policy-table { overflow-x: auto; }
.cl-policy .cl-policy-table table { display: table; margin: 0; min-width: 420px; font-size: 14px; color: #182336; }
.cl-policy .cl-policy-table thead { background: #dce4ee; }
.cl-policy .cl-policy-table tbody tr { background: #fff; }
.cl-policy .cl-policy-table tbody tr:nth-child(odd) { background: #f0f4f8; }
.cl-policy .cl-policy-table th, .cl-policy .cl-policy-table td { vertical-align: top; }
.cl-policy .cl-policy-choice ul { margin: 0 0 12px; padding-inline-start: 20px; }
