/* Peace tools everywhere: sound continuity preference, doodling, highlighting, and small coping invitations. */
.peace-tools-toggle{
  position:fixed;
  right:1rem;
  bottom:1rem;
  z-index:2147482990;
  border:0;
  border-radius:999px;
  padding:.85rem 1rem;
  font-weight:900;
  background:linear-gradient(135deg,#315c49 0%,#87624d 52%,#c19445 100%);
  color:white;
  box-shadow:0 16px 40px rgba(20,35,25,.22);
}
.peace-tools-panel{
  position:fixed;
  right:1rem;
  bottom:4.8rem;
  width:min(94vw,440px);
  z-index:2147483000;
  background:rgba(255,252,241,.97);
  color:#111;
  border:2px solid rgba(193,148,69,.42);
  border-radius:1.4rem;
  box-shadow:0 24px 70px rgba(20,35,25,.24);
  padding:1rem;
  max-height:calc(100dvh - 6rem);
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
}
.peace-panel-head{position:sticky;top:-1rem;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin:-1rem -1rem .7rem;padding:1rem;background:rgba(255,252,241,.98);border-bottom:1px solid rgba(91,119,78,.25)}
.peace-panel-head h2{margin:0}.peace-panel-head button{border:1px solid #587565;border-radius:999px;background:#fff;color:#173d31;padding:.5rem .7rem;font-weight:850}
.peace-day-guide{padding:.9rem;background:linear-gradient(135deg,#edf6ed,#fff3df);border:1px solid #9eb5a4;border-radius:1rem}
.peace-day-guide h3{margin:.1rem 0 .4rem;color:#173d31}.peace-day-guide p{font-size:1rem;line-height:1.5;font-weight:750}.peace-day-guide ol{padding-left:1.25rem}.peace-day-guide li{margin:.45rem 0}.peace-day-guide a{display:inline-flex;align-items:center;border:1px solid #51745f;border-radius:999px;background:#fff;color:#173d31;padding:.55rem .75rem;font-weight:850;text-decoration:none}.peace-day-guide audio{width:100%;margin-top:.5rem}
.peace-message-card,.peace-listen-card{margin:.8rem 0;padding:.9rem;border-radius:1rem;border:1px solid rgba(56,91,70,.22);box-shadow:0 10px 24px rgba(31,52,38,.08)}
.peace-message-card span{display:block;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#456b58}
.peace-message-card p{margin:.45rem 0 .7rem;font-family:Georgia,serif;font-size:1.08rem;line-height:1.55}
.validation-card{background:linear-gradient(135deg,#f8f1df,#fffdf7)}
.affirmation-card{background:linear-gradient(135deg,#e4f1e7,#f7f1fb)}
.peace-listen-card{background:linear-gradient(135deg,#f4e9dc,#eef5ea)}
.peace-message-card button,#peace-listen-michelle{border:0!important;background:linear-gradient(135deg,#315c49,#9a7445)!important;color:#fff!important;box-shadow:0 8px 18px rgba(49,92,73,.18);cursor:pointer}
.peace-message-card button:hover,#peace-listen-michelle:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(49,92,73,.24)}
.peace-tools-panel[hidden]{display:none}
.peace-tools-panel *{color:#111}
.peace-tools-panel h2{font-size:1.35rem;margin:.1rem 0 .35rem}
.peace-tool-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:.65rem 0}
.peace-tool-row button,.peace-tool-row select,.peace-tool-row input{
  border-radius:999px;
  border:1px solid rgba(63,103,77,.35);
  background:#fffaf0;
  padding:.55rem .7rem;
  font-weight:800;
}
.peace-stamp-row button{
  border-radius:1rem;
  background:#fffdf5;
}
.peace-tool-row button.selected,
.peace-stamp-row button.selected{
  background:#29463a;
  color:#fff;
  box-shadow:0 0 0 3px rgba(193,148,69,.35);
}
.peace-stamp-row::before{
  content:"Stamp a happy-place symbol:";
  flex-basis:100%;
  font-weight:900;
  color:#29463a;
}
.peace-tool-row input[type="color"]{width:2.6rem;height:2.35rem;padding:.1rem}
.peace-tool-help{
  font-size:.92rem;
  line-height:1.45;
  background:rgba(236,246,229,.82);
  border-radius:1rem;
  padding:.7rem;
}
.peace-doodle-canvas{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  z-index:9985;
  pointer-events:none;
  touch-action:none;
  user-select:none;
  opacity:.58;
  mix-blend-mode:multiply;
}
body.peace-doodle-on .peace-doodle-canvas{pointer-events:auto;cursor:crosshair}
.peace-doodle-stop{
  position:fixed;
  top:1rem;
  right:1rem;
  z-index:2147483100;
  border:2px solid #fff;
  border-radius:999px;
  padding:.8rem 1rem;
  background:#8b2f2f;
  color:#fff;
  font-weight:900;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
}
.peace-doodle-stop[hidden]{display:none!important}
body.peace-highlight-on ::selection{background:rgba(252,213,111,.78)}
mark.peace-mark{
  background:linear-gradient(180deg, rgba(255,238,145,.15) 15%, rgba(255,221,89,.72) 80%);
  border-radius:.22em;
  padding:0 .08em;
}
.peace-intentions{
  margin:2rem auto;
  max-width:1120px;
  padding:clamp(1.2rem,4vw,2.4rem);
  background:rgba(255,252,241,.9);
  border:1px solid rgba(91,119,78,.24);
  border-radius:2rem;
  box-shadow:0 18px 55px rgba(31,52,38,.14);
}
.peace-intention-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.peace-card{
  background:rgba(255,248,236,.78);
  border:1px solid rgba(91,119,78,.22);
  border-radius:1.3rem;
  padding:1rem;
}
.peace-card strong{display:block;margin-bottom:.35rem}
@media(max-width:850px){
  .peace-intention-grid{grid-template-columns:1fr}
  .peace-tools-panel{right:.5rem;bottom:4.4rem}
  .peace-tools-toggle{right:.5rem}
}
@media(max-width:600px){.peace-tools-panel{top:.45rem;bottom:auto;left:.45rem;right:.45rem;width:auto;max-height:calc(100dvh - .9rem);border-radius:1rem}.peace-tools-toggle{max-width:calc(100vw - 1rem);font-size:.78rem}.peace-panel-head{top:-1rem}}
