
.cct-wrapper { border: 1px solid var(--cct-border, #e5e7eb); padding: 1rem; border-radius: .75rem; background: var(--cct-bg, #fff); color: var(--cct-panel-text, inherit); }
.cct-title { margin: 0 0 1rem; font-size: 1.25rem; color: var(--cct-tab-text, inherit); }
.cct-panels { margin-bottom: 1rem; position: relative; transition: height var(--cct-dur,300ms) ease; }
.cct-panel { position: absolute; inset: 0; opacity: 0; transform: none; pointer-events: none; }
.cct-panel .cct-panel-inner { color: var(--cct-panel-text, inherit); }
.cct-panel.is-active { position: relative; opacity: 1; pointer-events: auto; }
.cct-motion-up .cct-panel { transform: translateY(12px); transition: opacity var(--cct-dur,300ms) ease, transform var(--cct-dur,300ms) ease; }
.cct-motion-left .cct-panel { transform: translateX(12px); transition: opacity var(--cct-dur,300ms) ease, transform var(--cct-dur,300ms) ease; }
.cct-motion-right .cct-panel { transform: translateX(-12px); transition: opacity var(--cct-dur,300ms) ease, transform var(--cct-dur,300ms) ease; }
.cct-panel.is-active { transform: translate(0,0); }
.cct-nav { display: flex; flex-direction: column; gap: .5rem; }
.cct-buttons { display: flex; flex-wrap: wrap; gap: .5rem; }
.cct-tab-button { border: 1px solid var(--cct-border, #e5e7eb); padding: .5rem .75rem; border-radius: .5rem; background: var(--cct-btn-bg, var(--cct-bg, #fff)); cursor: pointer; line-height: 1.2; color: var(--cct-btn-text, inherit); transition: background .2s ease, color .2s ease, outline-color .2s ease, border-color .2s ease; display:inline-flex; align-items:center; gap:.5rem; }
.cct-tab-button:hover { background: var(--cct-btn-bg-hover, var(--cct-btn-bg, var(--cct-bg, #fff))); }
.cct-tab-button.is-active { outline: 2px solid var(--cct-accent, currentColor); background: var(--cct-active-bg, var(--cct-btn-bg, var(--cct-bg, #fff))); color: var(--cct-active-text, var(--cct-btn-text, inherit)); border-color: var(--cct-active-border, var(--cct-border, #e5e7eb)); }
.cct-prev-next { display: flex; gap: .5rem; justify-content: flex-end; }
.cct-prev, .cct-next { border: 1px solid var(--cct-border, #e5e7eb); padding: .5rem .75rem; border-radius: .5rem; background: var(--cct-btn-bg, var(--cct-bg, #fff)); cursor: pointer; color: var(--cct-btn-text, inherit); transition: background .2s ease, color .2s ease; }
.cct-prev:hover, .cct-next:hover { background: var(--cct-btn-bg-hover, var(--cct-btn-bg, var(--cct-bg, #fff))); }
.cct-branding { margin-top: .75rem; font-size: .875rem; opacity: .85; }
.cct-branding a { text-decoration: none; color: var(--cct-accent, currentColor); }
.cct-accordion .cct-panels { transition: none; height: auto !important; }
.cct-accordion .cct-panel { position: relative; opacity: 0; pointer-events: none; transform: none; height: 0; overflow: hidden; transition: height var(--cct-dur,300ms) ease, opacity var(--cct-dur,300ms) ease; }
.cct-accordion .cct-panel.is-active { opacity: 1; pointer-events: auto; height: auto; overflow: visible; }
:where(.cct-wrapper) button { all: unset; display: inline-block; padding: .5rem .75rem; border: 1px solid var(--cct-border, #e5e7eb); border-radius: .5rem; background: var(--cct-btn-bg, var(--cct-bg, #fff)); cursor: pointer; line-height:1.2; color: var(--cct-btn-text, inherit); } :where(.cct-wrapper) button:focus { outline: 2px solid var(--cct-accent, currentColor); outline-offset: 2px; }