.pp__grid #plan{grid-column: 1 / -1;}
:root{
  --bg0:#f7faf9;
  --bg1:#fbfefe;
  --ink:#1f2a2e;
  --muted:#4b5a60;
  --line:#e7ddd0;

  --sand:#f3eadc;
  --clay:#d8c4b8;
  --sage:#b9c7b9;
  --sea:#b8d3d6;

  --btn:#1f2a2e;
  --btnInk:#ffffff;
  --btnSoft:#efe6db;

  --shadow:0 10px 30px rgba(31,42,46,.08);
  --radius:18px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--ink);
  color:var(--ink);
  background: linear-gradient(135deg, rgba(184,211,214,.38), rgba(231,199,178,.42));
}


.pp{max-width:1160px;margin:0 auto;padding:26px 18px 44px;position:relative}
.pp__header{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:10px 8px 18px;
}


.pp__card--a{ background: linear-gradient(180deg, rgba(184,211,214,.18), rgba(255,255,255,.72)); }
.pp__card--b{ background: linear-gradient(180deg, rgba(185,199,185,.16), rgba(255,255,255,.70)); }
.pp__card--c{ background: linear-gradient(180deg, rgba(243,234,220,.34), rgba(255,255,255,.70)); }
.pp__card--d{ background: linear-gradient(180deg, rgba(216,196,184,.14), rgba(255,255,255,.70)); }
.pp__brand{display:flex;align-items:center;gap:12px}
.pp__mark{
  width:44px;height:44px;border-radius:14px;
  background: linear-gradient(135deg, rgba(184,211,214,.8), rgba(231,199,178,.8));
  box-shadow: var(--shadow);
}
.pp__title{font-weight:780;letter-spacing:.2px;font-size:18px}
.pp__subtitle{font-size:13px;color:rgba(184,211,214,.85);margin-top:2px}

.pp__nav{display:flex;gap:14px;flex-wrap:wrap}
.pp__link{
  color:var(--muted);text-decoration:none;font-size:13px;
  padding:8px 10px;border-radius:12px;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(231,221,208,.8);
}
.pp__link:hover{color:var(--ink);border-color:rgba(31,42,46,.18)}

.pp__hero{
  display:grid;
  grid-template-columns: 1.5fr .9fr;
  gap:30px;
  margin-bottom:18px;
  align-items:start;
}
@media (max-width: 980px){ .pp__hero{grid-template-columns:1fr} }

.pp__heroCard{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(231,221,208,.85);
  border-radius: var(--radius);
  padding:22px 22px 18px;
  box-shadow: var(--shadow);
}
.pp__heroKicker{
  display:inline-block;
  font-size:12px;
  color:var(--muted);
  background:rgba(243,234,220,.7);
  border:1px solid rgba(231,221,208,.9);
  padding:6px 10px;border-radius:999px;
}
.pp__heroH1{margin:12px 0 6px;font-size:32px;letter-spacing:-.4px}
.pp__heroP{margin:0;color:var(--muted);line-height:1.5;max-width:62ch}

/* --- Peace Path button skin (scoped; you can later swap to canonical bubbles) --- */
.pp .btn{
  appearance:none;
  border:1px solid rgba(31,42,46,.16);
  background:var(--btnSoft);
  color:var(--ink);
  padding:11px 14px;
  border-radius:999px;
  font-weight:650;
  font-size:13px;
  cursor:pointer;
  box-shadow: 0 6px 16px rgba(31,42,46,.08);
}
.pp .btn:hover{border-color:rgba(31,42,46,.28)}
.pp .btn--primary{
  background:linear-gradient(135deg, rgba(184,211,214,.85), rgba(216,196,184,.55));
  color:var(--ink);
  border-color:rgba(31,42,46,.18);
}
.pp .btn--small{padding:9px 12px;font-size:12px}

.pp__pillRow{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.pp__pill{
  font-size:12px;color:var(--muted);
  background:rgba(255,255,255,.65);
  border:1px solid rgba(231,221,208,.9);
  padding:7px 10px;border-radius:999px;
}

.pp__sideCard{
  background:rgba(255,255,255,.70);
  border:1px solid rgba(231,221,208,.85);
  border-radius: var(--radius);
  padding:18px;
  box-shadow: var(--shadow);
}
.pp__sideTitle{font-weight:760;margin:0 0 10px;font-size:14px}

.pp__tool{
  border:1px solid rgba(231,221,208,.95);
  background:rgba(255,255,255,.62);
  border-radius: 16px;
  padding:14px;
  margin-top:12px;
}
.pp__toolHead{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.pp__toolName{font-weight:740;font-size:13px}
.pp__toolMeta{font-size:12px;color:var(--muted)}

.pp__progress{height:10px;border-radius:999px;background:rgba(231,221,208,.55);overflow:hidden;margin:10px 0 12px}
.pp__progressBar{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg, rgba(184,211,214,.9), rgba(185,199,185,.9), rgba(231,199,178,.9))}

.pp__breath{display:flex;align-items:center;gap:12px}
.pp__breathRing{
  width:54px;height:54px;border-radius:999px;
  border:2px solid rgba(31,42,46,.12);
  background:
    linear-gradient(135deg, rgba(231,199,178,.28), rgba(184,211,214,.32)),
    radial-gradient(900px 600px at 20% 10%, rgba(243,234,220,.35), transparent 55%),
    radial-gradient(900px 700px at 80% 90%, rgba(216,196,184,.25), transparent 60%),
    linear-gradient(180deg, #f8f3ec, #fdfaf6);
  box-shadow: inset 0 0 0 6px rgba(231,221,208,.25);
  transform: scale(1);
}
.pp__breathCue{font-weight:760;font-size:13px}
.pp__breathTimer{color:var(--muted);font-size:12px;margin-top:2px}

.pp__toolBody{margin-top:6px}
.pp__toolHint{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.4}
.pp__toolActions{display:flex;gap:8px;margin-top:12px}

.pp__check{display:flex;gap:10px;align-items:flex-start;margin-top:10px;font-size:12px;color:var(--muted)}
.pp__check input{margin-top:2px}

.pp__grid{
  display:grid;
  grid-template-columns: 1.25fr .9fr;
  gap:30px;
  margin-top:22px;
}
@media (max-width: 980px){ .pp__grid{grid-template-columns:1fr} }

.pp__card{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(231,221,208,.85);
  border-radius: var(--radius);
  padding:18px;
  box-shadow: var(--shadow);
}
.pp__cardHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.pp__cardTitle{font-weight:800;font-size:14px}
.pp__cardSub{color:var(--muted);font-size:12px;margin-top:2px}

.pp__label{display:block;font-size:12px;color:var(--muted);margin-top:12px}
.pp__input,.pp__textarea,.pp__select{
  width:100%;
  margin-top:6px;
  padding:11px 12px;
  border-radius:14px;
  border:1px solid rgba(231,221,208,.95);
  background:rgba(255,255,255,.72);
  color:var(--ink);
  font-family:inherit;
  outline:none;
}
.pp__textarea{resize:vertical;min-height:110px}
.pp__textareaOutput{background:rgba(243,234,220,.45)}
.pp__row{display:grid;grid-template-columns: 1fr 1fr;gap:12px}
@media (max-width: 720px){ .pp__row{grid-template-columns:1fr} }
.pp__rowWrap{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

.pp__note{
  margin-top:12px;
  padding:12px 12px;
  border-radius:14px;
  background: rgba(184,211,214,.18);
  border:1px solid rgba(184,211,214,.35);
  font-size:12px;color:var(--muted);line-height:1.45;
}

.pp__steps{margin:12px 0 0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.6}
.pp__divider{height:1px;background:rgba(231,221,208,.95);margin:14px 0}

.pp__panel{
  border:1px solid rgba(231,221,208,.95);
  border-radius:16px;
  padding:12px;
  background:rgba(255,255,255,.62);
}
.pp__panelTitle{font-weight:760;font-size:13px}
.pp__scale{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.pp__chip{
  appearance:none;
  border:1px solid rgba(231,221,208,.95);
  background:rgba(255,255,255,.7);
  color:var(--muted);
  padding:8px 10px;
  border-radius:999px;
  cursor:pointer;
  font-size:12px;
  font-weight:650;
}
.pp__chip:hover{border-color:rgba(31,42,46,.22);color:var(--ink)}
.pp__panelBody{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.5}

.pp__footerNote{
  margin-top:14px;
  color:var(--muted);
  font-size:12px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(231,221,208,.95);
  background:rgba(243,234,220,.35);
}

/* ── Canonical pp__btn system ── */
.pp__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  appearance:none;
  border:1px solid rgba(31,42,46,.16);
  background:var(--btnSoft);
  color:var(--ink);
  padding:11px 16px;
  border-radius:999px;
  font-weight:650;
  font-size:13px;
  cursor:pointer;
  text-decoration:none;
  box-shadow:0 4px 12px rgba(31,42,46,.07);
  transition:border-color .12s, background .12s;
  font-family:inherit;
  line-height:1.2;
}
.pp__btn:hover{
  border-color:rgba(31,42,46,.28);
  background:var(--clay);
}
.pp__btnPrimary{
  background:linear-gradient(135deg, rgba(184,211,214,.85), rgba(216,196,184,.55));
  border-color:rgba(31,42,46,.18);
}
.pp__btnPrimary:hover{
  background:linear-gradient(135deg, rgba(184,211,214,1), rgba(216,196,184,.75));
}
.pp__btnSmall{
  padding:8px 12px;
  font-size:12px;
}

/* ── Tool text and title (breath tool) ── */
.pp__toolTitle,.pp__toolName{font-weight:740;font-size:13px;color:var(--ink)}
.pp__toolText{font-size:13px;font-weight:700;color:var(--ink)}
/* breathDot = alias for breathRing (naming was split across versions) */
.pp__breathDot,.pp__breathRing{
  width:54px;height:54px;border-radius:999px;
  border:2px solid rgba(31,42,46,.12);
  background:linear-gradient(135deg, rgba(231,199,178,.28), rgba(184,211,214,.32));
  flex-shrink:0;
  transform-origin: center;
  transition: transform 0.4s ease;
}

/* 4-7-8 breath cycle: inhale 4s → hold 7s → exhale 8s = 19s total */
@keyframes pp-breathe478 {
  0%   { transform: scale(1);   opacity: 0.65; }   /* start of inhale */
  21%  { transform: scale(1.6); opacity: 1;    }   /* end of inhale   (4/19) */
  58%  { transform: scale(1.6); opacity: 1;    }   /* end of hold    (11/19) */
  100% { transform: scale(1);   opacity: 0.65; }   /* end of exhale  (19/19) */
}

.pp__breathDot.is-breathing,
.pp__breathRing.is-breathing {
  animation: pp-breathe478 19s ease-in-out infinite;
}

/* ── Hero actions row ── */
.pp__heroActions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

/* ── Side title ── */
.pp__sideTitle{font-weight:760;margin:0 0 12px;font-size:14px;color:var(--ink)}

/* ── Message Builder — delivery banner ── */
.pp__deliveryBanner{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:9px 14px;border-radius:12px;margin-top:10px;
  background:rgba(255,255,255,.55);border:1px solid rgba(231,221,208,.85);
  font-size:12px;color:var(--muted);line-height:1.4;
}
.pp__deliveryToggle{
  appearance:none;border:none;background:none;cursor:pointer;
  font-size:12px;color:var(--muted);padding:2px 8px;border-radius:6px;
  font-family:inherit;white-space:nowrap;flex-shrink:0;
}
.pp__deliveryToggle:hover{color:var(--ink);}

/* ── Message Builder — variant output cards ── */
.pp__variantCard{
  border:1px solid rgba(231,221,208,.95);
  border-radius:14px;
  padding:14px;
  background:rgba(255,255,255,.62);
  margin-top:10px;
}
.pp__variantLabel{
  font-weight:760;font-size:13px;color:var(--ink);margin-bottom:2px;
}
.pp__variantDesc{
  font-size:11px;color:var(--muted);margin-bottom:8px;
}
.pp__variantText{
  font-size:13px;color:var(--ink);line-height:1.55;
  white-space:pre-wrap;word-break:break-word;
}
