
.cc-root{font-family:'Hanken Grotesk',-apple-system,system-ui,sans-serif;color:var(--ink,#0F0F0F);}
.cc-root *{box-sizing:border-box;}
.cc-root [hidden]{display:none!important;}


.cc-banner{position:fixed;left:18px;bottom:18px;z-index:9000;width:min(430px,calc(100vw - 36px));
  background:#fff;border:1px solid rgba(15,15,15,.10);border-radius:18px;
  box-shadow:0 18px 50px -14px rgba(15,30,24,.38),0 4px 14px -8px rgba(0,0,0,.18);
  padding:20px 20px 16px;animation:cc-rise .45s cubic-bezier(.2,.8,.2,1);}
@keyframes cc-rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.cc-title{font-size:15px;font-weight:700;margin:0 0 6px;letter-spacing:-.01em;}
.cc-text{font-size:13px;line-height:1.5;color:var(--grey,#5b655f);margin:0;}
.cc-banner-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;align-items:center;}
.cc-banner-actions .cc-btn-ghost{margin-right:auto;}


.cc-btn{font:inherit;font-size:13px;font-weight:600;border-radius:9999px;padding:.62rem 1.15rem;cursor:pointer;
  border:1px solid transparent;line-height:1;white-space:nowrap;
  transition:background .2s,border-color .2s,color .2s,transform .12s,box-shadow .2s;}
.cc-btn:active{transform:translateY(1px);}
.cc-btn-primary{background:var(--brand,#1F4D3D);color:#fff;}
.cc-btn-primary:hover{background:#163a2d;box-shadow:0 7px 18px -7px rgba(31,77,61,.55);}
.cc-btn-secondary{background:#fff;color:var(--ink,#0F0F0F);border-color:rgba(15,15,15,.20);}
.cc-btn-secondary:hover{border-color:rgba(15,15,15,.42);background:rgba(15,15,15,.025);}
.cc-btn-ghost{background:transparent;color:var(--grey,#5b655f);padding-left:.5rem;padding-right:.5rem;}
.cc-btn-ghost:hover{color:var(--ink,#0F0F0F);}


.cc-modal{position:fixed;inset:0;z-index:9100;display:flex;align-items:center;justify-content:center;padding:20px;}
.cc-modal-backdrop{position:absolute;inset:0;background:rgba(15,26,20,.46);backdrop-filter:blur(3px);animation:cc-fade .3s;}
@keyframes cc-fade{from{opacity:0;}to{opacity:1;}}
.cc-modal-panel{position:relative;width:min(560px,100%);max-height:min(86vh,740px);display:flex;flex-direction:column;
  background:var(--cream,#F2EEE3);border-radius:22px;overflow:hidden;
  box-shadow:0 30px 80px -20px rgba(15,30,24,.55);animation:cc-rise .4s cubic-bezier(.2,.8,.2,1);}
.cc-modal-panel:focus{outline:none;}
.cc-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid rgba(15,15,15,.08);}
.cc-modal-title{font-size:18px;font-weight:800;margin:0;letter-spacing:-.02em;}
.cc-x{width:34px;height:34px;border-radius:9999px;border:0;background:rgba(15,15,15,.05);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;color:var(--ink,#0F0F0F);transition:background .2s;}
.cc-x:hover{background:rgba(15,15,15,.1);}
.cc-modal-body{padding:18px 22px;overflow-y:auto;}
.cc-intro{margin:0 0 14px;}


.cc-cat{background:#fff;border:1px solid rgba(15,15,15,.08);border-radius:14px;padding:14px 16px;margin-bottom:10px;}
.cc-cat-head{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.cc-cat-name{font-size:14px;font-weight:700;display:inline-flex;align-items:center;}
.cc-always{font-size:10.5px;font-weight:700;color:var(--brand,#1F4D3D);margin-left:9px;
  background:rgba(31,77,61,.09);padding:2px 8px;border-radius:9999px;letter-spacing:.02em;text-transform:uppercase;}
.cc-cat-desc{font-size:12.5px;line-height:1.5;color:var(--grey,#5b655f);margin:9px 0 0;}
.cc-expand{margin-top:9px;font:inherit;font-size:12px;font-weight:600;color:var(--brand,#1F4D3D);
  background:none;border:0;padding:0;cursor:pointer;}
.cc-expand:hover{text-decoration:underline;}
.cc-table{margin-top:10px;border-top:1px solid rgba(15,15,15,.07);padding-top:8px;overflow-x:auto;}
.cc-table table{width:100%;border-collapse:collapse;font-size:11.5px;}
.cc-table th{text-align:left;font-weight:600;color:var(--grey,#5b655f);padding:4px 10px 6px 0;white-space:nowrap;}
.cc-table td{padding:6px 10px 6px 0;color:var(--ink,#0F0F0F);vertical-align:top;border-top:1px solid rgba(15,15,15,.06);}
.cc-table td:first-child{font-weight:600;white-space:nowrap;}


.cc-toggle{position:relative;width:42px;height:24px;flex:none;cursor:pointer;}
.cc-toggle input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;}
.cc-knob{position:absolute;inset:0;border-radius:9999px;background:rgba(15,15,15,.20);transition:background .2s;pointer-events:none;}
.cc-knob::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.28);transition:transform .2s;}
.cc-toggle input:checked+.cc-knob{background:var(--brand,#1F4D3D);}
.cc-toggle input:checked+.cc-knob::after{transform:translateX(18px);}
.cc-toggle.is-locked{opacity:.55;cursor:not-allowed;}
.cc-toggle.is-locked input{cursor:not-allowed;}


.cc-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:15px 22px;border-top:1px solid rgba(15,15,15,.08);background:rgba(255,255,255,.55);}
.cc-foot-end{display:flex;gap:8px;}


.cc-reopen{position:fixed;left:18px;bottom:18px;z-index:8000;width:44px;height:44px;border-radius:9999px;
  border:1px solid rgba(15,15,15,.10);background:#fff;box-shadow:0 8px 24px -10px rgba(0,0,0,.35);
  cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--brand,#1F4D3D);
  transition:transform .2s,box-shadow .2s;}
.cc-reopen:hover{transform:translateY(-2px);box-shadow:0 12px 28px -10px rgba(0,0,0,.42);}

@media (max-width:560px){
  .cc-banner{left:10px;right:10px;bottom:10px;width:auto;}
  .cc-banner-actions .cc-btn-secondary,.cc-banner-actions .cc-btn-primary{flex:1;text-align:center;justify-content:center;}
  .cc-banner-actions .cc-btn-ghost{flex-basis:100%;order:3;margin:2px 0 0;text-align:center;}
  .cc-reopen{left:10px;bottom:10px;}
}
@media (prefers-reduced-motion:reduce){.cc-banner,.cc-modal-panel,.cc-modal-backdrop{animation:none;}}
