/* ============================================================
   Curriculum Index — slide-in drawer, mounted once at the Learn
   app shell level so it persists across Home/Section/Activity.
============================================================ */
.ci-root{position:absolute;inset:0;z-index:100;pointer-events:none}
.ci-backdrop{position:absolute;inset:0;background:rgba(10,12,18,.32);opacity:0;transition:opacity .18s;pointer-events:none}
.ci-root.open .ci-backdrop{opacity:1;pointer-events:auto}

.ci-drawer{
  position:absolute;top:0;left:0;bottom:0;width:308px;max-width:88vw;
  display:flex;flex-direction:column;
  background:var(--la-bg);border-right:1px solid var(--la-border);
  box-shadow:0 0 0 1px transparent,18px 0 44px rgba(10,14,24,.18);
  transform:translateX(-100%);transition:transform .2s cubic-bezier(.2,.7,.3,1);
  pointer-events:none;
}
.ci-root.open .ci-drawer{transform:translateX(0);pointer-events:auto}

.ci-hdr{flex-shrink:0;height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 16px;border-bottom:1px solid var(--la-border)}
.ci-hdr-title{font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--la-muted)}
.ci-close{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--la-muted);background:none;border:none}
.ci-close:hover{background:var(--la-hover-strong);color:var(--la-ink)}
.ci-close svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.8}

.ci-search-wrap{position:relative;flex-shrink:0;padding:10px 12px 6px}
.ci-search-icon{position:absolute;left:22px;top:50%;transform:translateY(calc(-50% - 3px));width:12px;height:12px;pointer-events:none}
.ci-search-icon svg{stroke:var(--la-faint);width:12px;height:12px}
.ci-search-input{width:100%;padding:7px 10px 7px 28px;border-radius:6px;background:var(--la-bg2);border:1px solid var(--la-border);color:var(--la-ink);font-size:12px;font-family:var(--font);outline:none;transition:border-color .15s}
.ci-search-input:focus{border-color:var(--la-accent-line)}
.ci-search-input::placeholder{color:var(--la-faint)}
.ci-empty{padding:24px 16px;text-align:center;color:var(--la-muted);font-size:12px}
.ci-search-result{padding:8px}
.ci-search-parent{color:var(--la-faint);font-weight:400}

.ci-list{flex:1;min-height:0;overflow-y:auto;padding:6px 8px 20px;background:var(--la-bg)}
.ci-section{margin-bottom:1px}
.ci-section-row{display:flex;align-items:center;gap:2px;border-radius:6px}
.ci-section-row:hover{background:var(--la-hover)}
.ci-chevron{flex-shrink:0;width:26px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--la-faint);transition:transform .15s}
.ci-chevron svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.2;transition:transform .15s}
.ci-chevron.open svg{transform:rotate(90deg)}
.ci-section-btn{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px;padding:7px 4px;background:none;border:none;text-align:left}
.ci-section-num{font-family:var(--mono);font-size:10.5px;font-weight:800;color:var(--la-faint);flex-shrink:0}
.ci-section-title{font-size:12.5px;font-weight:700;color:var(--la-ink);letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ci-section-count{flex-shrink:0;font-family:var(--mono);font-size:10.5px;color:var(--la-muted);padding-right:10px}

.ci-items{display:flex;flex-direction:column;padding:1px 0 6px 26px}
.ci-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:5px;background:none;border:none;text-align:left;color:var(--la-soft)}
.ci-item:hover{background:var(--la-hover)}
.ci-item.active{background:var(--la-accent-dim)}
.ci-item.active .ci-item-title{color:var(--la-accent);font-weight:700}
.ci-item.is-placeholder{color:var(--la-faint)}
.ci-item-num{font-family:var(--mono);font-size:10px;color:var(--la-faint);flex-shrink:0;width:24px}
.ci-item-title{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}

.ci-status{width:14px;height:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%}
.ci-status svg{width:14px;height:14px;stroke:none;fill:none}
.ci-status-done{color:var(--p-green)}
.ci-status-done svg{stroke:var(--p-green);stroke-width:2.2}
.ci-status-current svg{fill:var(--la-accent);width:8px;height:8px}
.ci-status-open{border:1.5px solid var(--la-border);width:8px;height:8px;margin:3px}
.ci-status-placeholder{width:8px;height:8px;margin:3px}

.ci-kind-badge{flex-shrink:0;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:2px 6px;border-radius:10px}
.ci-kind-badge.demo{background:var(--la-accent-dim);color:var(--la-accent)}
.ci-kind-badge.soon{background:var(--la-hover-strong);color:var(--la-faint)}
.ci-kind-badge.section-tag{background:var(--la-hover);color:var(--la-muted)}

@media(max-width:760px){
  .ci-drawer{width:82vw}
}
