/* CRNA Compass */
.cc{
  --cc-ink:#14213D; --cc-ink-2:#2E3A55; --cc-muted:#56607A;
  --cc-paper:#FBF8F3; --cc-card:#FFFFFF; --cc-sand:#F3EDE3; --cc-line:#E4DCCF;
  --cc-accent:#D64933; --cc-accent-ink:#A8321F; --cc-accent-soft:#FBE7E3;
  --cc-teal:#1C6E7E; --cc-teal-soft:#E2F1F3;
  --cc-brass:#B8901C; --cc-brass-soft:#FAF1D8;
  --cc-ok:#1F7A4A; --cc-ok-soft:#E3F3EA;
  --cc-warn:#9A5B0B; --cc-warn-soft:#FDF0DC;
  --cc-radius:16px; --cc-shadow:0 1px 2px rgba(20,33,61,.06),0 8px 24px rgba(20,33,61,.07);
  --cc-display:"Fraunces",Georgia,serif; --cc-body:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-family:var(--cc-body); color:var(--cc-ink); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
.cc *,.cc *::before,.cc *::after{box-sizing:border-box}
.cc h1,.cc h2,.cc h3{font-family:var(--cc-display); color:var(--cc-ink); letter-spacing:-.01em; line-height:1.15; margin:0 0 .5em; font-weight:600}
.cc h1{font-size:clamp(2.1rem,5vw,3.4rem)}
.cc h2{font-size:clamp(1.5rem,3.2vw,2.1rem)}
.cc h3{font-size:1.2rem}
.cc p{margin:0 0 .9em}
.cc a{color:var(--cc-teal); text-underline-offset:3px}
.cc a:hover{color:var(--cc-ink)}
.cc button,.cc input,.cc select,.cc textarea{font:inherit; color:inherit}
.cc-lead{font-size:1.1rem; color:var(--cc-ink-2); max-width:64ch}
.cc-eyebrow{display:inline-flex; align-items:center; gap:8px; font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--cc-accent-ink); margin-bottom:.6em}
.cc-small{font-size:.9rem; color:var(--cc-muted)}
.cc-muted{color:var(--cc-muted)}
.cc-icon{flex:none}
.cc-page-head{margin:0 0 24px}
.cc-section{margin:56px 0}

/* buttons */
.cc-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:10px 20px; border-radius:999px; border:2px solid transparent; font-weight:700; font-size:.98rem; text-decoration:none; cursor:pointer; transition:transform .12s,background .12s,box-shadow .12s; line-height:1.2; text-align:center}
.cc-btn:active{transform:translateY(1px)}
.cc-btn-primary{background:var(--cc-accent); color:#fff !important; box-shadow:0 4px 14px rgba(214,73,51,.28)}
.cc-btn-primary:hover{background:var(--cc-accent-ink); color:#fff}
.cc-btn-ghost{background:var(--cc-card); color:var(--cc-ink) !important; border-color:var(--cc-ink)}
.cc-btn-ghost:hover{background:var(--cc-ink); color:#fff !important}
.cc-btn-dark{background:var(--cc-ink); color:#fff !important}
.cc-btn-sm{min-height:38px; padding:6px 14px; font-size:.9rem}
.cc-btn-lg{min-height:54px; padding:14px 26px; font-size:1.05rem}
.cc-btn[disabled]{opacity:.5; cursor:not-allowed}
.cc-btn-row{display:flex; flex-wrap:wrap; gap:10px; margin:16px 0 0}

/* cards */
.cc-card{background:var(--cc-card); border:1px solid var(--cc-line); border-radius:var(--cc-radius); padding:22px; margin:20px 0; box-shadow:var(--cc-shadow)}
.cc-card h2{font-size:1.35rem}
.cc-tag{display:inline-block; font-size:.78rem; font-weight:700; padding:3px 10px; border-radius:999px; background:var(--cc-ink); color:#fff}
.cc-tag-soft{background:var(--cc-sand); color:var(--cc-ink)}
.cc-badge{font-style:normal; font-family:var(--cc-body); font-size:.72rem; font-weight:700; background:var(--cc-ok-soft); color:var(--cc-ok); padding:2px 8px; border-radius:999px; vertical-align:middle}
.cc-chip{display:inline-flex; gap:5px; font-size:.82rem; padding:4px 10px; border-radius:8px; background:var(--cc-sand); color:var(--cc-ink-2)}
.cc-chip b{font-weight:700}
.cc-chip-req{background:var(--cc-accent-soft); color:var(--cc-accent-ink)}
.cc-chip-ok{background:var(--cc-ok-soft); color:var(--cc-ok)}
.cc-chip-pref{background:var(--cc-warn-soft); color:var(--cc-warn)}
.cc-chips{display:flex; flex-wrap:wrap; gap:6px; margin:10px 0}
.cc-alert{background:var(--cc-warn-soft); color:var(--cc-warn); border-left:4px solid var(--cc-warn); padding:10px 14px; border-radius:8px; font-weight:600; margin:12px 0}
.cc-alert-inline{color:var(--cc-warn); font-weight:600; font-size:.88rem; margin:4px 0}
.cc-note{background:var(--cc-teal-soft); padding:12px 14px; border-radius:10px; margin:14px 0 0}
.cc-loading{color:var(--cc-muted)}

/* gate */
.cc-gate{text-align:center; background:linear-gradient(180deg,var(--cc-card),var(--cc-sand)); border:1px dashed var(--cc-ink-2); border-radius:var(--cc-radius); padding:30px 22px; margin:20px 0}
.cc-gate .cc-icon{width:34px; height:34px; color:var(--cc-accent)}
.cc-gate p{color:var(--cc-ink-2); max-width:48ch; margin:0 auto}
.cc-gate .cc-btn-row{justify-content:center}

/* tools grid */
.cc-tool-grid{display:grid; gap:12px; grid-template-columns:1fr}
.cc-tool{display:flex; gap:14px; align-items:flex-start; background:var(--cc-card); border:1px solid var(--cc-line); border-radius:14px; padding:16px; text-decoration:none; color:var(--cc-ink) !important; transition:border-color .12s,transform .12s,box-shadow .12s}
.cc-tool:hover{border-color:var(--cc-ink); transform:translateY(-2px); box-shadow:var(--cc-shadow)}
.cc-tool-ic{display:grid; place-items:center; width:44px; height:44px; border-radius:12px; background:var(--cc-accent-soft); color:var(--cc-accent-ink); flex:none}
.cc-tool-body{display:flex; flex-direction:column; gap:3px}
.cc-tool-body strong{font-size:1.02rem}
.cc-tool-body span{color:var(--cc-ink-2); font-size:.93rem}
@media(min-width:640px){.cc-tool-grid{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.cc-tool-grid{grid-template-columns:repeat(4,1fr)} .cc-tool-grid-3{grid-template-columns:repeat(3,1fr)} .cc-tool{flex-direction:column}}

/* hero (home) */
.cc-hero{display:grid; gap:28px; align-items:center; padding:20px 0 10px}
.cc-hero h1{margin-bottom:.35em}
.cc-hero-art{position:relative; min-height:280px; display:grid; place-items:center}
.cc-dial{color:var(--cc-ink); width:240px; height:240px; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle,var(--cc-card) 55%,var(--cc-sand) 56%); box-shadow:var(--cc-shadow)}
.cc-dial .cc-logo-mark{animation:cc-sway 6s ease-in-out infinite}
@keyframes cc-sway{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(8deg)}}
@media (prefers-reduced-motion:reduce){.cc-dial .cc-logo-mark{animation:none}}
.cc-float{position:absolute; background:var(--cc-card); border:1px solid var(--cc-line); border-radius:14px; padding:12px 16px; box-shadow:var(--cc-shadow); display:flex; flex-direction:column; min-width:150px}
.cc-float span{font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--cc-muted); font-weight:700}
.cc-float strong{font-family:var(--cc-display); font-size:2rem; line-height:1.1}
.cc-float em{font-style:normal; font-size:.86rem; color:var(--cc-ink-2)}
.cc-float-a{top:6px; left:0}
.cc-float-b{bottom:6px; right:0}
.cc-float-a strong{color:var(--cc-ok)}
.cc-proof{list-style:none; padding:0; margin:18px 0 0; display:flex; flex-wrap:wrap; gap:8px 18px}
.cc-proof li{display:flex; align-items:center; gap:6px; font-weight:600; font-size:.93rem}
.cc-proof .cc-icon{color:var(--cc-ok); width:18px}
@media(min-width:900px){.cc-hero{grid-template-columns:1.25fr 1fr}}

/* steps */
.cc-steps ol{list-style:none; padding:0; margin:0; display:grid; gap:14px}
.cc-steps li{background:var(--cc-card); border:1px solid var(--cc-line); border-radius:var(--cc-radius); padding:20px}
.cc-steps li>span{display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--cc-ink); color:#fff; font-weight:700; margin-bottom:10px}
.cc-steps p{color:var(--cc-ink-2); margin:0}
@media(min-width:800px){.cc-steps ol{grid-template-columns:repeat(3,1fr)}}

/* trust */
.cc-trust{display:grid; gap:20px; background:var(--cc-ink); color:#EEF1F7; border-radius:22px; padding:28px}
.cc-trust h2{color:#fff}
.cc-trust p{color:#D6DCE8}
.cc-trust .cc-eyebrow{color:#F3A595}
.cc-trust .cc-btn-ghost{background:transparent; color:#fff !important; border-color:#fff}
.cc-trust-list{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:10px}
.cc-trust-list li{background:rgba(255,255,255,.07); border-radius:14px; padding:14px}
.cc-trust-list strong{display:block; font-family:var(--cc-display); font-size:2rem; color:#fff}
.cc-trust-list span{color:#D6DCE8; font-size:.92rem}
@media(min-width:860px){.cc-trust{grid-template-columns:1.2fr 1fr; padding:40px}}

/* pricing */
.cc-price-grid{display:grid; gap:14px}
.cc-price{position:relative; background:var(--cc-card); border:1px solid var(--cc-line); border-radius:var(--cc-radius); padding:24px; display:flex; flex-direction:column}
.cc-price ul{list-style:none; padding:0; margin:12px 0 18px; display:grid; gap:8px; flex:1}
.cc-price li{display:flex; gap:8px; align-items:flex-start; font-size:.95rem}
.cc-price li .cc-icon{color:var(--cc-ok); width:18px; margin-top:2px}
.cc-price-amt{font-family:var(--cc-display); font-size:2.4rem; font-weight:700; margin:0}
.cc-price-featured{border:2px solid var(--cc-accent); box-shadow:0 10px 30px rgba(214,73,51,.15)}
.cc-ribbon{position:absolute; top:-12px; right:18px; background:var(--cc-accent); color:#fff; font-size:.75rem; font-weight:700; padding:4px 12px; border-radius:999px}
@media(min-width:860px){.cc-price-grid{grid-template-columns:repeat(3,1fr)}}

/* faq */
.cc-q{background:var(--cc-card); border:1px solid var(--cc-line); border-radius:12px; padding:0 18px; margin:8px 0}
.cc-q summary{cursor:pointer; font-weight:700; padding:16px 0; list-style:none}
.cc-q summary::-webkit-details-marker{display:none}
.cc-q summary::after{content:"+"; float:right; color:var(--cc-accent); font-size:1.3rem; line-height:1}
.cc-q[open] summary::after{content:"\2212"}
.cc-q p{color:var(--cc-ink-2)}

.cc-cta-band{display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; background:var(--cc-accent-soft); border:1px solid #F2C9C0; border-radius:var(--cc-radius); padding:22px; margin:30px 0}
.cc-cta-band h3{margin:0 0 4px}
.cc-cta-band p{margin:0; color:var(--cc-ink-2)}

/* finder */
.cc-filters{display:grid; grid-template-columns:1fr 1fr; gap:12px; background:var(--cc-card); border:1px solid var(--cc-line); border-radius:var(--cc-radius); padding:16px; box-shadow:var(--cc-shadow); position:relative}
.cc-field{display:flex; flex-direction:column; gap:5px}
.cc-field-wide{grid-column:1/-1}
.cc-field label,.cc-label{font-size:.82rem; font-weight:700; color:var(--cc-ink-2)}
.cc input[type=text],.cc input[type=search],.cc input[type=number],.cc input[type=date],.cc input[type=email],.cc select,.cc textarea{width:100%; min-height:44px; padding:9px 12px; border:1.5px solid #CFC6B8; border-radius:10px; background:#fff; font-size:16px}
.cc textarea{min-height:110px; resize:vertical; line-height:1.5}
.cc input:focus,.cc select:focus,.cc textarea:focus{outline:none; border-color:var(--cc-teal); box-shadow:0 0 0 3px var(--cc-teal-soft)}
.cc-toggles{grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px}
.cc-toggles label{display:inline-flex; align-items:center; gap:8px; font-size:.9rem; font-weight:600; background:var(--cc-sand); padding:8px 12px; border-radius:999px; cursor:pointer}
.cc-toggles input{width:18px; height:18px; accent-color:var(--cc-accent)}
@media(min-width:900px){.cc-filters{grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr} .cc-field-wide{grid-column:auto}}
.cc-results-bar{display:flex; justify-content:space-between; align-items:center; margin:18px 0 4px}
.cc-results-bar p{margin:0}
.cc-hint{margin:0 0 14px}
.cc-pgrid{display:grid; gap:12px; grid-template-columns:1fr}
@media(min-width:640px){.cc-pgrid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.cc-pgrid{grid-template-columns:repeat(3,1fr)}}
.cc-pcard{background:var(--cc-card); border:1px solid var(--cc-line); border-radius:14px; padding:16px; display:flex; flex-direction:column}
.cc-pcard[hidden]{display:none}
.cc-pcard-top{display:flex; gap:6px; align-items:center; flex-wrap:wrap}
.cc-pcard h3{font-size:1.1rem; margin:10px 0 2px}
.cc-pcard h3 a{color:var(--cc-ink); text-decoration:none}
.cc-pcard h3 a:hover{text-decoration:underline}
.cc-pcard-loc{color:var(--cc-muted); font-size:.92rem; margin:0}
.cc-mini{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:12px 0 0}
.cc-mini div{background:var(--cc-paper); border-radius:10px; padding:8px 10px}
.cc-mini dt{font-size:.74rem; text-transform:uppercase; letter-spacing:.06em; color:var(--cc-muted); font-weight:700}
.cc-mini dd{margin:0; font-weight:700}
.cc-pcard-deadline{display:flex; gap:6px; align-items:flex-start; font-size:.86rem; color:var(--cc-ink-2); margin:4px 0 8px}
.cc-pcard-deadline .cc-icon{width:16px; margin-top:2px}
.cc-compare-check{margin-top:auto; display:inline-flex; gap:6px; align-items:center; font-size:.85rem; color:var(--cc-muted); cursor:pointer; padding-top:6px}
.cc-track-btn{margin-left:auto; border:1.5px solid var(--cc-ink); background:#fff; color:var(--cc-ink); border-radius:999px; font-weight:700; font-size:.82rem; padding:5px 12px; cursor:pointer; min-height:32px}
.cc-track-btn.is-on,.cc-btn.is-on{background:var(--cc-ok); border-color:var(--cc-ok); color:#fff !important}
.cc-empty{text-align:center; padding:30px; color:var(--cc-muted)}
.cc-compare-bar{position:fixed; left:50%; bottom:16px; transform:translateX(-50%); z-index:9999; display:flex; align-items:center; gap:10px; background:var(--cc-ink); color:#fff; padding:10px 14px; border-radius:999px; box-shadow:0 10px 30px rgba(0,0,0,.25); max-width:calc(100% - 32px)}
.cc-compare-bar .cc-btn-ghost{background:transparent; color:#fff !important; border-color:#fff}
.cc-states .cc-state-list{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:6px}
.cc-state-list a{display:flex; justify-content:space-between; padding:8px 12px; border-radius:10px; background:var(--cc-paper); text-decoration:none; color:var(--cc-ink); font-weight:600}
.cc-state-list a:hover{background:var(--cc-sand)}
.cc-state-list span{color:var(--cc-muted); font-weight:500}

/* program page */
.cc-crumbs{font-size:.9rem; color:var(--cc-muted); margin:0 0 14px}
.cc-crumbs span{margin:0 4px}
.cc-hero-card{background:var(--cc-card); border:1px solid var(--cc-line); border-radius:var(--cc-radius); padding:22px; box-shadow:var(--cc-shadow); border-top:5px solid var(--cc-accent)}
.cc-hero-meta{display:flex; gap:6px; flex-wrap:wrap}
.cc-program-name{font-family:var(--cc-display); font-size:1.35rem; margin:12px 0 2px; font-weight:600}
.cc-program-loc{color:var(--cc-muted); margin:0}
.cc-glance{margin:26px 0}
.cc-glance h2{font-size:1.35rem}
.cc-stat-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:10px}
@media(min-width:700px){.cc-stat-grid{grid-template-columns:repeat(3,1fr)}}
.cc-stat-grid-3{grid-template-columns:repeat(3,1fr); margin:0 0 20px}
.cc-stat{background:var(--cc-card); border:1px solid var(--cc-line); border-radius:14px; padding:14px}
.cc-stat span{display:block; font-size:.78rem; text-transform:uppercase; letter-spacing:.07em; font-weight:700; color:var(--cc-muted)}
.cc-stat strong{font-family:var(--cc-display); font-size:1.5rem; font-weight:600}
.cc-stat-required{background:var(--cc-accent-soft); border-color:#F2C9C0}
.cc-stat-required strong{color:var(--cc-accent-ink)}
.cc-stat-not-required,.cc-stat-optional{background:var(--cc-ok-soft); border-color:#BFE0CC}
.cc-stat-not-required strong,.cc-stat-optional strong{color:var(--cc-ok)}
.cc-stat-preferred,.cc-stat-recommended{background:var(--cc-warn-soft); border-color:#F0D7AE}
.cc-details{margin:0; display:grid; gap:0}
.cc-details div{display:grid; grid-template-columns:1fr; gap:2px; padding:12px 0; border-bottom:1px solid var(--cc-line)}
.cc-details div:last-child{border-bottom:0}
.cc-details dt{font-weight:700; font-size:.9rem}
.cc-details dd{margin:0; color:var(--cc-ink-2)}
@media(min-width:640px){.cc-details div{grid-template-columns:200px 1fr; gap:16px}}
.cc-sources{padding-left:18px; font-size:.92rem; word-break:break-word}
.cc-link-list{list-style:none; padding:0; margin:0; display:grid; gap:6px}
.cc-link-list li{padding:6px 0; border-bottom:1px solid var(--cc-line)}
.cc-report-form{display:grid; gap:10px; margin-top:12px}

/* table */
.cc-table-wrap{overflow-x:auto; border:1px solid var(--cc-line); border-radius:14px; background:var(--cc-card); margin:0 0 20px}
.cc-table{width:100%; border-collapse:collapse; font-size:.93rem; min-width:640px}
.cc-table th{background:var(--cc-sand); text-align:left; padding:10px 12px; font-size:.8rem; text-transform:uppercase; letter-spacing:.05em}
.cc-table td{padding:10px 12px; border-top:1px solid var(--cc-line); vertical-align:top}

/* modal */
.cc-modal{position:fixed; inset:0; z-index:10000; background:rgba(20,33,61,.55); display:flex; align-items:flex-end; justify-content:center; padding:0}
.cc-modal-box{background:var(--cc-paper); width:100%; max-width:960px; max-height:90vh; overflow:auto; border-radius:20px 20px 0 0; padding:22px}
@media(min-width:700px){.cc-modal{align-items:center; padding:20px} .cc-modal-box{border-radius:20px}}
.cc-modal-head{display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:12px}
.cc-x{border:0; background:var(--cc-sand); width:40px; height:40px; border-radius:50%; font-size:1.4rem; cursor:pointer; line-height:1}

/* toast */
.cc-toast{position:fixed; left:50%; bottom:22px; transform:translateX(-50%) translateY(20px); opacity:0; z-index:10001; background:var(--cc-ink); color:#fff; padding:12px 18px; border-radius:12px; font-family:"Plus Jakarta Sans",system-ui,sans-serif; font-weight:600; font-size:15px; transition:all .25s; max-width:calc(100% - 32px); box-shadow:0 10px 30px rgba(0,0,0,.25)}
.cc-toast.show{opacity:1; transform:translateX(-50%) translateY(0)}
.cc-toast a{color:#FFD3C9}

/* generic app UI */
.cc-panel{background:var(--cc-card); border:1px solid var(--cc-line); border-radius:var(--cc-radius); padding:20px; margin:0 0 16px; box-shadow:var(--cc-shadow)}
.cc-grid-2{display:grid; gap:12px}
@media(min-width:700px){.cc-grid-2{grid-template-columns:1fr 1fr}}
.cc-seg{display:flex; flex-wrap:wrap; gap:6px}
.cc-seg button,.cc-pill{border:1.5px solid #CFC6B8; background:#fff; border-radius:999px; padding:8px 14px; font-weight:600; font-size:.92rem; cursor:pointer; min-height:40px}
.cc-seg button.is-on,.cc-pill.is-on{background:var(--cc-ink); color:#fff; border-color:var(--cc-ink)}
.cc-checks{display:grid; gap:8px; grid-template-columns:1fr}
@media(min-width:600px){.cc-checks{grid-template-columns:1fr 1fr}}
.cc-checks label{display:flex; gap:10px; align-items:center; background:var(--cc-paper); border:1.5px solid var(--cc-line); padding:10px 12px; border-radius:10px; cursor:pointer; font-weight:600; font-size:.93rem}
.cc-checks input{width:20px; height:20px; accent-color:var(--cc-accent); flex:none}
.cc-checks label:has(input:checked){border-color:var(--cc-teal); background:var(--cc-teal-soft)}
.cc-q-block{margin:0 0 20px}
.cc-q-block>.cc-label{display:block; font-size:1rem; color:var(--cc-ink); margin-bottom:8px}
.cc-progress{height:12px; background:var(--cc-sand); border-radius:999px; overflow:hidden}
.cc-progress>i{display:block; height:100%; background:linear-gradient(90deg,var(--cc-teal),var(--cc-ok)); border-radius:999px; transition:width .4s}

/* readiness result */
.cc-score{display:grid; gap:20px; align-items:center}
@media(min-width:760px){.cc-score{grid-template-columns:220px 1fr}}
.cc-ring{position:relative; width:200px; height:200px; margin:0 auto}
.cc-ring svg{transform:rotate(-90deg)}
.cc-ring-num{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center}
.cc-ring-num strong{font-family:var(--cc-display); font-size:3.4rem; line-height:1}
.cc-ring-num span{font-size:.85rem; color:var(--cc-muted); font-weight:700}
.cc-tier{display:inline-block; font-weight:700; padding:5px 12px; border-radius:999px; margin-bottom:8px}
.cc-bars{display:grid; gap:10px; margin-top:12px}
.cc-bar{display:grid; grid-template-columns:130px 1fr 52px; gap:10px; align-items:center; font-size:.9rem}
.cc-bar b{font-weight:600}
.cc-bar em{font-style:normal; text-align:right; font-weight:700}
.cc-gaps{list-style:none; padding:0; margin:0; display:grid; gap:10px}
.cc-gaps li{display:flex; gap:12px; background:var(--cc-paper); border-left:4px solid var(--cc-accent); padding:12px 14px; border-radius:10px}
.cc-gaps li.is-good{border-left-color:var(--cc-ok)}
.cc-gaps strong{display:block}
.cc-gaps span{color:var(--cc-ink-2); font-size:.93rem}
.cc-match-list{list-style:none; padding:0; margin:0; display:grid; gap:6px; max-height:360px; overflow:auto}
.cc-match-list li{display:flex; justify-content:space-between; gap:10px; padding:9px 12px; background:var(--cc-paper); border-radius:10px; font-size:.93rem}
.cc-match-list em{font-style:normal; color:var(--cc-warn); font-weight:600; font-size:.85rem; text-align:right}

/* roadmap */
.cc-phase{background:var(--cc-card); border:1px solid var(--cc-line); border-radius:var(--cc-radius); margin:0 0 12px; overflow:hidden}
.cc-phase-head{display:flex; align-items:center; gap:12px; padding:16px 18px; cursor:pointer; background:none; border:0; width:100%; text-align:left}
.cc-phase-num{display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:var(--cc-sand); color:var(--cc-ink); flex:none}
.cc-phase.is-done .cc-phase-num{background:var(--cc-ok); color:#fff}
.cc-phase-head h3{margin:0; font-size:1.1rem}
.cc-phase-head small{display:block; color:var(--cc-muted); font-weight:600}
.cc-phase-pct{margin-left:auto; font-weight:700; color:var(--cc-ink-2); font-size:.9rem; white-space:nowrap}
.cc-phase-body{padding:0 18px 16px}
.cc-phase:not(.is-open) .cc-phase-body{display:none}
.cc-step{display:flex; gap:12px; padding:12px 0; border-top:1px solid var(--cc-line)}
.cc-step input{width:22px; height:22px; accent-color:var(--cc-ok); margin-top:2px; flex:none}
.cc-step strong{display:block}
.cc-step span{color:var(--cc-ink-2); font-size:.93rem}
.cc-step.is-done strong{text-decoration:line-through; text-decoration-color:var(--cc-ok)}

/* flashcards / interview */
.cc-flash{background:var(--cc-card); border:1px solid var(--cc-line); border-radius:20px; padding:24px; box-shadow:var(--cc-shadow); min-height:260px; display:flex; flex-direction:column}
.cc-flash-cat{font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--cc-accent-ink)}
.cc-flash-q{font-family:var(--cc-display); font-size:clamp(1.3rem,3vw,1.7rem); line-height:1.25; margin:10px 0 16px}
.cc-points{list-style:none; padding:0; margin:0 0 12px; display:grid; gap:8px}
.cc-points li{display:flex; gap:10px; align-items:flex-start; background:var(--cc-paper); padding:10px 12px; border-radius:10px}
.cc-points .cc-icon{color:var(--cc-ok); width:18px; margin-top:2px}
.cc-probe{background:var(--cc-teal-soft); padding:12px; border-radius:10px; font-size:.95rem}
.cc-rate{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:auto; padding-top:14px}
.cc-rate button{border:0; border-radius:12px; padding:12px 6px; font-weight:700; cursor:pointer; min-height:48px}
.cc-rate .r0{background:var(--cc-accent-soft); color:var(--cc-accent-ink)}
.cc-rate .r1{background:var(--cc-warn-soft); color:var(--cc-warn)}
.cc-rate .r2{background:var(--cc-ok-soft); color:var(--cc-ok)}
.cc-timer{font-family:var(--cc-display); font-size:2.2rem; font-weight:700}
.cc-timer.is-low{color:var(--cc-accent)}
.cc-rec{display:inline-flex; align-items:center; gap:8px}
.cc-rec-dot{width:12px; height:12px; border-radius:50%; background:var(--cc-accent); animation:cc-pulse 1s infinite}
@keyframes cc-pulse{50%{opacity:.3}}
.cc-statbar{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px}
.cc-statbar span{background:var(--cc-card); border:1px solid var(--cc-line); border-radius:999px; padding:6px 12px; font-size:.88rem; font-weight:600}

/* refresher game */
.cc-game{background:var(--cc-ink); color:#fff; border-radius:22px; padding:22px; min-height:340px; display:flex; flex-direction:column}
.cc-game h3{color:#fff}
.cc-game-top{display:flex; justify-content:space-between; align-items:center; gap:10px; font-weight:700}
.cc-game-q{font-family:var(--cc-display); font-size:clamp(1.3rem,3.4vw,1.7rem); line-height:1.25; margin:18px 0}
.cc-game-choices{display:grid; gap:10px}
@media(min-width:640px){.cc-game-choices{grid-template-columns:1fr 1fr}}
.cc-game-choices button{background:#fff; color:var(--cc-ink); border:0; border-radius:14px; padding:14px 16px; text-align:left; font-weight:600; font-size:1rem; cursor:pointer; min-height:56px}
.cc-game-choices button.ok{background:#3CB371; color:#fff}
.cc-game-choices button.no{background:#E35D4A; color:#fff}
.cc-game-bar{height:8px; background:rgba(255,255,255,.18); border-radius:999px; overflow:hidden; margin-top:8px}
.cc-game-bar i{display:block; height:100%; background:#F3A595; transition:width 1s linear}
.cc-game .cc-small{color:#D6DCE8}
.cc-game .cc-btn-ghost{background:transparent; color:#fff !important; border-color:#fff}
.cc-streak{color:#FFD27A}

/* tracker */
.cc-trk{background:var(--cc-card); border:1px solid var(--cc-line); border-radius:var(--cc-radius); margin:0 0 12px; box-shadow:var(--cc-shadow)}
.cc-trk-head{display:flex; gap:12px; align-items:center; padding:16px 18px; flex-wrap:wrap}
.cc-trk-head h3{margin:0; font-size:1.1rem}
.cc-trk-head .cc-small{margin:0}
.cc-trk-body{padding:0 18px 18px; display:grid; gap:14px}
.cc-trk:not(.is-open) .cc-trk-body{display:none}
.cc-status{margin-left:auto}
.cc-status select{min-height:38px; padding:4px 10px; font-weight:700}
.cc-trk-bar{flex-basis:100%}
.cc-search-results{list-style:none; padding:0; margin:6px 0 0; border:1px solid var(--cc-line); border-radius:10px; max-height:240px; overflow:auto; background:#fff}
.cc-search-results li button{display:block; width:100%; text-align:left; padding:10px 12px; border:0; background:none; cursor:pointer; border-bottom:1px solid var(--cc-line)}
.cc-search-results li button:hover{background:var(--cc-paper)}

/* statement */
.cc-sec{margin:0 0 16px}
.cc-sec-head{display:flex; justify-content:space-between; align-items:baseline; gap:10px}
.cc-sec-head h3{margin:0}
.cc-guide{list-style:disc; padding-left:20px; color:var(--cc-ink-2); font-size:.93rem; margin:8px 0}
.cc-flags{list-style:none; padding:0; margin:8px 0 0; display:grid; gap:6px}
.cc-flags li{background:var(--cc-warn-soft); color:var(--cc-warn); padding:8px 12px; border-radius:8px; font-size:.9rem}
.cc-flags li.is-clear{background:var(--cc-ok-soft); color:var(--cc-ok)}
.cc-wc{font-weight:700; font-size:.9rem}
.cc-wc.is-over{color:var(--cc-accent)}
.cc-sticky{position:sticky; top:12px; z-index:5}
.cc-preview-list{display:grid; gap:10px; padding-left:22px; margin:0}
.cc-preview-list li span{display:block; color:var(--cc-ink-2); font-size:.93rem}

/* dashboard */
.cc-dash-head{display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; background:var(--cc-ink); color:#fff; border-radius:22px; padding:22px; margin-bottom:16px}
.cc-dash-head h2{color:#fff; margin:0}
.cc-dash-head p{color:#D6DCE8; margin:4px 0 0}
.cc-rank{display:flex; align-items:center; gap:12px}
.cc-rank .cc-logo-mark{color:#fff}
.cc-rank strong{display:block; font-family:var(--cc-display); font-size:1.4rem}
.cc-rank span{color:#D6DCE8; font-size:.88rem}
.cc-dash-grid{display:grid; gap:12px}
@media(min-width:700px){.cc-dash-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.cc-dash-grid{grid-template-columns:repeat(3,1fr)}}
.cc-dash-card{background:var(--cc-card); border:1px solid var(--cc-line); border-radius:var(--cc-radius); padding:18px; text-decoration:none; color:var(--cc-ink) !important; display:block}
.cc-dash-card:hover{border-color:var(--cc-ink)}
.cc-dash-card span{display:block; font-size:.78rem; text-transform:uppercase; letter-spacing:.07em; font-weight:700; color:var(--cc-muted)}
.cc-dash-card strong{display:block; font-family:var(--cc-display); font-size:2rem; margin:4px 0}
.cc-dash-card em{font-style:normal; color:var(--cc-ink-2); font-size:.92rem}

/* shadow log */
.cc-shadow-form{display:grid; gap:12px; grid-template-columns:1fr 1fr}
.cc-shadow-form .cc-field-wide{grid-column:1/-1}
.cc-entry{display:flex; gap:12px; justify-content:space-between; padding:12px 0; border-top:1px solid var(--cc-line)}
.cc-entry p{margin:2px 0 0; color:var(--cc-ink-2); font-size:.93rem}
.cc-link-btn{border:0; background:none; color:var(--cc-accent-ink); font-weight:700; cursor:pointer; padding:4px}

@media print{
  .cc-btn,.cc-shadow-form,.cc-link-btn,.cc-compare-bar{display:none !important}
  .cc-panel,.cc-card{box-shadow:none; border-color:#999}
}

/* layout width inside themes */
.cc.alignwide{max-width:1180px; margin-left:auto; margin-right:auto; width:100%}
.cc-program.alignwide,.cc-app.alignwide{max-width:1000px}
.cc [hidden]{display:none !important}
.cc-more{display:flex; justify-content:center; margin:18px 0}
/* Home page: hide the theme's page title, the hero carries the headline */
.cc-home-page .wp-block-post-title,.cc-home-page .entry-title,.cc-home-page .page-title{display:none}

/* ===== Gamification ===== */
.cc-badge-pass{background:var(--cc-brass-soft); color:#7A5E0E}
.cc-badge-soft{background:var(--cc-sand); color:var(--cc-ink-2)}
.cc-game-grid{display:grid; gap:14px; grid-template-columns:1fr}
@media(min-width:760px){.cc-game-grid{grid-template-columns:repeat(3,1fr)}}
.cc-game-card{display:flex; flex-direction:column; background:var(--cc-card); border:1px solid var(--cc-line); border-radius:18px; overflow:hidden; text-decoration:none; color:var(--cc-ink) !important; transition:transform .15s, box-shadow .15s, border-color .15s}
.cc-game-card:hover{transform:translateY(-3px); box-shadow:var(--cc-shadow); border-color:var(--cc-ink)}
.cc-gc-art{display:grid; place-items:center; height:120px; color:#fff; background:linear-gradient(135deg,#14213D,#2E3A55)}
.cc-gc-art .cc-icon{width:54px; height:54px; stroke-width:1.6}
.cc-gc-road .cc-gc-art{background:linear-gradient(135deg,#1C6E7E,#14213D)}
.cc-gc-titrate .cc-gc-art{background:linear-gradient(135deg,#D64933,#7A2416)}
.cc-gc-hotseat .cc-gc-art{background:linear-gradient(135deg,#B8901C,#14213D)}
.cc-gc-body{display:flex; flex-direction:column; gap:6px; padding:16px}
.cc-gc-tags{display:flex; gap:6px; flex-wrap:wrap}
.cc-gc-body strong{font-family:var(--cc-display); font-size:1.3rem; font-weight:600}
.cc-gc-body>span:not(.cc-gc-tags){color:var(--cc-ink-2); font-size:.94rem}
.cc-gc-cta{display:inline-flex !important; align-items:center; gap:6px; margin-top:6px; font-weight:700; color:var(--cc-accent-ink) !important}
.cc-gc-cta .cc-icon{width:16px; height:16px}
.cc-gc-best{font-size:.85rem !important; color:var(--cc-muted) !important}
.cc-game-frame{border-radius:18px; overflow:hidden; border:1px solid var(--cc-line); background:#14213D; box-shadow:var(--cc-shadow)}
.cc-game-frame iframe{display:block; width:100%; height:760px; border:0}

.cc-daily-head{display:flex; gap:16px; align-items:center}
.cc-flame{display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:84px; padding:10px; border-radius:16px; background:var(--cc-accent-soft); color:var(--cc-accent-ink)}
.cc-flame strong{font-family:var(--cc-display); font-size:1.9rem; line-height:1}
.cc-flame span{font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em}
.cc-week{display:grid; grid-template-columns:repeat(7,1fr); gap:6px; margin-top:14px}
.cc-week span{display:flex; flex-direction:column; align-items:center; gap:4px; font-size:.78rem; font-weight:700; color:var(--cc-ink-2)}
.cc-week i{display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--cc-sand); font-style:normal; color:#fff; font-weight:800}
.cc-week .is-on i{background:var(--cc-ok)}
.cc-week .is-today i{box-shadow:0 0 0 3px var(--cc-accent)}
.cc-choices{display:grid; gap:10px}
@media(min-width:640px){.cc-choices{grid-template-columns:1fr 1fr}}
.cc-choices button{border:1.5px solid #CFC6B8; background:#fff; border-radius:12px; padding:12px 14px; text-align:left; font-weight:600; cursor:pointer; min-height:52px; color:var(--cc-ink)}
.cc-choices button.ok{background:var(--cc-ok); border-color:var(--cc-ok); color:#fff}
.cc-choices button.no{background:var(--cc-accent); border-color:var(--cc-accent); color:#fff}

.cc-daily-cta{display:flex; align-items:center; gap:14px; background:var(--cc-card); border:2px solid var(--cc-accent); border-radius:18px; padding:12px 16px; margin:0 0 16px; text-decoration:none; color:var(--cc-ink) !important}
.cc-daily-cta.is-done{border-color:var(--cc-ok)}
.cc-daily-cta .cc-flame{flex-direction:row; gap:6px; min-width:auto; padding:8px 12px}
.cc-daily-cta b{display:block}
.cc-daily-cta em{font-style:normal; color:var(--cc-ink-2); font-size:.92rem}
.cc-daily-go{margin-left:auto; background:var(--cc-accent); color:#fff; font-weight:700; border-radius:999px; padding:8px 16px}
.cc-daily-cta.is-done .cc-daily-go{background:var(--cc-ok)}
.cc-dash-split{display:grid; gap:16px}
@media(min-width:900px){.cc-dash-split{grid-template-columns:1fr 1fr}}
.cc-dash-grid-2{grid-template-columns:1fr 1fr !important}
.cc-dash-grid-2 .cc-dash-card strong{font-size:1.6rem}
.cc-map{display:block; width:100%; max-width:380px; margin:0 auto; height:auto}
.cc-elev{display:block; width:100%; height:auto}
.cc-patches{display:grid; gap:10px; grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.cc-patches{grid-template-columns:repeat(3,1fr)}}
@media(min-width:960px){.cc-patches{grid-template-columns:repeat(4,1fr)}}
.cc-patch{display:flex; flex-direction:column; align-items:center; text-align:center; gap:4px; padding:14px 10px; border-radius:14px; background:var(--cc-paper); border:1px dashed #CFC6B8}
.cc-patch strong{font-size:.92rem}
.cc-patch>span:last-child{font-size:.8rem; color:var(--cc-ink-2)}
.cc-patch-badge{display:grid; place-items:center; width:58px; height:58px; border-radius:50%; background:#E7E1D6; color:#6B7289; border:3px solid #fff; box-shadow:0 0 0 2px #D9D1C3}
.cc-patch.is-on{background:#fff; border-style:solid; border-color:var(--cc-line)}
.cc-patch.is-on .cc-patch-badge{background:var(--pc); color:#fff; box-shadow:0 0 0 2px var(--pc), 0 6px 14px rgba(20,33,61,.18)}

.cc-gc-gas .cc-gc-art{background:linear-gradient(135deg,#1C6E7E,#0E3F48)}
.cc-gc-swan .cc-gc-art{background:linear-gradient(135deg,#2E3A55,#14213D)}
.cc-gc-vent .cc-gc-art{background:linear-gradient(135deg,#1F7A4A,#14213D)}
@media(min-width:760px) and (max-width:1099px){.cc-game-grid{grid-template-columns:repeat(2,1fr)}}
.cc-list-chips{list-style:none; padding:0; margin:0}
.cc-list-chips a{text-decoration:none; font-weight:600; padding:8px 12px; background:var(--cc-teal-soft); color:#155563}
.cc-list-chips a:hover{background:var(--cc-ink); color:#fff}

/* ===== Opt-in ===== */
.cc-optin-band{display:grid; gap:20px; align-items:center; background:var(--cc-ink); color:#EEF1F7; border-radius:22px; padding:26px; margin:40px auto}
.cc-optin-band h2{color:#fff; font-size:clamp(1.4rem,3vw,1.9rem)}
.cc-optin-band p{color:#D6DCE8}
.cc-optin-band .cc-eyebrow{color:#F3A595}
@media(min-width:900px){.cc-optin-band{grid-template-columns:1fr 1.1fr; padding:36px}}
.cc-optin{background:#fff; color:var(--cc-ink); border-radius:16px; padding:18px; display:grid; gap:12px}
.cc-optin-fields{display:grid; gap:10px}
@media(min-width:560px){.cc-optin-fields{grid-template-columns:1fr 1fr} .cc-optin-fields .cc-field:nth-child(3){grid-column:1/-1}}
.cc-optin .cc-small{margin:0; color:var(--cc-ink-2)}
.cc-optin .cc-btn{width:100%}
.cc-hp{position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0}
.cc-optin-msg{margin:0; font-weight:600}
.cc-optin-msg.is-err{color:var(--cc-accent-ink)}
.cc-optin-done h3{margin:0 0 6px}
.cc-checklist-hero{display:grid; gap:24px; align-items:start}
@media(min-width:900px){.cc-checklist-hero{grid-template-columns:1fr 1fr}}
.cc-proof-col{flex-direction:column; gap:10px; margin:14px 0}
.cc-checklist-page .cc-optin{padding:0}
