.cc-root { --cc-background:#fff; --cc-text:#172d32; --cc-accent:#125d55; --cc-border:#cad9d6; --cc-radius:16px; font:16px/1.5 system-ui,sans-serif; color:var(--cc-text); }
.cc-root *, .cc-root *::before, .cc-root *::after { box-sizing:border-box; }
.cc-root [hidden] { display:none !important; }
.cc-banner, .cc-dialog { color:var(--cc-text); background:var(--cc-background); border:1px solid var(--cc-border); border-radius:var(--cc-radius); padding:24px; box-shadow:0 12px 60px #102a3326; }
.cc-banner { position:fixed; z-index:9999; bottom:70px; right:24px; width:min(580px, calc(100vw - 48px)); max-height:70dvh; overflow:auto; }
.cc-root h2 { margin:0 0 12px; font-size:1.4em; line-height:1.3; }
.cc-root p { margin:0 0 16px; }
.cc-root a { color:var(--cc-accent); text-decoration:underline; }
.cc-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.cc-root button { font:inherit; cursor:pointer; color:var(--cc-text); background:var(--cc-background); border:1px solid var(--cc-border); border-radius:8px; padding:10px 14px; min-height:44px; }
.cc-root button:hover { border-color:var(--cc-accent); }
.cc-root :focus-visible { outline:3px solid var(--cc-accent); outline-offset:3px; }
.cc-root input { accent-color:var(--cc-accent); width:22px; height:22px; flex-shrink:0; }
.cc-dialog { width:min(640px, calc(100vw - 32px)); max-height:85dvh; }
.cc-dialog::backdrop { background:#102a3370; }
.cc-category { display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--cc-border); cursor:pointer; }
.cc-category span span, .cc-category small { display:block; margin-top:4px; }
.cc-settings-link { position:fixed; bottom:16px; left:16px; z-index:9998; box-shadow:0 4px 16px #102a331a; }
.cc-status:not(:empty) { position:fixed; bottom:72px; left:16px; z-index:10000; max-width:min(400px,90vw); padding:16px; background:var(--cc-background); border:1px solid var(--cc-border); border-radius:8px; }
@media(max-width:480px) { .cc-banner { right:12px; width:calc(100vw - 24px); padding:18px; } .cc-actions button { flex:1 1 100%; } }
