/* Arcalea AI Review module, shared across diagnostic tools. Extracted from Strategy Formatter V2. */
  .cr-fab { position:fixed; left:1.5rem; bottom:1.5rem; z-index:600; background:var(--navy-500); color:#fff; border:none; font-family:'Gilroy',sans-serif; font-size:0.8rem; font-weight:700; letter-spacing:0.04em; padding:0.7rem 1.15rem; border-radius:50px; cursor:pointer; box-shadow:0 4px 18px rgba(28,38,82,0.35); display:flex; align-items:center; gap:0.5rem; }
  .cr-fab:hover { background:var(--navy-700); }
  .cr-fab .cr-spark { font-size:0.95rem; }
  .cr-overlay { position:fixed; inset:0; background:rgba(10,22,40,0.45); z-index:699; opacity:0; pointer-events:none; transition:opacity .25s; }
  .cr-overlay.open { opacity:1; pointer-events:auto; }
  .cr-drawer { position:fixed; top:0; right:0; bottom:0; width:min(440px,92vw); background:#fff; z-index:700; box-shadow:-8px 0 40px rgba(10,22,40,0.22); transform:translateX(100%); transition:transform .3s ease; display:flex; flex-direction:column; }
  .cr-drawer.open { transform:translateX(0); }
  .cr-head { padding:1.25rem 1.4rem; border-bottom:1px solid var(--grey-200); display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
  .cr-head h3 { font-family:'Gilroy',sans-serif; font-size:1.05rem; font-weight:800; color:var(--navy-500); }
  .cr-head p { font-size:0.75rem; color:var(--grey-500); margin-top:0.2rem; }
  .cr-close { background:none; border:none; font-size:1.5rem; color:var(--grey-400); cursor:pointer; line-height:1; }
  .cr-body { padding:1.25rem 1.4rem; overflow-y:auto; flex:1; }
  .cr-mode { font-size:0.72rem; font-weight:700; font-family:'Gilroy',sans-serif; border-radius:6px; padding:0.55rem 0.75rem; margin-bottom:1rem; line-height:1.5; }
  .cr-mode.demo { background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; }
  .cr-mode.live { background:#ecfdf5; border:1px solid #a7f3d0; color:#065f46; }
  .cr-comp { border:1px solid var(--grey-100); border-radius:8px; padding:0.7rem 0.85rem; margin-bottom:0.6rem; }
  .cr-comp-top { display:flex; align-items:center; justify-content:space-between; gap:0.5rem; }
  .cr-comp-name { font-family:'Gilroy',sans-serif; font-size:0.82rem; font-weight:700; color:var(--navy-500); }
  .cr-pill { font-family:'Gilroy',sans-serif; font-size:0.62rem; font-weight:800; letter-spacing:0.04em; text-transform:uppercase; padding:0.18rem 0.5rem; border-radius:3px; }
  .cr-pill.present { background:#d1fae5; color:#065f46; } .cr-pill.partial { background:#fef3c7; color:#92400e; } .cr-pill.missing { background:#fee2e2; color:#dc2626; }
  .cr-note { font-size:0.8rem; color:var(--grey-600); line-height:1.5; margin-top:0.35rem; }
  .cr-ev { font-size:0.72rem; color:var(--grey-400); margin-top:0.3rem; font-style:italic; }
  .cr-sec { font-family:'Gilroy',sans-serif; font-size:0.68rem; font-weight:800; letter-spacing:0.08em; text-transform:uppercase; color:var(--grey-400); margin:1.25rem 0 0.6rem; }
  .cr-issue { background:#fff7ed; border-left:3px solid var(--orange-500); border-radius:0 6px 6px 0; padding:0.55rem 0.75rem; margin-bottom:0.5rem; font-size:0.8rem; color:#7c3929; line-height:1.5; }
  .cr-issue strong { color:#9a3412; font-family:'Gilroy',sans-serif; }
  .cr-rewrite { background:var(--navy-900); color:#fff; border-radius:8px; padding:0.9rem 1rem; font-size:0.9rem; line-height:1.6; }
  .cr-verdict { font-size:0.85rem; color:var(--grey-700); line-height:1.6; background:#f0faf8; border:1px solid #b6e3da; border-radius:8px; padding:0.7rem 0.85rem; }
  .cr-act { margin-top:0.6rem; }
  .cr-foot { padding:0.8rem 1.4rem; border-top:1px solid var(--grey-200); font-size:0.68rem; color:var(--grey-400); line-height:1.4; }
  /* Evidence highlighting: the user's own statement, marked by component */
  .cr-state { font-size:0.92rem; line-height:1.7; color:var(--navy-900); background:#fbfcfe; border:1px solid var(--grey-100); border-radius:8px; padding:0.85rem 1rem; }
  .cr-state mark { color:inherit; }
  .cr-legend { display:flex; flex-wrap:wrap; gap:0.5rem 0.9rem; margin-top:0.55rem; }
  .cr-leg { display:inline-flex; align-items:center; gap:0.35rem; font-size:0.68rem; font-weight:700; font-family:'Gilroy',sans-serif; color:var(--grey-600); }
  .cr-leg i { width:11px; height:11px; border-radius:3px; display:inline-block; }
  .cr-leg.off { color:var(--grey-300); }
  .cr-leg.off i { background:repeating-linear-gradient(45deg,#e5e7eb,#e5e7eb 2px,#f3f4f6 2px,#f3f4f6 4px) !important; }
  /* Iterate-on-rewrite */
  .cr-changed { font-size:0.74rem; color:var(--grey-500); line-height:1.5; margin-top:0.5rem; }
  .cr-changed strong { color:var(--navy-500); font-family:'Gilroy',sans-serif; }
  .cr-act { margin-top:0.7rem; display:flex; gap:0.5rem; flex-wrap:wrap; }
  .cr-btn-primary { background:var(--teal-500); color:#fff; border:none; font-family:'Gilroy',sans-serif; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; padding:0.5rem 0.9rem; border-radius:5px; cursor:pointer; }
  .cr-btn-ghost { background:#fff; color:var(--navy-500); border:1px solid var(--grey-200); font-family:'Gilroy',sans-serif; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; padding:0.5rem 0.9rem; border-radius:5px; cursor:pointer; }
  .cr-btn-ghost:hover { background:var(--grey-100); border-color:var(--navy-500); }
  .cr-btn-ai { background:#564EA6; color:#fff; border:none; font-family:'Gilroy',sans-serif; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; padding:0.5rem 0.9rem; border-radius:5px; cursor:pointer; }
  .cr-btn-ai:hover { background:#453E86; }
  .cr-btn-save { background:var(--orange-500); color:#fff; border:none; font-family:'Gilroy',sans-serif; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; padding:0.5rem 0.9rem; border-radius:5px; cursor:pointer; }
  .cr-btn-save:hover { background:var(--orange-600); }
  /* Progressive reveal: skeleton + staggered entrance */
  .cr-skel { border:1px solid var(--grey-100); border-radius:8px; padding:0.7rem 0.85rem; margin-bottom:0.6rem; }
  .cr-skel-bar { height:10px; border-radius:4px; background:linear-gradient(90deg,#eef1f6 25%,#e2e7f0 37%,#eef1f6 63%); background-size:400% 100%; animation:crShimmer 1.3s ease infinite; margin-bottom:0.5rem; }
  .cr-skel-bar.sm { height:8px; margin-bottom:0; }
  @keyframes crShimmer { 0%{background-position:100% 0;} 100%{background-position:0 0;} }
  @keyframes crIn { from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;} }
  .cr-reveal { animation:crIn .32s ease both; }
  @media (prefers-reduced-motion: reduce){ .cr-skel-bar{ animation:none; } .cr-reveal{ animation:none; } }
  /* Completion state + flag severity */
  .cr-complete { background:#ecfdf5; border:1px solid #a7f3d0; border-radius:8px; padding:0.7rem 0.85rem; margin-bottom:0.5rem; font-size:0.82rem; color:#065f46; line-height:1.5; }
  .cr-complete strong { font-family:'Gilroy',sans-serif; }
  .cr-issue.adv { background:#f7fafc; border-left-color:#94a3b8; color:#475569; }
  .cr-issue.adv strong { color:#334155; }
  .cr-opt-tag { display:inline-block; font-family:'Gilroy',sans-serif; font-size:0.58rem; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; color:#64748b; background:#e2e8f0; border-radius:3px; padding:0.1rem 0.4rem; margin-left:0.4rem; vertical-align:middle; }
  /* Workshop editor + coaching */
  .cr-editor { width:100%; box-sizing:border-box; font-family:'Avenir LT Std',sans-serif; font-size:0.92rem; line-height:1.6; color:var(--grey-900); padding:0.75rem 0.85rem; border:1.5px solid var(--grey-200); border-radius:8px; outline:none; resize:vertical; min-height:96px; }
  .cr-editor:focus { border-color:var(--teal-500); }
  .cr-qual { background:#fffbeb; border:1px solid #fde68a; border-radius:8px; padding:0.7rem 0.85rem; margin-top:0.6rem; }
  .cr-qual-h { font-family:'Gilroy',sans-serif; font-size:0.66rem; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; color:#92400e; margin-bottom:0.45rem; }
  .cr-qual-item { display:flex; gap:0.5rem; align-items:flex-start; font-size:0.8rem; color:var(--grey-700); line-height:1.5; margin-bottom:0.35rem; }
  .cr-qual-item:last-child { margin-bottom:0; }
  .cr-qual-dot { width:9px; height:9px; border-radius:2px; flex-shrink:0; margin-top:0.28rem; }
  .cr-qual-fit { background:#f0faf8; border-color:#b6e3da; }
  .cr-qual-fit .cr-qual-h { color:#0f766e; }
  .cr-qual-item strong { font-family:'Gilroy',sans-serif; color:var(--navy-500); }
  .cr-rewrite-ref { font-size:0.8rem; color:var(--grey-600); line-height:1.55; background:#f0faf8; border:1px solid #b6e3da; border-radius:8px; padding:0.65rem 0.8rem; margin-top:0.6rem; }
  .cr-rewrite-ref-l { font-family:'Gilroy',sans-serif; font-weight:700; color:#0f766e; }
  /* Galileo-style neural band header: white logo over an animated star/constellation field */
  .cr-band { position:relative; height:58px; flex-shrink:0; overflow:hidden; background:#0d1f3c; border-bottom:1px solid rgba(255,255,255,0.06); display:flex; align-items:center; }
  .cr-neural { position:absolute; inset:0; width:100%; height:100%; display:block; }
  .cr-band-logo { position:relative; z-index:2; height:20px; width:auto; margin-left:16px; opacity:0.96; }
  .cr-band-close { position:absolute; z-index:3; top:50%; right:12px; transform:translateY(-50%); background:none; border:none; color:rgba(255,255,255,0.7); font-size:0.95rem; line-height:1; cursor:pointer; padding:0.3rem; }
  .cr-band-close:hover { color:#fff; }
  .cr-subhead { display:flex; align-items:center; gap:0.5rem; padding:0.7rem 1.4rem; border-bottom:1px solid var(--grey-200); background:#fff; flex-shrink:0; }
  .cr-star { color:var(--orange-500); font-size:0.85rem; flex-shrink:0; }
  .cr-subhead-title { font-family:'Gilroy',sans-serif; font-size:0.92rem; font-weight:800; color:var(--navy-500); flex-shrink:0; }
  .cr-subhead-badge { font-size:0.72rem; color:var(--grey-500); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* Cross-step personalization header (your plan so far) */
.cr-persona{background:#f6f8fc;border:1px solid #e2e8f4;border-radius:10px;padding:0.85rem 0.95rem;margin-bottom:1.1rem;}
.cr-persona-nm{font-family:'Gilroy',sans-serif;font-size:0.62rem;font-weight:800;letter-spacing:0.07em;text-transform:uppercase;color:#564EA6;margin-bottom:0.55rem;}
.cr-persona-star{color:#e79430;margin-right:0.15rem;}
.cr-prow{display:flex;gap:0.7rem;align-items:baseline;padding:0.22rem 0;border-top:1px solid #eaeff7;}
.cr-prow:first-of-type{border-top:none;}
.cr-pl{flex:0 0 62px;font-family:'Gilroy',sans-serif;font-weight:800;font-size:0.58rem;letter-spacing:0.05em;text-transform:uppercase;line-height:1.5;}
.cr-pv{font-size:0.84rem;color:#273673;line-height:1.45;}

/* Drawer header "thinking" indicator (embedded bevel mode): a sweeping light across the navy band plus a
   pulsing amber star, while Arcalea AI works on a review or an Ask answer. Toggled by crNeuralState. */
@keyframes crBandSweep{0%{background-position:-160px 0;}100%{background-position:calc(100% + 160px) 0;}}
@keyframes crStarPulse{0%,100%{transform:scale(1);opacity:0.8;}50%{transform:scale(1.4);opacity:1;}}
.bvb-band.cr-thinking{background-image:linear-gradient(100deg,rgba(123,107,178,0) 35%,rgba(123,107,178,0.55) 50%,rgba(123,107,178,0) 65%);background-repeat:no-repeat;background-size:160px 100%;animation:crBandSweep 1.3s linear infinite;}
.bvb-band.cr-thinking .bvb-star{display:inline-block;transform-origin:center;animation:crStarPulse 1s ease-in-out infinite;}
@media (prefers-reduced-motion: reduce){.bvb-band.cr-thinking{animation:none;}.bvb-band.cr-thinking .bvb-star{animation:none;}}
