/* ============================================================
   CO2 TACTICS — Breathe page styles
   Self-contained. Link AFTER styles.css. Uses existing brand
   tokens (--accent, --panel, --ink, etc). Rollback = remove the link.
   ============================================================ */

/* weekly breathwork strip on the Breathe page */
.br-week{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-left:2px solid var(--accent);
  border-radius:0 14px 14px 0;background:var(--panel);padding:13px 16px;margin-top:14px}
.br-week-v{font-family:'Oswald';font-weight:700;font-size:24px;color:var(--ink);line-height:1}
.br-week-v small{font-size:12px;color:var(--ink-faint);font-weight:500;margin-left:2px}
.br-week-l{font-family:'Archivo Narrow';letter-spacing:.16em;text-transform:uppercase;font-size:10px;color:var(--ink-faint)}
.br-week-div{width:1px;align-self:stretch;background:var(--line)}

/* mode cards — self-contained here because the original .lb-* rules are
   scoped under #library in styles.css and don't reach the #breathe page */
#breathe .lb-card{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:15px;margin-top:13px}
#breathe .lb-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}
#breathe .lb-tag{font-family:'Archivo Narrow';letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:600;color:var(--accent);border:1px solid var(--line-strong);border-radius:20px;padding:3px 9px}
#breathe .lb-time{font-family:'Archivo Narrow';letter-spacing:.06em;text-transform:uppercase;font-size:9.5px;color:var(--ink-faint);display:flex;align-items:center;gap:5px}
#breathe .lb-name{font-family:'Oswald';font-weight:600;text-transform:uppercase;font-size:18px;letter-spacing:.01em;color:var(--ink);margin-bottom:5px}
#breathe .lb-desc{font-size:12.5px;color:var(--ink-dim);line-height:1.5;margin-bottom:13px}
#breathe .lb-foot{display:flex;align-items:center;justify-content:space-between}
#breathe .lb-when{font-family:'Archivo Narrow';letter-spacing:.08em;text-transform:uppercase;font-size:9.5px;color:var(--ink-faint)}
#breathe .lb-when b{color:var(--accent);font-weight:700}
#breathe .lb-play{display:flex;align-items:center;gap:9px}
#breathe .lb-play span{font-family:'Archivo Narrow';letter-spacing:.06em;text-transform:uppercase;font-size:10px;color:var(--ink-dim);font-weight:600}
#breathe .lb-pbtn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--accent);display:flex;align-items:center;justify-content:center;flex:none}
#breathe .lb-pbtn svg{width:14px;height:14px}

/* tap affordance + per-mode left accent */
.br-card{cursor:pointer;transition:.22s;border-left:2px solid transparent}
.br-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}
.br-cad{font-family:'Archivo Narrow';letter-spacing:.14em;font-weight:600}

.br-safety{display:flex;gap:9px;align-items:flex-start;margin-top:16px;color:var(--ink-faint);
  font-size:11.5px;line-height:1.5}
.br-safety svg{width:15px;height:15px;flex:none;margin-top:1px;stroke:var(--ink-faint);fill:none;stroke-width:2}

/* ---- intro / setup screen (inside the immersive player) ---- */
.br-durow{display:flex;gap:8px;margin-top:6px}
.br-dur{flex:1;border:1px solid var(--line-strong);background:transparent;color:var(--ink-dim);
  font-family:'Oswald';font-weight:600;font-size:15px;padding:11px 0;border-radius:11px;cursor:pointer;transition:.2s}
.br-dur.on{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.br-toggle{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);
  border-radius:12px;background:var(--panel);padding:13px 15px;margin-top:10px}
.br-toggle-l{font-family:'Archivo Narrow';letter-spacing:.1em;text-transform:uppercase;font-size:11px;color:var(--ink-dim)}
.br-sw{width:44px;height:25px;border-radius:30px;background:var(--panel-2);border:1px solid var(--line-strong);
  position:relative;cursor:pointer;transition:.2s;flex:none}
.br-sw::after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;
  background:var(--ink-faint);transition:.2s}
.br-sw.on{background:var(--accent);border-color:var(--accent)}
.br-sw.on::after{left:21px;background:var(--bg)}

/* ---- the breathing orb ---- */
.br-orb-wrap{position:relative;width:270px;height:270px;margin:8px auto 4px;display:grid;place-items:center}
.br-orb-ring{position:absolute;inset:0;border-radius:50%;border:1px dashed var(--line-strong);opacity:.5}
.br-orb{position:absolute;width:230px;height:230px;border-radius:50%;
  transform:scale(.5);will-change:transform;transition:transform 4s ease-in-out;
  /* color + glow injected inline per mode from JS */}
.br-orb-center{position:relative;z-index:2;text-align:center;pointer-events:none}
.br-phase{font-family:'Archivo Narrow';letter-spacing:.22em;text-transform:uppercase;font-size:13px;
  font-weight:700;color:var(--ink);margin-bottom:4px;
  text-shadow:0 0 3px rgba(0,0,0,.55), 0 1px 2px rgba(0,0,0,.45)}
html[data-theme="light"] .br-phase{text-shadow:0 0 3px rgba(244,236,227,.85), 0 1px 2px rgba(244,236,227,.7)}
.br-count{font-family:'Oswald';font-weight:700;font-size:62px;line-height:.9;color:var(--ink);
  text-shadow:0 0 4px rgba(0,0,0,.5), 0 1px 3px rgba(0,0,0,.4)}
html[data-theme="light"] .br-count{text-shadow:0 0 4px rgba(244,236,227,.85), 0 1px 3px rgba(244,236,227,.7)}
.br-cue{font-family:'Archivo Narrow';letter-spacing:.04em;font-size:12px;color:var(--ink-faint);
  text-align:center;min-height:16px;margin-top:2px}
.br-runtop{display:flex;align-items:center;justify-content:space-between;margin:6px 0 2px}

/* ── Level selector (Foundation / Developed / Advanced) ── */
.br-lvrow{ display:flex; gap:6px; }
.br-lv{ flex:1; font-family:'Archivo Narrow',sans-serif; text-transform:uppercase;
  letter-spacing:.05em; font-size:11px; font-weight:600; padding:9px 4px; border-radius:10px;
  border:1px solid var(--line-strong); background:transparent; color:var(--ink-dim); cursor:pointer; transition:.15s; }
.br-lv.on{ background:var(--accent); color:#1E3A27; border-color:var(--accent); }
.br-lvinfo{ display:flex; align-items:baseline; justify-content:space-between; gap:10px;
  margin-top:12px; padding:11px 13px; border:1px solid var(--line); border-radius:12px; background:var(--panel); flex-wrap:wrap; }
.br-lvcad{ font-family:'Oswald',sans-serif; font-weight:700; font-size:18px; }
.br-lvnote{ flex:1 1 100%; color:var(--tan-dim); font-size:12px; line-height:1.5; margin-top:5px; }
.br-safety.adv{ background:rgba(207,138,61,.10); border-color:rgba(207,138,61,.35); }
.br-safety.adv svg{ stroke:#cf8a3d; }
.br-safety.adv div{ color:#d8a86a; }
