/* Lodestar Resource Center kit (build 36). Ported from the Gold Standard playbook kit, restyled for Lodestar.
   Loaded by blog.html (the Resource Center hub) and every article page (.prose). See rc.js. */

/* ---------- reading progress (articles) ---------- */
.rc-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:1200;transform-origin:0 50%;transform:scaleX(var(--rc-p,0));background:linear-gradient(90deg,var(--gold),var(--teal-br));pointer-events:none}

/* ---------- reading toolbar ---------- */
.rc-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:0 0 18px;padding:12px;border:1px solid #e2d6c4;border-radius:14px;background:#fff}
.rc-mode{display:inline-flex;padding:3px;border-radius:999px;background:#F1EADC}
.rc-mode button,.rc-btn{font:600 .86rem/1 var(--sans);border:0;cursor:pointer;border-radius:999px;padding:10px 14px;background:transparent;color:#4a3a34;display:inline-flex;align-items:center;gap:7px}
.rc-mode button[aria-pressed="true"]{background:#241017;color:#ECE5D8}
.rc-btn{border:1px solid #e2d6c4;background:#fff;color:#241017}
.rc-btn:hover{border-color:#B0512F}
.rc-mode button:focus-visible,.rc-btn:focus-visible,.rc-more:focus-visible,.rc-save:focus-visible,.rc-anchor:focus-visible,.rc-plan button:focus-visible,.rc-plan a:focus-visible,.rc-dock button:focus-visible,.rc-paths [role="tab"]:focus-visible,.rc-sort button:focus-visible{outline:3px solid #B0512F;outline-offset:2px}
.rc-left{font:500 .78rem/1 var(--mono);letter-spacing:.04em;color:#6b5852}
.rc-left b{color:#241017;font-weight:600}
.rc-sp{flex:1}
.rc-btn svg,.rc-dock svg{width:16px;height:16px}
.rc-n{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#B0512F;color:#fff;font:600 .72rem/1 var(--mono)}
.rc-skimnote{display:none;margin:0 0 16px!important;font-size:.92rem!important;color:#6b5852!important;font-style:italic}
body.rc-skim .rc-skimnote{display:block}

/* ---------- skim mode ---------- */
body.rc-skim .prose>*:not(h2):not(.rc-lede):not(blockquote):not(.pcallout):not(.arttoc):not(.rc-bar):not(.rc-skimnote):not(.rc-more):not(.cmpwrap):not(.rc-open){display:none}
body.rc-skim .prose .rc-lede{font-weight:500}
.rc-more{display:none;margin:12px 0 4px;font:600 .82rem/1 var(--mono);letter-spacing:.04em;color:#B0512F;background:none;border:1px dashed #d9b7a3;border-radius:999px;padding:9px 14px;cursor:pointer}
body.rc-skim .rc-more{display:inline-flex;align-items:center;gap:6px}

/* ---------- heading anchors ---------- */
.prose h2{scroll-margin-top:110px}
.rc-anchor{margin-left:10px;vertical-align:middle;border:0;background:none;color:#B0512F;cursor:pointer;opacity:.75;font:600 .9rem/1 var(--mono);padding:4px 6px;border-radius:6px}
.rc-anchor:hover,.rc-anchor:focus-visible{opacity:1}
@media (hover:hover){.rc-anchor{opacity:0}.prose h2:hover .rc-anchor,.rc-anchor:focus-visible{opacity:1}}

/* ---------- live contents ---------- */
.arttoc a[aria-current="true"]{color:#B0512F;font-weight:600;padding-left:6px}

/* ---------- save to plan ---------- */
.takeaways li{padding-right:44px!important}
.rc-save{position:absolute;right:0;top:4px;width:34px;height:34px;display:grid;place-items:center;border-radius:9px;border:1px solid rgba(236,229,216,.25);background:transparent;color:#ECE5D8;cursor:pointer}
.rc-save svg{width:16px;height:16px}
.rc-save[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:#241017}
.pcallout{position:relative;padding-right:60px!important}
.pcallout .rc-save{top:14px;right:14px;color:#B0512F;border-color:#e2d6c4}
.pcallout .rc-save[aria-pressed="true"]{color:#241017}

/* ---------- plan drawer ---------- */
.rc-plan{position:fixed;inset:0;z-index:1300;visibility:hidden;pointer-events:none}
.rc-plan.is-open{visibility:visible;pointer-events:auto}
.rc-plan__bg{position:absolute;inset:0;background:rgba(7,36,32,.55);opacity:0;transition:opacity .25s}
.rc-plan.is-open .rc-plan__bg{opacity:1}
.rc-plan__panel{position:absolute;top:0;right:0;height:100%;width:min(440px,100%);background:var(--paper);color:#241017;display:flex;flex-direction:column;box-shadow:-30px 0 60px -30px rgba(0,0,0,.5);transform:translateX(100%);transition:transform .3s var(--ease)}
.rc-plan.is-open .rc-plan__panel{transform:none}
.rc-plan__head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;padding:24px 24px 14px;border-bottom:1px solid #e2d6c4}
.rc-plan__head h2{margin:0;font-size:1.4rem;color:#241017}
.rc-plan__head p{margin:6px 0 0;font-size:.88rem;color:#6b5852}
.rc-plan__x{border:1px solid #e2d6c4;background:#fff;border-radius:10px;width:38px;height:38px;cursor:pointer;color:#241017;font-size:1rem;flex:none}
.rc-plan__list{list-style:none;margin:0;padding:16px 24px;overflow:auto;flex:1;display:grid;gap:10px;align-content:start}
.rc-plan__list li{display:grid;grid-template-columns:auto 1fr auto;gap:4px 12px;align-items:start;padding:14px;border:1px solid #e2d6c4;border-radius:12px;background:#fff}
.rc-plan__list li.is-done span{text-decoration:line-through;color:#6b5852}
.rc-plan__list input{width:20px;height:20px;margin-top:2px;accent-color:#B0512F}
.rc-plan__list span{font-size:.95rem;line-height:1.45;color:#241017}
.rc-plan__list small{grid-column:2;font-size:.8rem}
.rc-plan__list small a{color:#B0512F;text-decoration:underline}
.rc-plan__list .rc-rm{grid-column:3;grid-row:1;border:0;background:none;color:#6b5852;cursor:pointer;font-size:.95rem;padding:2px 6px;border-radius:6px}
.rc-plan__empty{color:#6b5852;font-size:.95rem;line-height:1.55}
.rc-plan__foot{display:flex;flex-wrap:wrap;gap:10px;padding:16px 24px 24px;border-top:1px solid #e2d6c4}
.rc-plan__foot .btn{font-size:.9rem;padding:12px 18px}
.rc-plan__foot .rc-help{color:#241017;border:1px solid rgba(36,16,23,.35)}
.rc-toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);z-index:1400;background:#241017;color:#ECE5D8;font:600 .85rem/1 var(--sans);padding:12px 16px;border-radius:999px;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}
.rc-toast.is-in{opacity:1;transform:translate(-50%,0)}

/* ---------- mobile dock ---------- */
.rc-dock{display:none}
@media (max-width:760px){
  .rc-dock{position:fixed;left:12px;right:84px;bottom:14px;z-index:1100;display:flex;gap:6px;padding:6px;border-radius:16px;background:#241017;box-shadow:0 18px 40px -12px rgba(0,0,0,.55)}
  .rc-dock button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;color:#ECE5D8;font:600 .8rem/1 var(--sans);padding:12px 6px;border-radius:11px;cursor:pointer}
  .rc-dock button[aria-pressed="true"]{background:var(--gold);color:#241017}
  .rc-sheet{position:fixed;left:0;right:0;bottom:0;z-index:1300;max-height:70vh;overflow:auto;background:var(--paper);border-radius:18px 18px 0 0;padding:20px 20px 90px;box-shadow:0 -20px 50px -20px rgba(0,0,0,.5);transform:translateY(100%);transition:transform .3s var(--ease)}
  .rc-sheet.is-open{transform:none}
  .rc-sheet h2{margin:0 0 10px;font-size:1.1rem;color:#241017}
  .rc-sheet a{display:block;padding:12px 0;border-top:1px solid #eee3d3;color:#241017;font-size:1rem}
  body.has-rc-dock .rc-bar .rc-plan-open{display:none}
}
@media (min-width:761px){.rc-sheet{display:none}}

/* ---------- hub: pick a goal ---------- */
.rc-paths{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;margin-top:8px}
.rc-goals{display:grid;gap:8px;align-content:start}
.rc-goals [role="tab"]{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;width:100%;font:600 1rem/1.3 var(--sans);padding:16px 18px;border-radius:14px;border:1px solid #e2d6c4;background:#fff;color:#241017;cursor:pointer;transition:border-color .2s,transform .2s}
.rc-goals [role="tab"]:hover{border-color:#B0512F}
.rc-goals [role="tab"][aria-selected="true"]{background:#241017;color:#ECE5D8;border-color:#241017}
.rc-goals [role="tab"] small{font:500 .72rem/1 var(--mono);letter-spacing:.06em;color:inherit;opacity:.75;white-space:nowrap}
.rc-panel{padding:24px;border-radius:18px;background:#fff;border:1px solid #e2d6c4}
.rc-panel[hidden]{display:none}
.rc-panel h3{margin:0 0 4px;font-size:1.35rem;color:#241017}
.rc-panel>p{margin:0 0 16px;color:#6b5852;font-size:.95rem}
.rc-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:rcstep}
.rc-steps li{counter-increment:rcstep}
.rc-steps a{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:14px;border-radius:12px;border:1px solid #eee3d3;background:var(--paper);color:#241017;text-decoration:none;transition:border-color .2s,transform .2s}
.rc-steps a:hover,.rc-steps a:focus-visible{border-color:#B0512F;transform:translateX(3px)}
.rc-steps a::before{content:counter(rcstep);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#241017;color:#ECE5D8;font:600 .95rem/1 var(--serif)}
.rc-steps b{display:block;font-size:1rem;line-height:1.3}
.rc-steps em{display:block;font-style:normal;font-size:.85rem;color:#6b5852;margin-top:3px}
.rc-steps small{font:500 .72rem/1 var(--mono);color:#6b5852;white-space:nowrap}
.rc-all{margin-top:16px;font:600 .82rem/1 var(--mono);letter-spacing:.04em;color:#B0512F;background:none;border:0;cursor:pointer;padding:6px 0;text-decoration:underline}
@media (max-width:880px){.rc-paths{grid-template-columns:1fr}}

/* ---------- hub: sort + plan ---------- */
.rc-hubtools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 0}
.rc-sort{display:inline-flex;gap:4px;padding:3px;border-radius:999px;border:1px solid var(--line)}
.rc-sort button{font:600 .82rem/1 var(--sans);border:0;border-radius:999px;padding:9px 13px;background:transparent;color:var(--bone);cursor:pointer}
.rc-sort button[aria-pressed="true"]{background:var(--gold);color:#241017}
.rc-hubtools .rc-btn{border-color:var(--line);background:transparent;color:var(--bone)}
.rc-label{font:500 .72rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#c3b09d}

@media (prefers-reduced-motion:reduce){.rc-plan__panel,.rc-plan__bg,.rc-sheet,.rc-toast,.rc-steps a,.rc-goals [role="tab"]{transition:none}}
.rc-n[hidden]{display:none}
.rc-sheet__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}
.rc-sheet__x{border:1px solid #e2d6c4;background:#fff;border-radius:10px;padding:9px 12px;font:600 .85rem/1 var(--sans);color:#241017;cursor:pointer}
.rc-sheet__x:focus-visible,.rc-sheet a:focus-visible{outline:3px solid #B0512F;outline-offset:2px}
@media (max-width:760px){.rc-plan__foot{padding-right:88px}}
/* hub grid: the featured (.big) card spans two columns; let later cards fill any hole it leaves (new cards, sorting) */
#bgrid{grid-auto-flow:row dense}
