/* PPAL v0.7.0 session presentation. Loaded non-blocking after entry core. */
/* Paranoid Prophet Guided Article Experience v0.5.0 — mobile guided entry + compact study path. */
.ppal-console {
  --ppal-black: #090a09;
  --ppal-shadow: rgba(0, 0, 0, 0.48);
  --ppal-graphite: #171815;
  --ppal-panel: #1b1c19;
  --ppal-panel-deep: #10110f;
  --ppal-gold: #c9a653;
  --ppal-gold-bright: #f0d68f;
  --ppal-gold-line: rgba(211, 174, 90, 0.44);
  --ppal-gold-soft: rgba(232, 200, 122, 0.14);
  --ppal-ivory: #f4eee2;
  --ppal-muted: #b6b0a2;
  --ppal-dim: #8f8a7e;
  --ppal-green: #bcd3ac;
  --ppal-danger: #e7a29b;
  --ppal-radius: 15px;
  --ppal-safe-bottom: env(safe-area-inset-bottom, 0px);
  position: relative;
  margin: clamp(1.25rem, 3.2vw, 2.2rem) 0;
  color: var(--ppal-ivory);
  font-family: inherit;
  isolation: isolate;
}

.ppal-console *,
.ppal-console *::before,
.ppal-console *::after {
  box-sizing: border-box;
}

.ppal-console [hidden] {
  display: none !important;
}

.ppal-console button,
.ppal-console select,
.ppal-console input {
  font: inherit;
}

.ppal-console__shell {
  position: relative;
  overflow: hidden;
  padding: clamp(1rem, 2.35vw, 1.35rem);
  border: 1px solid var(--ppal-gold-line);
  border-radius: var(--ppal-radius);
  background:
    radial-gradient(82% 115% at 0% 0%, rgba(222, 183, 93, 0.09), transparent 48%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.028), transparent 44%),
    var(--ppal-panel);
  box-shadow: 0 1.15rem 2.6rem var(--ppal-shadow), inset 0 1px 0 rgba(255,255,255,0.035);
}

.ppal-console__shell::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  content: "";
  opacity: 0.3;
  background:
    linear-gradient(90deg, rgba(234, 199, 118, 0.04) 1px, transparent 1px),
    linear-gradient(0deg, rgba(234, 199, 118, 0.024) 1px, transparent 1px);
  background-size: 42px 100%, 100% 42px;
  mask-image: linear-gradient(120deg, #000, transparent 74%);
}

.ppal-console__shell::after {
  position: absolute;
  top: 0;
  right: 0;
  width: min(24%, 220px);
  height: 100%;
  pointer-events: none;
  content: "";
  opacity: 0.35;
  background: linear-gradient(90deg, transparent, rgba(201,166,83,0.055));
}

.ppal-console__header,
.ppal-console__subline,
.ppal-console__progress-wrap,
.ppal-console__transport,
.ppal-console__settings,
.ppal-console__now,
.ppal-console__status,
.ppal-console__resume,
.ppal-console__complete {
  position: relative;
  z-index: 1;
}

.ppal-console__header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.82rem;
  align-items: center;
}

.ppal-console__mark {
  display: grid;
  width: clamp(2.65rem, 4.5vw, 3.25rem);
  height: clamp(2.65rem, 4.5vw, 3.25rem);
  place-items: center;
  border: 1px solid rgba(240,214,143,0.58);
  border-radius: 50%;
  color: var(--ppal-gold-bright);
  background: rgba(8,9,7,0.34);
  box-shadow: inset 0 0 0 3px rgba(233,199,122,0.024);
}

.ppal-console__mark svg {
  width: 47%;
  height: 47%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
}

.ppal-console__heading {
  min-width: 0;
}

.ppal-console__eyebrow,
.ppal-console__resume-label,
.ppal-console__complete-label,
.ppal-console__settings-kicker,
.ppal-float__eyebrow {
  margin: 0;
  color: var(--ppal-gold-bright);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.17em;
  line-height: 1.3;
}

.ppal-console__title {
  max-width: 52rem;
  margin: 0.22rem 0 0;
  color: var(--ppal-ivory);
  font-size: clamp(1.1rem, 2.1vw, 1.53rem);
  font-weight: 700;
  line-height: 1.22;
  text-wrap: balance;
}

.ppal-console__length {
  display: grid;
  gap: 0.15rem;
  min-width: 5.45rem;
  padding: 0.56rem 0.68rem;
  border: 1px solid rgba(240,214,143,0.22);
  border-radius: 0.58rem;
  text-align: right;
  background: rgba(6,7,6,0.22);
}

.ppal-console__length span {
  color: var(--ppal-dim);
  font-size: 0.59rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.ppal-console__length strong {
  color: var(--ppal-gold-bright);
  font-size: 0.81rem;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.ppal-console__subline {
  margin: 0.56rem 0 0 calc(clamp(2.65rem, 4.5vw, 3.25rem) + 0.82rem);
  color: var(--ppal-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.ppal-console__subline span {
  color: var(--ppal-gold);
}

.ppal-console__progress-wrap {
  margin-top: 0.88rem;
  padding-top: 0.78rem;
  border-top: 1px solid rgba(240,214,143,0.14);
}

.ppal-console__progress-labels {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.68rem;
  align-items: center;
  margin-bottom: 0.22rem;
  color: var(--ppal-muted);
  font-size: 0.74rem;
  line-height: 1.25;
}

.ppal-console__progress-labels span:first-child,
.ppal-console__progress-labels span:last-child {
  color: var(--ppal-gold-bright);
  font-variant-numeric: tabular-nums;
}

.ppal-console__progress-labels span:nth-child(2) {
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ppal-console__progress-control {
  position: relative;
  padding: 0.1rem 0 0.2rem;
}

.ppal-console__range {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 1.28rem;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  background: rgba(9,10,8,0.88);
}

.ppal-console__range:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.ppal-console__range::-webkit-slider-runnable-track {
  height: 0.27rem;
  border: 1px solid rgba(240,214,143,0.25);
  border-radius: 999px;
  background: linear-gradient(90deg, var(--ppal-gold) 0 var(--ppal-progress, 0%), rgba(240,214,143,0.1) var(--ppal-progress, 0%) 100%);
}

.ppal-console__range::-moz-range-track {
  height: 0.27rem;
  border: 1px solid rgba(240,214,143,0.25);
  border-radius: 999px;
  background: rgba(240,214,143,0.1);
}

.ppal-console__range::-moz-range-progress {
  height: 0.27rem;
  border-radius: 999px;
  background: var(--ppal-gold);
}

.ppal-console__range::-webkit-slider-thumb {
  width: 0.92rem;
  height: 0.92rem;
  margin-top: -0.36rem;
  border: 2px solid var(--ppal-gold-bright);
  border-radius: 50%;
  appearance: none;
  -webkit-appearance: none;
  background: var(--ppal-panel-deep);
  box-shadow: 0 0 0 3px rgba(7,8,6,0.42);
}

.ppal-console__range::-moz-range-thumb {
  width: 0.92rem;
  height: 0.92rem;
  border: 2px solid var(--ppal-gold-bright);
  border-radius: 50%;
  background: var(--ppal-panel-deep);
  box-shadow: 0 0 0 3px rgba(7,8,6,0.42);
}

.ppal-console__range:focus-visible,
.ppal-console__button:focus-visible,
.ppal-console__text-button:focus-visible,
.ppal-console__field select:focus-visible,
.ppal-console__switch input:focus-visible + .ppal-console__switch-track,
.ppal-console__reset:focus-visible,
.ppal-float button:focus-visible,
.ppal-mini:focus-visible {
  outline: 3px solid rgba(240,214,143,0.5);
  outline-offset: 3px;
}

.ppal-console__chapter-marks {
  position: absolute;
  top: 50%;
  right: 0.3rem;
  left: 0.3rem;
  z-index: 3;
  height: 0.8rem;
  pointer-events: none;
  transform: translateY(-50%);
}

.ppal-console__chapter-mark {
  position: absolute;
  top: 50%;
  width: 0.46rem;
  height: 0.46rem;
  padding: 0;
  border: 1px solid var(--ppal-gold-bright);
  border-radius: 50%;
  pointer-events: auto;
  cursor: pointer;
  transform: translate(-50%, -50%);
  background: var(--ppal-panel-deep);
}

.ppal-console__chapter-mark:hover,
.ppal-console__chapter-mark:focus-visible,
.ppal-console__chapter-mark.is-active {
  background: var(--ppal-gold-bright);
  box-shadow: 0 0 0 3px rgba(240,214,143,0.13);
}

.ppal-console__transport {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.48rem;
  margin-top: 0.68rem;
}

.ppal-console__button,
.ppal-console__text-button,
.ppal-console__reset {
  font: inherit;
}

.ppal-console__button {
  display: inline-flex;
  min-height: 2.62rem;
  align-items: center;
  justify-content: center;
  gap: 0.38rem;
  padding: 0.64rem 0.78rem;
  border: 1px solid rgba(240,214,143,0.3);
  border-radius: 0.55rem;
  color: var(--ppal-ivory);
  font-size: 0.87rem;
  font-weight: 750;
  line-height: 1;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 160ms ease;
  background: rgba(6,7,6,0.24);
}

.ppal-console__button:hover:not(:disabled),
.ppal-console__button:focus-visible:not(:disabled) {
  border-color: rgba(240,214,143,0.75);
  background: rgba(10,11,9,0.58);
  transform: translateY(-1px);
}

.ppal-console__button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.ppal-console__button--primary {
  min-width: 12.6rem;
  border-color: var(--ppal-gold);
  color: #1b160b;
  background: linear-gradient(135deg, #f4dc9c, #d5ad52);
}

.ppal-console__button--primary:hover:not(:disabled),
.ppal-console__button--primary:focus-visible:not(:disabled) {
  border-color: #fff0c7;
  color: #120f08;
  background: linear-gradient(135deg, #fff0c7, #e8bf62);
}

.ppal-console__button--step {
  min-width: 4.2rem;
  color: var(--ppal-muted);
}

.ppal-console__button--stop {
  color: var(--ppal-muted);
}

.ppal-console__button--settings {
  margin-left: auto;
  color: var(--ppal-gold-bright);
}

.ppal-console__button--resume {
  min-height: 2.25rem;
  border-color: var(--ppal-gold);
  color: #1b160b;
  background: var(--ppal-gold-bright);
}

.ppal-console__button-icon {
  display: inline-flex;
  width: 0.78rem;
  justify-content: center;
  font-size: 0.78rem;
}

.ppal-console__settings {
  margin-top: 0.76rem;
  padding: 0.92rem;
  border: 1px solid rgba(240,214,143,0.18);
  border-radius: 0.66rem;
  background: rgba(6,7,6,0.29);
}

.ppal-console__settings-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.76rem;
}

.ppal-console__settings-note,
.ppal-console__voice-note,
.ppal-console__advanced-voices p {
  margin: 0.3rem 0 0;
  color: var(--ppal-muted);
  font-size: 0.76rem;
  line-height: 1.4;
}

.ppal-console__settings-grid {
  display: grid;
  grid-template-columns: minmax(5.5rem, 0.5fr) minmax(11rem, 1.45fr) minmax(8rem, 0.85fr) minmax(8rem, 0.75fr) auto;
  gap: 0.58rem;
  align-items: end;
}

.ppal-console__field {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
  color: var(--ppal-muted);
  font-size: 0.71rem;
  font-weight: 750;
  letter-spacing: 0.02em;
}

.ppal-console__field select {
  width: 100%;
  min-height: 2.5rem;
  padding: 0.54rem 1.72rem 0.54rem 0.62rem;
  border: 1px solid rgba(240,214,143,0.28);
  border-radius: 0.54rem;
  color: var(--ppal-ivory);
  font-size: 0.86rem;
  font-weight: 650;
  background: rgba(10,11,9,0.58);
  cursor: pointer;
}

.ppal-console__field select option {
  color: #171815;
  background: #f4eee2;
}

.ppal-console__voice-tools {
  min-width: 0;
  padding-bottom: 0.06rem;
}

.ppal-console__text-button {
  min-height: 2.1rem;
  padding: 0.25rem 0;
  border: 0;
  color: var(--ppal-gold-bright);
  font-size: 0.81rem;
  font-weight: 750;
  line-height: 1.2;
  cursor: pointer;
  text-align: left;
  text-decoration: underline;
  text-decoration-color: rgba(240,214,143,0.42);
  text-underline-offset: 0.2em;
  background: transparent;
}

.ppal-console__text-button:hover,
.ppal-console__text-button:focus-visible {
  color: #fff0c7;
  text-decoration-color: currentColor;
}

.ppal-console__text-button--quiet {
  flex: 0 0 auto;
  min-height: auto;
  color: var(--ppal-muted);
  font-size: 0.74rem;
}

.ppal-console__switch {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  gap: 0.52rem;
  color: var(--ppal-muted);
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.ppal-console__switch input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.ppal-console__switch-track {
  display: inline-flex;
  width: 2.18rem;
  height: 1.2rem;
  align-items: center;
  padding: 0.13rem;
  border: 1px solid rgba(240,214,143,0.32);
  border-radius: 999px;
  background: rgba(10,11,9,0.6);
  transition: background-color 160ms ease, border-color 160ms ease;
}

.ppal-console__switch-track span {
  width: 0.78rem;
  height: 0.78rem;
  border-radius: 50%;
  background: var(--ppal-muted);
  transition: transform 160ms ease, background-color 160ms ease;
}

.ppal-console__switch input:checked + .ppal-console__switch-track {
  border-color: var(--ppal-gold-bright);
  background: rgba(201,166,83,0.23);
}

.ppal-console__switch input:checked + .ppal-console__switch-track span {
  transform: translateX(0.94rem);
  background: var(--ppal-gold-bright);
}

.ppal-console__advanced-voices {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 0.72rem;
  margin-top: 0.76rem;
  padding-top: 0.68rem;
  border-top: 1px solid rgba(240,214,143,0.12);
}

.ppal-console__advanced-voices p {
  flex: 1 1 18rem;
  margin: 0;
  font-size: 0.72rem;
}

.ppal-console__reset {
  display: inline-flex;
  margin-top: 0.62rem;
  padding: 0;
  border: 0;
  color: var(--ppal-dim);
  font-size: 0.72rem;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: rgba(182,176,162,0.35);
  text-underline-offset: 0.2em;
  background: transparent;
}

.ppal-console__reset:hover,
.ppal-console__reset:focus-visible {
  color: var(--ppal-ivory);
}

.ppal-console__now {
  display: inline-flex;
  align-items: center;
  gap: 0.46rem;
  margin-top: 0.62rem;
  color: var(--ppal-green);
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.35;
}

.ppal-console__pulse {
  width: 0.54rem;
  height: 0.54rem;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 0 rgba(188,211,172,0.5);
}

.ppal-console.is-speaking .ppal-console__pulse {
  animation: ppal-pulse 1.55s ease-out infinite;
}

.ppal-console__status {
  margin: 0.38rem 0 0;
  color: var(--ppal-muted);
  font-size: 0.74rem;
  line-height: 1.4;
}

.ppal-console__resume,
.ppal-console__complete {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  margin-top: 0.68rem;
  padding-top: 0.68rem;
  border-top: 1px solid rgba(240,214,143,0.16);
}

.ppal-console__resume p,
.ppal-console__complete p {
  margin: 0;
}

.ppal-console__resume > div:first-child > p:last-child,
.ppal-console__complete > div:first-child > p:last-child {
  margin-top: 0.18rem;
  color: var(--ppal-muted);
  font-size: 0.79rem;
}

.ppal-console__resume-actions,
.ppal-console__complete-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
}

.ppal-float {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right, 0px));
  bottom: max(1rem, calc(1rem + var(--ppal-safe-bottom)));
  z-index: 560;
  width: min(22.5rem, calc(100vw - 2rem));
  padding: 0.86rem;
  border: 1px solid rgba(231, 194, 109, 0.46);
  border-radius: 0.76rem;
  color: var(--ppal-ivory);
  background: linear-gradient(145deg, rgba(255,255,255,0.03), rgba(255,255,255,0) 44%), #12120f;
  box-shadow: 0 1.1rem 2.7rem rgba(0,0,0,0.72), 0 0 0 1px rgba(14,14,12,0.45);
  backdrop-filter: none;
}

.ppal-float__minimize {
  position: absolute;
  top: 0.48rem;
  right: 0.5rem;
  width: 1.55rem;
  height: 1.55rem;
  padding: 0;
  border: 1px solid rgba(240,214,143,0.28);
  border-radius: 50%;
  color: var(--ppal-muted);
  cursor: pointer;
  background: rgba(9,10,8,0.94);
}

.ppal-float__chapter {
  overflow: hidden;
  margin: 0.28rem 1.9rem 0 0;
  color: var(--ppal-ivory);
  font-size: 0.91rem;
  font-weight: 750;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ppal-float__meta {
  margin: 0.2rem 0 0;
  color: var(--ppal-muted);
  font-size: 0.72rem;
}

.ppal-console__study,
.ppal-float__study {
  display: grid;
  gap: 0.32rem;
}

.ppal-console__study {
  margin-top: 0.72rem;
}

.ppal-console__study-label,
.ppal-float__study-label {
  color: var(--ppal-gold-bright);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.ppal-float__study {
  margin-top: 0.48rem;
}

.ppal-console__study-dots,
.ppal-float__study-dots {
  display: flex;
  flex-wrap: wrap;
  gap: 0.36rem;
}

.ppal-study-dot {
  width: 0.52rem;
  height: 0.52rem;
  border: 1px solid rgba(240,214,143,0.36);
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
}

.ppal-study-dot.is-complete {
  border-color: rgba(240,214,143,0.82);
  background: rgba(240,214,143,0.74);
}

.ppal-study-dot.is-current {
  transform: scale(1.15);
  box-shadow: 0 0 0 0.14rem rgba(240,214,143,0.18);
}

.ppal-float__controls {
  display: grid;
  grid-template-columns: 1fr 1.05fr 1fr 0.86fr;
  gap: 0.4rem;
  margin-top: 0.72rem;
}

.ppal-float__controls button,
.ppal-float__jump {
  min-height: 2.34rem;
  border: 1px solid rgba(240,214,143,0.28);
  border-radius: 0.46rem;
  color: var(--ppal-ivory);
  font-size: 0.76rem;
  font-weight: 750;
  cursor: pointer;
  background: rgba(9,10,8,0.96);
}

.ppal-float__controls .ppal-float__play {
  border-color: var(--ppal-gold);
  color: #1b160b;
  background: var(--ppal-gold-bright);
}

.ppal-float__progress {
  height: 0.24rem;
  margin-top: 0.64rem;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(240,214,143,0.13);
}

.ppal-float__progress span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: var(--ppal-gold);
  transition: width 180ms linear;
}

.ppal-float__jump {
  width: 100%;
  min-height: 1.95rem;
  margin-top: 0.58rem;
  border-color: transparent;
  color: var(--ppal-gold-bright);
  background: transparent;
}

.ppal-mini {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right, 0px));
  bottom: max(1rem, calc(1rem + var(--ppal-safe-bottom)));
  z-index: 55;
  display: inline-flex;
  min-height: 2.7rem;
  align-items: center;
  gap: 0.42rem;
  padding: 0.58rem 0.78rem;
  border: 1px solid var(--ppal-gold-line);
  border-radius: 999px;
  color: var(--ppal-gold-bright);
  font-size: 0.78rem;
  font-weight: 800;
  cursor: pointer;
  background: rgba(23,24,21,0.96);
  box-shadow: 0 0.72rem 1.8rem rgba(0,0,0,0.5);
}

a.ppal-guide-active {
  position: relative;
  color: var(--ppal-guide-gold, #d9b45f) !important;
  font-weight: 750 !important;
}

a.ppal-guide-active::before {
  display: inline-block;
  width: 0.42rem;
  height: 0.42rem;
  margin-right: 0.4rem;
  border-radius: 50%;
  vertical-align: 0.08em;
  content: "";
  background: var(--ppal-guide-green, #bcd3ac);
  box-shadow: 0 0 0 3px rgba(188,211,172,0.13);
}

@keyframes ppal-pulse {
  0% { box-shadow: 0 0 0 0 rgba(188,211,172,0.5); }
  70% { box-shadow: 0 0 0 0.5rem rgba(188,211,172,0); }
  100% { box-shadow: 0 0 0 0 rgba(188,211,172,0); }
}

@media (max-width: 64rem) {
  .ppal-console__settings-grid {
    grid-template-columns: minmax(5.4rem, 0.55fr) minmax(11rem, 1.45fr) minmax(8.2rem, 0.9fr);
  }

  .ppal-console__field:nth-of-type(3),
  .ppal-console__switch {
    grid-column: auto;
  }
}

@media (max-width: 44rem) {
  .ppal-console__shell {
    padding: 0.92rem;
    border-radius: 0.82rem;
  }

  .ppal-console__header {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.7rem;
  }

  .ppal-console__mark {
    width: 2.45rem;
    height: 2.45rem;
  }

  .ppal-console__length {
    grid-column: 2;
    justify-self: start;
    display: inline-flex;
    min-width: 0;
    align-items: baseline;
    gap: 0.36rem;
    padding: 0.32rem 0.48rem;
  }

  .ppal-console__title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 1.06rem;
    text-wrap: initial;
  }

  .ppal-console__subline {
    margin: 0.34rem 0 0 3.15rem;
    font-size: 0.72rem;
  }

  .ppal-console__progress-wrap {
    margin-top: 0.7rem;
    padding-top: 0.63rem;
  }

  .ppal-console__progress-labels {
    gap: 0.52rem;
    font-size: 0.7rem;
  }

  .ppal-console__transport {
    display: grid;
    grid-template-columns: minmax(3.45rem, 0.65fr) minmax(0, 1.5fr) minmax(3.45rem, 0.65fr) minmax(2.7rem, 0.55fr);
    gap: 0.4rem;
    margin-top: 0.55rem;
  }

  .ppal-console__button {
    min-height: 2.58rem;
    min-width: 0;
    padding: 0.55rem 0.54rem;
    font-size: 0.79rem;
  }

  .ppal-console__button--primary {
    min-width: 0;
  }

  .ppal-console__button--settings {
    grid-column: 1 / -1;
    margin-left: 0;
    justify-self: start;
    min-height: 1.94rem;
    padding: 0.25rem 0;
    border-color: transparent;
    color: var(--ppal-gold-bright);
    background: transparent;
  }

  .ppal-console__settings {
    margin-top: 0.38rem;
    padding: 0.76rem;
  }

  .ppal-console__settings-head {
    gap: 0.6rem;
    margin-bottom: 0.62rem;
  }

  .ppal-console__settings-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.58rem;
  }

  .ppal-console__field--voice,
  .ppal-console__voice-tools,
  .ppal-console__switch {
    grid-column: 1 / -1;
  }

  .ppal-console__voice-tools {
    padding-top: 0.1rem;
  }

  .ppal-console__resume,
  .ppal-console__complete {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.5rem;
  }

  .ppal-float {
    right: 0.65rem;
    bottom: max(0.65rem, calc(0.65rem + var(--ppal-safe-bottom)));
    width: calc(100vw - 1.3rem);
    padding: 0.72rem;
  }

  .ppal-float__chapter {
    font-size: 0.84rem;
  }

  .ppal-float__controls {
    gap: 0.34rem;
  }

  .ppal-float__controls button {
    min-height: 2.62rem;
  }

  .ppal-mini {
    right: 0.65rem;
    bottom: max(0.65rem, calc(0.65rem + var(--ppal-safe-bottom)));
  }
}

@media (max-width: 23rem) {
  .ppal-console__transport {
    grid-template-columns: 1fr 1.65fr 1fr;
  }

  .ppal-console__button--stop {
    grid-column: 2;
  }

  .ppal-console__button--settings {
    grid-column: 1 / -1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ppal-console *,
  .ppal-float *,
  .ppal-mini {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* v0.3.2 — Premium Compact Console + Voice Intelligence.
   Settings are a focused modal/sheet so the article player stays compact. */
.ppal-settings-layer {
  position: fixed;
  inset: 0;
  z-index: 9990;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 3vw, 2.25rem);
  isolation: isolate;
}

.ppal-settings-layer__scrim {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  cursor: pointer;
  background: rgba(3, 4, 3, 0.68);
  backdrop-filter: blur(7px);
}

.ppal-settings-sheet {
  position: relative;
  z-index: 1;
  width: min(46rem, calc(100vw - 2rem));
  max-height: min(44rem, calc(100dvh - 2rem));
  overflow: auto;
  padding: clamp(1rem, 2.4vw, 1.35rem);
  border: 1px solid rgba(240,214,143,0.43);
  border-radius: 0.9rem;
  color: var(--ppal-ivory);
  outline: none;
  background:
    radial-gradient(84% 120% at 0% 0%, rgba(222,183,93,0.1), transparent 53%),
    linear-gradient(145deg, rgba(255,255,255,0.035), transparent 48%),
    #171815;
  box-shadow: 0 1.9rem 4rem rgba(0,0,0,0.64), inset 0 1px 0 rgba(255,255,255,0.05);
}

.ppal-settings-sheet::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  opacity: 0.26;
  background-image: linear-gradient(90deg, rgba(234,199,118,0.045) 1px, transparent 1px);
  background-size: 2.8rem 100%;
  mask-image: linear-gradient(115deg, #000, transparent 82%);
}

.ppal-settings-sheet > * {
  position: relative;
  z-index: 1;
}

.ppal-settings-sheet__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.82rem;
}

.ppal-settings-sheet__title {
  margin: 0.24rem 0 0;
  color: var(--ppal-ivory);
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.25;
}

.ppal-settings-sheet__close {
  display: inline-flex;
  min-height: 2.2rem;
  align-items: center;
  justify-content: center;
  gap: 0.34rem;
  padding: 0.42rem 0.58rem;
  border: 1px solid rgba(240,214,143,0.23);
  border-radius: 0.48rem;
  color: var(--ppal-muted);
  font-size: 0.76rem;
  font-weight: 750;
  cursor: pointer;
  background: rgba(9,10,8,0.94);
}

.ppal-settings-sheet__close:hover,
.ppal-settings-sheet__close:focus-visible {
  border-color: rgba(240,214,143,0.68);
  color: var(--ppal-ivory);
}

.ppal-voice-profile {
  padding: 0.82rem;
  border: 1px solid rgba(240,214,143,0.23);
  border-radius: 0.72rem;
  background: rgba(7,8,6,0.32);
}

.ppal-voice-profile__eyebrow {
  margin: 0;
  color: var(--ppal-gold-bright);
  font-size: 0.61rem;
  font-weight: 800;
  letter-spacing: 0.145em;
  line-height: 1.25;
}

.ppal-voice-profile__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.9rem;
  margin-top: 0.42rem;
}

.ppal-voice-profile__body > div {
  min-width: 0;
}

.ppal-voice-profile__name {
  overflow: hidden;
  margin: 0;
  color: var(--ppal-ivory);
  font-size: 1.02rem;
  font-weight: 760;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ppal-voice-profile__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.34rem;
  margin-top: 0.5rem;
}

.ppal-voice-profile__tag {
  display: inline-flex;
  min-height: 1.34rem;
  align-items: center;
  padding: 0.2rem 0.42rem;
  border: 1px solid rgba(240,214,143,0.2);
  border-radius: 999px;
  color: var(--ppal-muted);
  font-size: 0.65rem;
  font-weight: 730;
  line-height: 1;
  white-space: nowrap;
  background: rgba(8,9,7,0.34);
}

.ppal-voice-profile__tag.is-quality {
  border-color: rgba(240,214,143,0.48);
  color: var(--ppal-gold-bright);
}

.ppal-voice-profile__tag.is-presentation {
  border-color: rgba(188,211,172,0.34);
  color: var(--ppal-green);
}

.ppal-voice-profile__tag.is-delivery {
  color: #cbc7bc;
}

.ppal-voice-profile__note {
  margin: 0.5rem 0 0;
  color: var(--ppal-muted);
  font-size: 0.75rem;
  line-height: 1.4;
}

.ppal-voice-profile__preview {
  flex: 0 0 auto;
  min-height: 2.4rem;
  padding: 0.52rem 0.65rem;
  border: 1px solid rgba(240,214,143,0.5);
  border-radius: 0.5rem;
  color: var(--ppal-gold-bright);
  font-size: 0.76rem;
  font-weight: 760;
  cursor: pointer;
  white-space: nowrap;
  background: rgba(10,11,9,0.48);
}

.ppal-voice-profile__preview:hover,
.ppal-voice-profile__preview:focus-visible {
  border-color: var(--ppal-gold-bright);
  color: #fff0c7;
}

.ppal-settings-sheet__fields {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(5.7rem, 0.54fr) minmax(8rem, 0.74fr) auto;
  gap: 0.62rem;
  align-items: end;
  margin-top: 0.78rem;
}

.ppal-settings-sheet__fields .ppal-console__field--voice {
  grid-column: auto;
}

.ppal-settings-sheet__fields .ppal-console__switch {
  padding-bottom: 0;
}

.ppal-settings-sheet__advanced {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 0.75rem;
  margin-top: 0.82rem;
  padding-top: 0.72rem;
  border-top: 1px solid rgba(240,214,143,0.13);
}

.ppal-settings-sheet__advanced p,
.ppal-settings-sheet__footer p {
  margin: 0;
  color: var(--ppal-muted);
  font-size: 0.72rem;
  line-height: 1.42;
}

.ppal-settings-sheet__advanced p {
  flex: 1 1 15rem;
}

.ppal-settings-sheet__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  margin-top: 0.7rem;
}

.ppal-settings-sheet__footer .ppal-console__reset {
  flex: 0 0 auto;
  margin-top: 0;
}

.ppal-settings-sheet button:focus-visible,
.ppal-settings-sheet select:focus-visible {
  outline: 3px solid rgba(240,214,143,0.5);
  outline-offset: 3px;
}

@media (max-width: 44rem) {
  .ppal-settings-layer {
    align-items: end;
    padding: 0;
  }

  .ppal-settings-sheet {
    width: 100%;
    max-height: min(82dvh, 46rem);
    padding: 1rem max(1rem, env(safe-area-inset-right, 0px)) calc(1rem + env(safe-area-inset-bottom, 0px)) max(1rem, env(safe-area-inset-left, 0px));
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 1rem 1rem 0 0;
  }

  .ppal-settings-sheet__fields {
    grid-template-columns: 1fr 1fr;
    gap: 0.58rem;
  }

  .ppal-settings-sheet__fields .ppal-console__field--voice,
  .ppal-settings-sheet__fields .ppal-console__switch {
    grid-column: 1 / -1;
  }

  .ppal-voice-profile__body {
    align-items: flex-start;
    flex-direction: column;
  }

  .ppal-voice-profile__preview {
    width: 100%;
  }

  .ppal-settings-sheet__footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ppal-settings-layer__scrim {
    backdrop-filter: none;
  }
}

/* Elevate the isolated console only while its user-triggered settings sheet is open. */
.ppal-console.is-settings-open {
  z-index: 9990;
}

/* Voice Lab — optional, scoped private audition experience. */
.ppal-voice-lab {
  --ppal-lab-black: #090a09;
  --ppal-lab-panel: #191a17;
  --ppal-lab-panel-deep: #10110f;
  --ppal-lab-gold: #d0ad5c;
  --ppal-lab-gold-bright: #f0d790;
  --ppal-lab-line: rgba(218, 183, 103, 0.4);
  --ppal-lab-ivory: #f4eee1;
  --ppal-lab-muted: #b8b1a3;
  --ppal-lab-dim: #8e897e;
  --ppal-lab-green: #c3d8af;
  margin: clamp(1.4rem, 3.8vw, 2.7rem) 0;
  color: var(--ppal-lab-ivory);
  font-family: inherit;
}

.ppal-voice-lab *,
.ppal-voice-lab *::before,
.ppal-voice-lab *::after { box-sizing: border-box; }

.ppal-voice-lab [hidden] { display: none !important; }

.ppal-voice-lab__shell {
  position: relative;
  overflow: hidden;
  padding: clamp(1.1rem, 3vw, 1.65rem);
  border: 1px solid var(--ppal-lab-line);
  border-radius: 1rem;
  background:
    radial-gradient(72% 120% at 0% 0%, rgba(226, 185, 94, 0.1), transparent 52%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.03), transparent 48%),
    var(--ppal-lab-panel);
  box-shadow: 0 1.2rem 2.8rem rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255,255,255,0.035);
}

.ppal-voice-lab__shell::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  opacity: 0.32;
  background-image:
    linear-gradient(90deg, rgba(241, 215, 145, 0.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(241, 215, 145, 0.025) 1px, transparent 1px);
  background-size: 3rem 3rem;
  mask-image: linear-gradient(140deg, #000, transparent 72%);
}

.ppal-voice-lab__head,
.ppal-voice-lab__start,
.ppal-voice-lab__status,
.ppal-voice-lab__round,
.ppal-voice-lab__result { position: relative; z-index: 1; }

.ppal-voice-lab__head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.92rem;
  align-items: start;
}

.ppal-voice-lab__seal {
  display: grid;
  width: 2.85rem;
  height: 2.85rem;
  place-items: center;
  border: 1px solid rgba(240, 215, 144, 0.6);
  border-radius: 50%;
  color: var(--ppal-lab-gold-bright);
  font-size: 1.05rem;
  background: rgba(6,7,6,0.3);
}

.ppal-voice-lab__eyebrow,
.ppal-voice-lab__label,
.ppal-voice-lab__candidate-label {
  margin: 0;
  color: var(--ppal-lab-gold-bright);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1.35;
}

.ppal-voice-lab__title {
  margin: 0.22rem 0 0;
  color: var(--ppal-lab-ivory);
  font-size: clamp(1.14rem, 2.25vw, 1.52rem);
  line-height: 1.2;
}

.ppal-voice-lab__intro {
  max-width: 48rem;
  margin: 0.5rem 0 0;
  color: var(--ppal-lab-muted);
  font-size: 0.9rem;
  line-height: 1.55;
}

.ppal-voice-lab__start,
.ppal-voice-lab__round,
.ppal-voice-lab__result {
  margin-top: 1.05rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(240, 215, 144, 0.18);
}

.ppal-voice-lab__start,
.ppal-voice-lab__round-head,
.ppal-voice-lab__result-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem 1rem;
}

.ppal-voice-lab__start > div,
.ppal-voice-lab__round-head > div,
.ppal-voice-lab__result-head > div { min-width: 0; }

.ppal-voice-lab__start p:not(.ppal-voice-lab__label),
.ppal-voice-lab__round-copy,
.ppal-voice-lab__result-copy {
  max-width: 46rem;
  margin: 0.32rem 0 0;
  color: var(--ppal-lab-muted);
  font-size: 0.86rem;
  line-height: 1.5;
}

.ppal-voice-lab__status {
  margin-top: 0.78rem;
  color: var(--ppal-lab-dim);
  font-size: 0.78rem;
  line-height: 1.45;
}

.ppal-voice-lab__button {
  min-height: 2.6rem;
  padding: 0.62rem 0.78rem;
  border: 1px solid rgba(240,215,144,0.3);
  border-radius: 0.5rem;
  color: var(--ppal-lab-ivory);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 750;
  line-height: 1;
  cursor: pointer;
  background: rgba(7,8,7,0.35);
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.ppal-voice-lab__button:hover,
.ppal-voice-lab__button:focus-visible {
  border-color: rgba(240,215,144,0.78);
  background: rgba(7,8,7,0.62);
  outline: none;
  transform: translateY(-1px);
}

.ppal-voice-lab__button:focus-visible { box-shadow: 0 0 0 3px rgba(240,215,144,0.34); }

.ppal-voice-lab__button--primary {
  border-color: var(--ppal-lab-gold);
  color: #17130a;
  background: var(--ppal-lab-gold-bright);
}

.ppal-voice-lab__button--primary:hover,
.ppal-voice-lab__button--primary:focus-visible { color: #0d0d09; background: #fff0c1; }

.ppal-voice-lab__button--play { border-color: rgba(210, 174, 90, 0.68); }
.ppal-voice-lab__button--quiet { color: var(--ppal-lab-muted); }

.ppal-voice-lab__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.72rem;
  margin-top: 0.92rem;
}

.ppal-voice-lab__card {
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid rgba(240,215,144,0.2);
  border-radius: 0.72rem;
  background: linear-gradient(145deg, rgba(255,255,255,0.025), transparent 60%), var(--ppal-lab-panel-deep);
}

.ppal-voice-lab__card.is-picked {
  border-color: rgba(240,215,144,0.82);
  box-shadow: inset 0 0 0 1px rgba(240,215,144,0.12);
}

.ppal-voice-lab__candidate-copy {
  min-height: 2.55em;
  margin: 0.38rem 0 0;
  color: var(--ppal-lab-muted);
  font-size: 0.83rem;
  line-height: 1.42;
}

.ppal-voice-lab__candidate-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.78rem;
}

.ppal-voice-lab__voice-name {
  margin: 0.35rem 0 0;
  overflow-wrap: anywhere;
  color: var(--ppal-lab-ivory);
  font-size: 0.97rem;
  font-weight: 750;
  line-height: 1.32;
}

.ppal-voice-lab__voice-lane {
  margin: 0.28rem 0 0;
  color: var(--ppal-lab-gold-bright);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.4;
}

.ppal-voice-lab__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.36rem;
  margin-top: 0.68rem;
}

.ppal-voice-lab__tags span {
  padding: 0.28rem 0.42rem;
  border: 1px solid rgba(240,215,144,0.19);
  border-radius: 999px;
  color: var(--ppal-lab-muted);
  font-size: 0.67rem;
  line-height: 1.15;
  background: rgba(255,255,255,0.018);
}

@media (max-width: 42rem) {
  .ppal-voice-lab__shell { padding: 1rem; border-radius: 0.82rem; }
  .ppal-voice-lab__head { gap: 0.72rem; }
  .ppal-voice-lab__seal { width: 2.45rem; height: 2.45rem; }
  .ppal-voice-lab__grid { grid-template-columns: 1fr; }
  .ppal-voice-lab__start > .ppal-voice-lab__button,
  .ppal-voice-lab__round-head > .ppal-voice-lab__button,
  .ppal-voice-lab__result-head > .ppal-voice-lab__button { width: 100%; }
  .ppal-voice-lab__candidate-actions .ppal-voice-lab__button { flex: 1 1 9rem; }
}

@media (prefers-reduced-motion: reduce) {
  .ppal-voice-lab__button { transition: none; }
}

/* --------------------------------------------------------------------------
   v0.4.0 — Guided Article Experience entry, cues, and follow-along layer.
   The article remains intact; only one active cue is highlighted at a time.
   -------------------------------------------------------------------------- */
.ppal-guided-experience {
  --ppal-guide-wash: rgba(218, 181, 93, 0.16);
  --ppal-guide-rail: rgba(236, 202, 125, 0.9);
}

.ppal-entry {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(0.9rem, 2vw, 1.35rem);
  overflow: hidden;
  padding: clamp(1.1rem, 2.6vw, 1.45rem);
  border: 1px solid var(--ppal-gold-line);
  border-radius: var(--ppal-radius);
  background:
    radial-gradient(92% 125% at 0% 0%, rgba(225, 187, 102, 0.11), transparent 47%),
    linear-gradient(145deg, rgba(255,255,255,.035), transparent 50%),
    var(--ppal-panel);
  box-shadow: 0 1.15rem 2.6rem var(--ppal-shadow), inset 0 1px 0 rgba(255,255,255,.04);
}

.ppal-entry::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  opacity: .22;
  background:
    linear-gradient(90deg, rgba(234, 199, 118, .045) 1px, transparent 1px),
    linear-gradient(0deg, rgba(234, 199, 118, .026) 1px, transparent 1px);
  background-size: 38px 100%, 100% 38px;
  mask-image: linear-gradient(115deg, #000, transparent 76%);
}

.ppal-entry__signal,
.ppal-entry__content { position: relative; z-index: 1; }

.ppal-entry__signal {
  display: grid;
  width: clamp(2.75rem, 4.7vw, 3.35rem);
  height: clamp(2.75rem, 4.7vw, 3.35rem);
  place-items: center;
  border: 1px solid rgba(240,214,143,.58);
  border-radius: 50%;
  color: var(--ppal-gold-bright);
  background: rgba(7,8,7,.3);
}

.ppal-entry__signal svg {
  width: 47%;
  height: 47%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
}

.ppal-entry__eyebrow {
  margin: 0;
  color: var(--ppal-gold-bright);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .17em;
  line-height: 1.35;
}

.ppal-entry__title {
  max-width: 56rem;
  margin: .25rem 0 0;
  color: var(--ppal-ivory);
  font-size: clamp(1.16rem, 2.15vw, 1.55rem);
  font-weight: 760;
  line-height: 1.24;
  text-wrap: balance;
}

.ppal-entry__copy {
  max-width: 47rem;
  margin: .55rem 0 0;
  color: var(--ppal-muted);
  font-size: .93rem;
  line-height: 1.55;
}

.ppal-entry__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .32rem .48rem;
  margin-top: .7rem;
  color: var(--ppal-gold-soft, #e9ce8d);
  font-size: .78rem;
  font-weight: 700;
}

.ppal-entry__meta span:first-child { color: var(--ppal-gold-bright); }

.ppal-entry__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .62rem;
  margin-top: .9rem;
}

.ppal-entry__begin,
.ppal-entry__listen,
.ppal-entry__read {
  min-height: 2.72rem;
  border-radius: .52rem;
  font: inherit;
  font-size: .9rem;
  font-weight: 760;
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.ppal-entry__begin {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .72rem 1rem;
  border: 1px solid var(--ppal-gold-bright);
  color: #161209;
  background: var(--ppal-gold-bright);
}

.ppal-entry__begin:hover,
.ppal-entry__begin:focus-visible {
  border-color: #fff0c4;
  background: #fff0c4;
  transform: translateY(-1px);
}

.ppal-entry__listen {
  padding: .72rem .88rem;
  border: 1px solid rgba(240,214,143,.36);
  color: var(--ppal-ivory);
  background: rgba(8,9,7,.28);
}

.ppal-entry__listen:hover,
.ppal-entry__listen:focus-visible {
  border-color: rgba(240,214,143,.78);
  background: rgba(8,9,7,.58);
}

.ppal-entry__read {
  padding: .56rem .2rem;
  border: 0;
  color: var(--ppal-gold-bright);
  background: transparent;
  text-decoration: underline;
  text-underline-offset: .2em;
}

.ppal-entry__read:hover,
.ppal-entry__read:focus-visible { color: #fff0c4; }

.ppal-entry__privacy {
  margin: .75rem 0 0;
  color: var(--ppal-dim);
  font-size: .73rem;
  line-height: 1.4;
}

.ppal-guided-strip {
  position: relative;
  z-index: 1;
  margin-top: .8rem;
  padding: .78rem .88rem;
  border: 1px solid rgba(240,214,143,.22);
  border-left: 3px solid var(--ppal-gold);
  border-radius: .62rem;
  background: linear-gradient(90deg, rgba(207,166,79,.11), rgba(8,9,7,.15) 42%);
}

.ppal-guided-strip__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .55rem;
  color: var(--ppal-green);
  font-size: .75rem;
  font-weight: 760;
  line-height: 1.35;
}

.ppal-guided-strip__signal {
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 .18rem rgba(188,211,172,.1);
}

.ppal-guided-strip__mode {
  margin-left: auto;
  padding: 0;
  border: 0;
  color: var(--ppal-gold-bright);
  background: transparent;
  font: inherit;
  font-size: .72rem;
  font-weight: 760;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: .2em;
}

.ppal-guided-strip__caption {
  max-width: 64rem;
  margin: .45rem 0 0;
  color: var(--ppal-ivory);
  font-size: clamp(.9rem, 1.6vw, 1rem);
  font-style: italic;
  line-height: 1.5;
}

.ppal-guided-strip__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  margin-top: .64rem;
}

.ppal-guided-strip__follow,
.ppal-guided-strip__show,
.ppal-guided-strip__restart {
  min-height: 2.35rem;
  border-radius: .45rem;
  font: inherit;
  font-size: .78rem;
  font-weight: 760;
  cursor: pointer;
}

.ppal-guided-strip__follow {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
  padding: .55rem .72rem;
  border: 1px solid var(--ppal-gold-bright);
  color: #17120a;
  background: var(--ppal-gold-bright);
  box-shadow: 0 0 0 0 rgba(240,214,143,.15);
  animation: ppal-follow-invite 1.8s ease-out 2;
}

.ppal-guided-strip__follow.is-following {
  color: var(--ppal-ivory);
  background: rgba(74,86,64,.42);
  border-color: rgba(188,211,172,.72);
  animation: none;
}

.ppal-guided-strip__show,
.ppal-guided-strip__restart {
  padding: .55rem .68rem;
  border: 1px solid rgba(240,214,143,.3);
  color: var(--ppal-muted);
  background: rgba(8,9,7,.26);
}

.ppal-guided-strip__show:hover,
.ppal-guided-strip__show:focus-visible,
.ppal-guided-strip__restart:hover,
.ppal-guided-strip__restart:focus-visible {
  border-color: rgba(240,214,143,.74);
  color: var(--ppal-ivory);
}

@keyframes ppal-follow-invite {
  0% { box-shadow: 0 0 0 0 rgba(240,214,143,.32); }
  65% { box-shadow: 0 0 0 .5rem rgba(240,214,143,0); }
  100% { box-shadow: 0 0 0 0 rgba(240,214,143,0); }
}

/* Exact range highlight for modern browsers. The paragraph rail below is the universal fallback. */
::highlight(ppal-current) {
  color: #fff9e8;
  background: rgba(215, 176, 86, .24);
  text-decoration: underline rgba(240,214,143,.9) 2px;
  text-underline-offset: .18em;
}

.ppal-reading-paragraph {
  position: relative;
  border-radius: .42rem;
  background: linear-gradient(90deg, var(--ppal-guide-wash, rgba(218,181,93,.13)), transparent 90%);
  box-shadow: inset 3px 0 0 var(--ppal-guide-rail, #d8b668);
  scroll-margin-top: 7.5rem;
  transition: background-color 180ms ease, box-shadow 180ms ease;
}

.ppal-reading-paragraph::before {
  display: inline-block;
  margin: 0 .46rem 0 .4rem;
  color: #d7b263;
  font-size: .62em;
  font-weight: 800;
  letter-spacing: .12em;
  vertical-align: .12em;
  content: "NOW READING";
}

.ppal-float__caption {
  display: -webkit-box;
  overflow: hidden;
  margin: .25rem 0 0;
  color: var(--ppal-ivory);
  font-size: .77rem;
  font-style: italic;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.ppal-float__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .42rem;
  margin-top: .55rem;
}

.ppal-float__actions .ppal-float__jump { flex: 1 1 8rem; }

.ppal-console__continue {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

@media (max-width: 42rem) {
  .ppal-entry { grid-template-columns: 1fr; gap: .72rem; }
  .ppal-entry__signal { width: 2.45rem; height: 2.45rem; }
  .ppal-entry__actions { gap: .48rem; }
  .ppal-entry__begin { flex: 1 1 100%; justify-content: center; }
  .ppal-entry__listen { flex: 1 1 auto; }
  .ppal-entry__read { flex: 1 1 auto; }
  .ppal-guided-strip__mode { width: 100%; margin-left: 0; text-align: left; }
  .ppal-guided-strip__follow { flex: 1 1 100%; justify-content: center; }
  .ppal-guided-strip__show,
  .ppal-guided-strip__restart { flex: 1 1 calc(50% - .25rem); }
}

@media (prefers-reduced-motion: reduce) {
  .ppal-entry__begin,
  .ppal-entry__listen,
  .ppal-entry__read,
  .ppal-guided-strip__follow,
  .ppal-reading-paragraph { transition: none; animation: none; }
}

/* --------------------------------------------------------------------------
   v0.4.2 — Responsive Guided Reading Dock + Safe Follow Engine
   The floating surface adapts to the real article gutter. Mobile receives a
   purpose-built reading dock and an intentional bottom-sheet state.
   -------------------------------------------------------------------------- */
.ppal-guided-experience {
  --ppal-footer-clearance: 0px;
  --ppal-sidecar-right: 16px;
}

html.ppal-scroll-locked,
html.ppal-scroll-locked body {
  overflow: hidden !important;
  overscroll-behavior: none;
}

.ppal-float-scrim {
  position: fixed;
  inset: 0;
  z-index: 540;
  border: 0;
  cursor: default;
  background: rgba(0, 0, 0, 0.74);
  backdrop-filter: blur(2px);
}

.ppal-float {
  z-index: 560;
  bottom: calc(1rem + var(--ppal-safe-bottom, 0px) + var(--ppal-footer-clearance, 0px));
  transition: width 180ms ease, max-height 180ms ease, bottom 180ms ease, border-radius 180ms ease;
}

.ppal-float__dock-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.56rem;
}

.ppal-float__dock-copy {
  min-width: 0;
  flex: 1 1 auto;
}

.ppal-float__head-actions {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.34rem;
}

.ppal-float__expand,
.ppal-float__minimize {
  position: static;
  display: inline-grid;
  width: 1.72rem;
  height: 1.72rem;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(240,214,143,0.28);
  border-radius: 50%;
  color: var(--ppal-muted);
  font: inherit;
  font-size: 0.92rem;
  line-height: 1;
  cursor: pointer;
  background: rgba(9,10,8,0.94);
}

.ppal-float__expand:hover,
.ppal-float__expand:focus-visible,
.ppal-float__minimize:hover,
.ppal-float__minimize:focus-visible {
  border-color: rgba(240,214,143,0.78);
  color: var(--ppal-gold-bright);
  outline: none;
}

.ppal-float__expand {
  display: none;
}

.ppal-float__caption {
  color: var(--ppal-ivory);
  font-style: normal;
  letter-spacing: 0.005em;
}

.ppal-float__eyebrow {
  max-width: 17rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Wide desktop: sidecar sits in the true right gutter and never covers prose. */
.ppal-guided-experience[data-ppal-surface="sidecar"] .ppal-float {
  right: var(--ppal-sidecar-right);
  left: auto;
  width: 20.75rem;
  max-height: calc(100dvh - 2rem - var(--ppal-footer-clearance, 0px));
  overflow: auto;
}

.ppal-guided-experience[data-ppal-surface="sidecar"] .ppal-float__actions {
  display: none;
}

.ppal-guided-experience[data-ppal-surface="sidecar"] .ppal-float.is-expanded .ppal-float__actions {
  display: flex;
}

.ppal-guided-experience[data-ppal-surface="sidecar"] .ppal-float__expand {
  display: inline-grid;
}


/* Laptop and narrow desktop: low dock instead of an overlapping right card. */
.ppal-guided-experience[data-ppal-surface="dock"] .ppal-float {
  right: auto;
  left: 50%;
  width: min(48rem, calc(100vw - 2rem));
  padding: 0.62rem 0.74rem;
  transform: translateX(-50%);
}

.ppal-guided-experience[data-ppal-surface="dock"] .ppal-float__caption,
.ppal-guided-experience[data-ppal-surface="dock"] .ppal-float__actions {
  display: none;
}

.ppal-guided-experience[data-ppal-surface="dock"] .ppal-float.is-expanded .ppal-float__caption {
  display: -webkit-box;
}

.ppal-guided-experience[data-ppal-surface="dock"] .ppal-float.is-expanded .ppal-float__actions {
  display: flex;
}

.ppal-guided-experience[data-ppal-surface="dock"] .ppal-float__expand {
  display: inline-grid;
}


.ppal-guided-experience[data-ppal-surface="dock"] .ppal-float__controls {
  grid-template-columns: minmax(4rem, 0.9fr) minmax(8rem, 1.15fr) minmax(4rem, 0.9fr) minmax(5.7rem, 0.9fr);
  margin-top: 0.48rem;
}

/* Purpose-built phone dock. The article stays dominant while playing. */
.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float {
  right: 0.5rem;
  left: 0.5rem;
  bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px) + var(--ppal-footer-clearance, 0px));
  width: auto;
  max-height: none;
  padding: 0.58rem 0.62rem;
  border-radius: 0.82rem;
  transform: none;
  background: linear-gradient(145deg, rgba(255,255,255,0.035), rgba(255,255,255,0) 46%), #12120f;
  backdrop-filter: none;
  box-shadow: 0 0.8rem 2rem rgba(0,0,0,0.62);
}

.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float__eyebrow {
  font-size: 0.59rem;
  letter-spacing: 0.12em;
}

.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float__chapter {
  margin: 0.2rem 0 0;
  font-size: 0.83rem;
}

.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float__meta {
  margin-top: 0.18rem;
  font-size: 0.67rem;
}

.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float__minimize {
  display: none;
}

.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float__expand {
  display: inline-grid;
  width: 2rem;
  height: 2rem;
}

.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float__caption,
.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float__actions {
  display: none;
}

.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float__controls {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.34rem;
  margin-top: 0.5rem;
}

.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float__controls button {
  min-height: 2.74rem;
  padding: 0.48rem 0.18rem;
  font-size: 0.73rem;
}

.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float__progress {
  margin-top: 0.48rem;
}

.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float.is-expanded {
  right: 0;
  bottom: calc(var(--ppal-footer-clearance, 0px) + env(safe-area-inset-bottom, 0px));
  left: 0;
  width: auto;
  max-height: min(58dvh, 38rem);
  padding: 0.95rem 0.9rem calc(1rem + env(safe-area-inset-bottom, 0px));
  overflow: auto;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  border-radius: 1rem 1rem 0 0;
  background: linear-gradient(155deg, rgba(255,255,255,0.04), rgba(255,255,255,0) 50%), #11110e;
}

.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float.is-expanded .ppal-float__caption {
  display: -webkit-box;
  margin-top: 0.86rem;
  padding: 0.72rem 0.76rem;
  border-top: 1px solid rgba(240,214,143,0.16);
  border-bottom: 1px solid rgba(240,214,143,0.13);
  color: var(--ppal-ivory);
  font-size: 0.95rem;
  font-style: italic;
  line-height: 1.55;
  -webkit-line-clamp: initial;
}

.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float.is-expanded .ppal-float__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.48rem;
  margin-top: 0.72rem;
}

.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float.is-expanded .ppal-float__jump {
  min-height: 2.8rem;
  margin: 0;
  padding: 0.5rem;
  border-color: rgba(240,214,143,0.27);
  color: var(--ppal-gold-bright);
  font-size: 0.78rem;
  background: rgba(7,8,6,0.32);
}

.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float.is-expanded .ppal-float__jump--stop {
  grid-column: 1 / -1;
  color: var(--ppal-muted);
}


.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float.is-expanded .ppal-float__controls button {
  min-height: 2.9rem;
  font-size: 0.79rem;
}

.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-mini {
  right: 0.5rem;
  bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px) + var(--ppal-footer-clearance, 0px));
}

/* The active sentence feels illuminated; the paragraph rail is the universal fallback. */
.ppal-reading-paragraph {
  border-radius: 0.3rem;
  background: linear-gradient(90deg, rgba(218,181,93,0.10), transparent 92%);
  box-shadow: inset 3px 0 0 var(--ppal-guide-rail, #d8b668);
}

.ppal-reading-paragraph::before {
  position: absolute;
  top: -1.08rem;
  left: 0.28rem;
  display: inline-flex;
  align-items: center;
  min-height: 0.92rem;
  margin: 0;
  padding: 0.08rem 0.3rem;
  border: 1px solid rgba(240,214,143,0.23);
  border-radius: 0.24rem;
  color: #e9c873;
  font-size: 0.57rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  line-height: 1.1;
  vertical-align: initial;
  background: rgba(18,19,16,0.94);
  content: "NOW READING";
}

::highlight(ppal-current) {
  color: #fff9e8;
  background: rgba(215,176,86,0.20);
  text-decoration: underline rgba(240,214,143,0.82) 2px;
  text-underline-offset: 0.18em;
}

@media (max-width: 45rem) {
  .ppal-reading-paragraph {
    border-radius: 0.22rem;
    background: linear-gradient(90deg, rgba(218,181,93,0.075), transparent 95%);
    box-shadow: inset 3px 0 0 var(--ppal-guide-rail, #d8b668);
  }

  .ppal-reading-paragraph::before {
    top: -1rem;
    left: 0.26rem;
    font-size: 0.53rem;
  }

  ::highlight(ppal-current) {
    background: rgba(215,176,86,0.16);
  }
}

.ppal-debug {
  position: fixed;
  right: 0.5rem;
  bottom: 0.5rem;
  z-index: 400;
  max-width: min(32rem, calc(100vw - 1rem));
  padding: 0.42rem 0.55rem;
  border: 1px solid rgba(240,214,143,0.44);
  border-radius: 0.42rem;
  color: #17120a;
  font: 700 11px/1.35 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  background: #f2cf78;
  box-shadow: 0 0.5rem 1.4rem rgba(0,0,0,0.35);
}

@media (max-width: 23rem) {
  .ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float__controls button {
    font-size: 0.67rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ppal-float,
  .ppal-float *,
  .ppal-float-scrim,
  .ppal-reading-paragraph,
  .ppal-reading-paragraph::before {
    transition: none !important;
    animation: none !important;
  }
}


/* v0.4.3 command-surface polish */
.ppal-float__jump {
  color: var(--ppal-gold-bright);
}

.ppal-float__jump--stop {
  color: var(--ppal-muted);
}

.ppal-guided-experience[data-ppal-surface="dock"] .ppal-float {
  box-shadow: 0 1.25rem 3rem rgba(0,0,0,0.74);
}

.ppal-guided-experience[data-ppal-surface="dock"] .ppal-float.is-expanded,
.ppal-guided-experience[data-ppal-surface="sidecar"] .ppal-float,
.ppal-guided-experience[data-ppal-surface="mobile"] .ppal-float {
  isolation: isolate;
}


/* --------------------------------------------------------------------------
   v0.4.4 PAGE-LEVEL OVERLAY HOST
   Floating guided controls are portaled directly under <body> so Gutenberg
   pull-quotes, transformed article wrappers, and theme pseudo-elements can
   never paint above the command surface.
   -------------------------------------------------------------------------- */
.ppal-overlay-host {
  --ppal-black: #090a09;
  --ppal-shadow: rgba(0, 0, 0, 0.48);
  --ppal-graphite: #171815;
  --ppal-panel: #1b1c19;
  --ppal-panel-deep: #10110f;
  --ppal-gold: #c9a653;
  --ppal-gold-bright: #f0d68f;
  --ppal-gold-line: rgba(211, 174, 90, 0.44);
  --ppal-gold-soft: rgba(232, 200, 122, 0.14);
  --ppal-ivory: #f4eee2;
  --ppal-muted: #b6b0a2;
  --ppal-dim: #8f8a7e;
  --ppal-green: #bcd3ac;
  --ppal-danger: #e7a29b;
  --ppal-radius: 15px;
  --ppal-safe-bottom: env(safe-area-inset-bottom, 0px);
  --ppal-footer-clearance: 0px;
  --ppal-sidecar-right: 16px;
  position: static;
  z-index: auto;
  color: var(--ppal-ivory);
  font-family: inherit;
  pointer-events: none;
}

.ppal-overlay-host *,
.ppal-overlay-host *::before,
.ppal-overlay-host *::after {
  box-sizing: border-box;
}

.ppal-overlay-host [hidden] {
  display: none !important;
}

.ppal-overlay-host .ppal-float,
.ppal-overlay-host .ppal-mini,
.ppal-overlay-host .ppal-float-scrim {
  pointer-events: auto;
}

/* Article layers sit below this host. Site navigation/search layers may remain above it. */
.ppal-overlay-host .ppal-float,
.ppal-overlay-host .ppal-mini {
  z-index: 900;
  opacity: 1 !important;
  isolation: isolate;
  background: linear-gradient(145deg, rgba(255,255,255,0.028), rgba(255,255,255,0) 46%), #11110e !important;
  box-shadow: 0 1.2rem 3rem rgba(0,0,0,0.78), 0 0 0 1px rgba(0,0,0,0.56) !important;
  backdrop-filter: none !important;
}

.ppal-overlay-host .ppal-float-scrim {
  z-index: 880;
}

.ppal-overlay-host[data-ppal-surface="sidecar"] .ppal-float,
.ppal-overlay-host[data-ppal-surface="dock"] .ppal-float,
.ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float {
  background: linear-gradient(145deg, rgba(255,255,255,0.028), rgba(255,255,255,0) 46%), #11110e !important;
}

.ppal-overlay-host .ppal-float__jump,
.ppal-overlay-host .ppal-float__controls button,
.ppal-overlay-host .ppal-float__expand,
.ppal-overlay-host .ppal-float__minimize {
  background-color: #0b0c09 !important;
}

.ppal-overlay-host .ppal-float__controls .ppal-float__play {
  background-color: var(--ppal-gold-bright) !important;
}

.ppal-overlay-host .ppal-float__actions .ppal-float__jump {
  background-color: #0b0c09 !important;
}

.ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float.is-expanded {
  background: linear-gradient(155deg, rgba(255,255,255,0.038), rgba(255,255,255,0) 50%), #11110e !important;
}

/* --------------------------------------------------------------------------
   v0.5.0 — Mobile Guided Entry + Compact Study Path
   The phone experience begins as an invitation, not a compressed dashboard.
   -------------------------------------------------------------------------- */
.ppal-entry {
  display: block;
}

.ppal-entry__fresh {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(0.9rem, 2vw, 1.35rem);
  align-items: start;
}

.ppal-entry__secondary-actions {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
}

.ppal-entry__play-icon {
  display: inline-grid;
  width: 1rem;
  height: 1rem;
  place-items: center;
}

.ppal-entry__play-icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.ppal-entry__checkpoint,
.ppal-entry__complete-card {
  position: relative;
  z-index: 1;
  max-width: 42rem;
  padding: 0.18rem 0.1rem;
}

.ppal-entry__checkpoint-meta {
  margin: 0.56rem 0 0;
  color: var(--ppal-gold-bright);
  font-size: 0.79rem;
  font-weight: 760;
  letter-spacing: 0.02em;
}

.ppal-entry__checkpoint-title {
  margin: 0.42rem 0 0;
  color: var(--ppal-ivory);
  font-size: 1.03rem;
  font-weight: 720;
  line-height: 1.42;
}

.ppal-entry__checkpoint-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.68rem;
  margin-top: 1rem;
}

.ppal-entry__continue {
  display: inline-flex;
  align-items: center;
  color: var(--ppal-gold-bright);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.ppal-overlay-host .ppal-settings-layer {
  pointer-events: auto;
}

@media (max-width: 44rem) {
  .ppal-console {
    margin: 1rem 0 1.25rem;
  }

  .ppal-guided-experience[data-ppal-entry-state="active"] {
    margin: 0;
  }

  .ppal-guided-experience[data-ppal-entry-state="active"] .ppal-console__shell {
    display: none !important;
  }

  .ppal-entry {
    padding: 1.14rem 1.08rem 1.06rem;
    border-radius: 0.88rem;
    background:
      radial-gradient(100% 120% at 0% 0%, rgba(225,187,102,0.08), transparent 48%),
      linear-gradient(145deg, rgba(255,255,255,0.02), rgba(255,255,255,0) 55%),
      #181916;
    box-shadow: 0 0.9rem 2.1rem rgba(0,0,0,0.46), inset 0 1px 0 rgba(255,255,255,0.035);
  }

  .ppal-entry::before {
    opacity: 0.14;
    background-size: 54px 100%, 100% 54px;
  }

  .ppal-entry__fresh {
    display: block;
  }

  .ppal-entry__signal,
  .ppal-entry__title,
  .ppal-entry__privacy {
    display: none;
  }

  .ppal-entry__eyebrow {
    font-size: 0.64rem;
    letter-spacing: 0.165em;
  }

  .ppal-entry__copy {
    max-width: 29rem;
    margin-top: 0.5rem;
    color: var(--ppal-ivory);
    font-size: 0.93rem;
    line-height: 1.48;
  }

  .ppal-entry__meta {
    gap: 0.34rem;
    margin-top: 0.62rem;
    color: var(--ppal-muted);
    font-size: 0.77rem;
  }

  .ppal-entry__meta span:first-child {
    color: var(--ppal-gold-bright);
  }

  .ppal-entry__actions {
    display: block;
    margin-top: 0.95rem;
  }

  .ppal-entry__begin {
    width: 100%;
    min-height: 3.18rem;
    justify-content: center;
    padding: 0.74rem 0.9rem;
    border-radius: 0.62rem;
    font-size: 0.96rem;
    line-height: 1;
    white-space: nowrap;
  }

  .ppal-entry__secondary-actions {
    display: flex;
    justify-content: center;
    gap: 0.18rem 0.9rem;
    width: 100%;
    margin-top: 0.7rem;
  }

  .ppal-entry__listen,
  .ppal-entry__read {
    min-height: 2.2rem;
    padding: 0.35rem 0.08rem;
    border: 0;
    color: var(--ppal-gold-bright);
    font-size: 0.8rem;
    font-weight: 760;
    background: transparent;
    text-decoration: underline;
    text-decoration-color: rgba(240,214,143,0.44);
    text-underline-offset: 0.22em;
  }

  .ppal-entry__checkpoint,
  .ppal-entry__complete-card {
    padding: 0.1rem 0;
  }

  .ppal-entry__checkpoint-meta {
    margin-top: 0.62rem;
    font-size: 0.79rem;
  }

  .ppal-entry__checkpoint-title {
    margin-top: 0.38rem;
    font-size: 0.98rem;
    line-height: 1.4;
  }

  .ppal-entry__checkpoint-actions {
    display: block;
    margin-top: 0.95rem;
  }

  .ppal-entry__checkpoint-actions .ppal-entry__read,
  .ppal-entry__checkpoint-actions .ppal-entry__continue {
    display: inline-flex;
    min-height: 2.15rem;
    margin: 0.62rem 0.65rem 0 0;
  }

  /* Compact dock: article remains primary while narration is active. */
  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float {
    padding: 0.54rem 0.62rem calc(0.54rem + env(safe-area-inset-bottom, 0px));
    border-color: rgba(231,194,109,0.48);
    border-radius: 0.86rem;
  }

  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float__dock-head {
    align-items: center;
  }

  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float__chapter {
    display: none;
  }

  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float__eyebrow {
    max-width: calc(100vw - 5.8rem);
    font-size: 0.56rem;
    letter-spacing: 0.13em;
  }

  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float__meta {
    margin-top: 0.16rem;
    color: var(--ppal-ivory);
    font-size: 0.75rem;
    font-weight: 740;
  }

  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float__study {
    display: flex;
    align-items: center;
    margin-top: 0.17rem;
  }

  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float__study-label {
    color: var(--ppal-gold-bright);
    font-size: 0.58rem;
    letter-spacing: 0.12em;
  }

  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float__study-dots {
    display: none;
  }

  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float__controls {
    margin-top: 0.42rem;
    gap: 0.32rem;
  }

  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float__controls button {
    min-height: 2.62rem;
    padding: 0.42rem 0.12rem;
    font-size: 0.72rem;
  }

  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float__progress {
    height: 0.2rem;
    margin-top: 0.42rem;
  }

  /* Expanded sheet restores full context, but remains an intentional sheet. */
  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float.is-expanded {
    max-height: min(58dvh, 38rem);
    padding: 0.94rem 0.92rem calc(1rem + env(safe-area-inset-bottom, 0px));
  }

  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float.is-expanded .ppal-float__chapter {
    display: block;
    margin: 0.32rem 2.4rem 0 0;
    font-size: 0.95rem;
    white-space: normal;
  }

  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float.is-expanded .ppal-float__meta {
    margin-top: 0.22rem;
  }

  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float.is-expanded .ppal-float__study {
    display: grid;
    gap: 0.38rem;
    margin-top: 0.52rem;
  }

  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float.is-expanded .ppal-float__study-dots {
    display: flex;
  }

  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float.is-expanded .ppal-float__caption {
    font-style: normal;
  }

  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float.is-expanded .ppal-float__actions {
    grid-template-columns: 1fr 1fr;
  }

  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float.is-expanded .ppal-float__jump {
    min-height: 2.76rem;
    color: var(--ppal-gold-bright);
    background: #0b0c09 !important;
  }

  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float.is-expanded .ppal-float__jump--stop {
    grid-column: 1 / -1;
    color: var(--ppal-muted);
  }
}


/* --------------------------------------------------------------------------
   v0.5.1 — Premium control icon system + stability consolidation.
   SVGs avoid Apple/Android emoji substitutions and inherit each control state.
   -------------------------------------------------------------------------- */
.ppal-icon,
.ppal-control-icon .ppal-icon,
.ppal-float__step-icon .ppal-icon,
.ppal-mini__icon .ppal-icon {
  display: block;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
}

.ppal-control-icon,
.ppal-float__step-icon,
.ppal-mini__icon {
  display: inline-grid;
  width: 1em;
  height: 1em;
  place-items: center;
  flex: 0 0 auto;
}

.ppal-console__button-icon {
  width: 1em;
  height: 1em;
  font-size: 0.94em;
}

.ppal-console__button--step,
.ppal-float__controls button[data-ppal-action="back"],
.ppal-float__controls button[data-ppal-action="forward"],
.ppal-guided-strip__follow,
.ppal-guided-strip__show,
.ppal-console__button--settings,
.ppal-settings-sheet__close,
.ppal-float__expand,
.ppal-float__minimize,
.ppal-mini {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.38rem;
}

.ppal-float__controls button[data-ppal-action="back"],
.ppal-float__controls button[data-ppal-action="forward"] {
  gap: 0.22rem;
}

.ppal-float__play {
  letter-spacing: 0.01em;
}

.ppal-float__expand .ppal-icon--chevron {
  transition: transform 160ms ease;
}

.ppal-guided-experience[data-ppal-surface="sidecar"] .ppal-float.is-expanded .ppal-float__expand .ppal-icon--chevron,
.ppal-guided-experience[data-ppal-surface="dock"] .ppal-float.is-expanded .ppal-float__expand .ppal-icon--chevron,
.ppal-overlay-host[data-ppal-surface="sidecar"] .ppal-float.is-expanded .ppal-float__expand .ppal-icon--chevron,
.ppal-overlay-host[data-ppal-surface="dock"] .ppal-float.is-expanded .ppal-float__expand .ppal-icon--chevron,
.ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float.is-expanded .ppal-float__expand .ppal-icon--chevron {
  transform: rotate(180deg);
}

.ppal-voice-lab__seal .ppal-icon {
  width: 1.45rem;
  height: 1.45rem;
}

@media (max-width: 720px) {
  .ppal-overlay-host[data-ppal-surface="mobile"] .ppal-float__play {
    font-size: 0.79rem;
    font-weight: 850;
  }
}

/* --------------------------------------------------------------------------
   v0.5.2 — Study Record + Guided Completion
   Persistent local completion remains distinct from live replay progress.
   -------------------------------------------------------------------------- */
.ppal-console__study-record {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  margin: 0.52rem 0 0;
  padding: 0.34rem 0.56rem;
  border: 1px solid rgba(240,214,143,0.34);
  border-radius: 999px;
  color: var(--ppal-gold-bright);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.13em;
  line-height: 1;
  text-transform: uppercase;
  background: rgba(14,15,12,0.88);
}

.ppal-console__study-record-seal {
  display: inline-grid;
  width: 0.92rem;
  height: 0.92rem;
  place-items: center;
  color: var(--ppal-gold-bright);
}

.ppal-console__study-record-seal svg {
  width: 100%;
  height: 100%;
}

.ppal-float__record {
  margin: 0.26rem 0 0;
  color: var(--ppal-gold-bright);
  font-size: 0.61rem;
  font-weight: 850;
  letter-spacing: 0.13em;
  line-height: 1.3;
  text-transform: uppercase;
}

.ppal-entry__record-note {
  margin: 0.44rem 0 0;
  color: var(--ppal-muted);
  font-size: 0.78rem;
  line-height: 1.45;
}

.ppal-console__text-button--quiet {
  color: var(--ppal-muted);
}

.ppal-console__chapter-mark.is-complete {
  border-color: rgba(240,214,143,0.95);
  background: rgba(240,214,143,0.76);
}

.ppal-console__chapter-mark.is-complete.is-active {
  border-color: var(--ppal-gold-bright);
  background: var(--ppal-gold-bright);
}

a.ppal-guide-complete:not(.ppal-guide-active) {
  position: relative;
}

a.ppal-guide-complete:not(.ppal-guide-active)::after {
  display: inline-block;
  width: 0.34rem;
  height: 0.34rem;
  margin-left: 0.36rem;
  border: 1px solid rgba(240,214,143,0.88);
  border-radius: 50%;
  vertical-align: 0.08em;
  content: "";
  background: rgba(240,214,143,0.72);
}

@media (max-width: 45rem) {
  .ppal-console__study-record {
    margin-top: 0.42rem;
    padding: 0.3rem 0.48rem;
    font-size: 0.61rem;
    letter-spacing: 0.11em;
  }
  .ppal-float__record {
    font-size: 0.56rem;
    letter-spacing: 0.11em;
  }
}


/* --------------------------------------------------------------------------
   v0.5.3 — Mobile modal layer + adaptive narrator calibration
   The expanded dock is elevated into a true page-level modal, while narrator
   choices stay compact, curated, and device-aware.
   -------------------------------------------------------------------------- */
.ppal-overlay-host[data-ppal-modal="floating"] {
  position: relative;
  z-index: 9990;
}

.ppal-overlay-host[data-ppal-modal="floating"] .ppal-float-scrim {
  position: fixed;
  inset: 0;
  z-index: 9991 !important;
  display: block;
  background: rgba(2, 3, 2, 0.82) !important;
  backdrop-filter: blur(4px);
}

.ppal-overlay-host[data-ppal-modal="floating"] .ppal-float.is-expanded {
  z-index: 9992 !important;
  isolation: isolate;
  box-shadow: 0 1.6rem 4.5rem rgba(0,0,0,0.88), 0 0 0 1px rgba(233, 195, 105, 0.18) !important;
}

.ppal-voice-profile__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.46rem;
}

.ppal-voice-profile__change {
  min-height: 2.46rem;
  padding: 0.52rem 0.72rem;
  border: 1px solid rgba(240,214,143,0.42);
  border-radius: 0.5rem;
  color: var(--ppal-gold-bright);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 780;
  cursor: pointer;
  background: #0b0c09;
}

.ppal-voice-profile__change:hover,
.ppal-voice-profile__change:focus-visible {
  border-color: var(--ppal-gold-bright);
  outline: none;
}

.ppal-voice-profile__brief {
  margin: 0.34rem 0 0;
  color: var(--ppal-gold-bright);
  font-size: 0.88rem;
  font-weight: 720;
}

.ppal-narrator-picker {
  margin-top: 0.92rem;
  padding: 0.86rem;
  border: 1px solid rgba(240,214,143,0.24);
  border-radius: 0.72rem;
  background: #10110e;
}

.ppal-narrator-picker__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.ppal-narrator-picker__eyebrow {
  margin: 0;
  color: var(--ppal-gold-bright);
  font-size: 0.66rem;
  font-weight: 850;
  letter-spacing: 0.15em;
}

.ppal-narrator-picker__copy {
  margin: 0.38rem 0 0;
  color: var(--ppal-muted);
  font-size: 0.82rem;
  line-height: 1.45;
}

.ppal-narrator-picker__close {
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  padding: 0;
  border: 1px solid rgba(240,214,143,0.32);
  border-radius: 50%;
  color: var(--ppal-ivory);
  font: inherit;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  background: #0a0b09;
}

.ppal-narrator-picker__list {
  display: grid;
  gap: 0.56rem;
  margin-top: 0.82rem;
}

.ppal-narrator-choice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.72rem;
  border: 1px solid rgba(240,214,143,0.21);
  border-radius: 0.62rem;
  background: #151612;
}

.ppal-narrator-choice.is-selected {
  border-color: rgba(240,214,143,0.75);
  box-shadow: inset 0 0 0 1px rgba(240,214,143,0.12);
}

.ppal-narrator-choice__role,
.ppal-narrator-choice__name,
.ppal-narrator-choice__details { margin: 0; }
.ppal-narrator-choice__role { color: var(--ppal-gold-bright); font-size: 0.61rem; font-weight: 850; letter-spacing: 0.11em; text-transform: uppercase; }
.ppal-narrator-choice__name { margin-top: 0.2rem; color: var(--ppal-ivory); font-size: 1rem; font-weight: 760; }
.ppal-narrator-choice__details { margin-top: 0.16rem; color: var(--ppal-muted); font-size: 0.75rem; }
.ppal-narrator-choice__actions { display: grid; grid-template-columns: 1fr; gap: 0.36rem; min-width: 5.4rem; }
.ppal-narrator-choice__actions button,
.ppal-narrator-picker__advanced {
  min-height: 2.22rem;
  padding: 0.42rem 0.5rem;
  border: 1px solid rgba(240,214,143,0.35);
  border-radius: 0.46rem;
  color: var(--ppal-gold-bright);
  font: inherit;
  font-size: 0.74rem;
  font-weight: 760;
  cursor: pointer;
  background: #0a0b09;
}
.ppal-narrator-choice__use { border-color: rgba(240,214,143,0.7) !important; background: rgba(240,214,143,0.12) !important; }
.ppal-narrator-picker__advanced { width: 100%; margin-top: 0.68rem; }
.ppal-narrator-picker__empty { margin: 0.5rem 0 0; color: var(--ppal-muted); font-size: 0.82rem; line-height: 1.45; }

@media (max-width: 44rem) {
  .ppal-overlay-host[data-ppal-modal="floating"] .ppal-float.is-expanded {
    max-height: min(62dvh, 42rem);
    border-radius: 1.1rem 1.1rem 0 0;
    background: linear-gradient(150deg, rgba(255,255,255,0.038), rgba(255,255,255,0) 48%), #11110e !important;
  }

  .ppal-settings-sheet .ppal-voice-profile__tags,
  .ppal-settings-sheet .ppal-voice-profile__note {
    display: none;
  }

  .ppal-settings-sheet .ppal-voice-profile__body {
    align-items: flex-start;
  }

  .ppal-settings-sheet .ppal-console__field--voice {
    display: none;
  }

  .ppal-settings-sheet[data-ppal-narrator-picker="open"][data-ppal-show-all-voices="true"] .ppal-console__field--voice {
    display: grid;
  }

  .ppal-settings-sheet .ppal-settings-sheet__advanced [data-ppal-action="use-recommended-voice"],
  .ppal-settings-sheet .ppal-settings-sheet__advanced [data-ppal-action="toggle-all-voices"] {
    display: none;
  }

  .ppal-settings-sheet[data-ppal-narrator-picker="open"] .ppal-settings-sheet__advanced [data-ppal-action="toggle-all-voices"] {
    display: inline-flex;
  }

  .ppal-voice-profile__actions {
    justify-content: flex-start;
    margin-top: 0.7rem;
  }

  .ppal-voice-profile__preview,
  .ppal-voice-profile__change {
    min-height: 2.65rem;
  }

  .ppal-narrator-choice {
    align-items: flex-start;
  }
}


/* --------------------------------------------------------------------------
   v0.5.4 — Curated narrator gallery + recommended restore
   Public voice selection is intentionally limited to serious, approved
   narrator profiles. Raw browser voice inventories remain admin diagnostics.
   -------------------------------------------------------------------------- */
.ppal-settings-sheet[data-ppal-narrator-picker="open"] [data-ppal-settings-main] {
  display: none;
}

.ppal-settings-sheet[data-ppal-narrator-picker="open"] .ppal-narrator-gallery {
  display: block;
}

.ppal-voice-profile__change {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.38rem;
}

.ppal-voice-profile__change .ppal-icon {
  width: 0.9rem;
  height: 0.9rem;
  transform: rotate(-90deg);
}

.ppal-voice-profile__restore {
  display: inline-flex;
  width: 100%;
  min-height: 2.55rem;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  margin-top: 0.78rem;
  padding: 0.52rem 0.7rem;
  border: 1px solid rgba(240,214,143,0.38);
  border-radius: 0.52rem;
  color: var(--ppal-gold-bright);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 780;
  text-align: center;
  cursor: pointer;
  background: #0b0c09;
}

.ppal-voice-profile__restore:hover,
.ppal-voice-profile__restore:focus-visible {
  border-color: var(--ppal-gold-bright);
  outline: none;
}

.ppal-voice-profile__restore .ppal-icon {
  width: 1rem;
  height: 1rem;
}

.ppal-voice-profile__restore-note {
  margin: 0.42rem 0 0;
  color: var(--ppal-muted);
  font-size: 0.72rem;
  line-height: 1.4;
  text-align: center;
}

.ppal-narrator-gallery {
  display: none;
  min-height: 20rem;
}

.ppal-narrator-gallery__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
}

.ppal-narrator-gallery__back {
  display: inline-flex;
  min-height: 2.28rem;
  align-items: center;
  gap: 0.38rem;
  padding: 0.42rem 0.12rem;
  border: 0;
  color: var(--ppal-gold-bright);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 780;
  cursor: pointer;
  background: transparent;
}

.ppal-narrator-gallery__back .ppal-icon {
  width: 1rem;
  height: 1rem;
}

.ppal-narrator-gallery__title {
  margin: 0.32rem 0 0;
  color: var(--ppal-ivory);
  font-size: 1.08rem;
  font-weight: 800;
}

.ppal-narrator-gallery__copy {
  margin: 0.46rem 0 0;
  color: var(--ppal-muted);
  font-size: 0.82rem;
  line-height: 1.45;
}

.ppal-narrator-gallery .ppal-narrator-picker__list {
  margin-top: 1rem;
}

.ppal-narrator-choice {
  align-items: flex-start;
  padding: 0.84rem;
  border-color: rgba(240,214,143,0.24);
  background: #141510;
}

.ppal-narrator-choice.is-selected {
  border-color: rgba(240,214,143,0.78);
  background: linear-gradient(145deg, rgba(240,214,143,0.08), rgba(240,214,143,0.01)), #151611;
}

.ppal-narrator-choice__actions {
  grid-template-columns: repeat(2, minmax(4.8rem, 1fr));
  min-width: 10.2rem;
}

.ppal-narrator-choice__actions button {
  min-height: 2.36rem;
}

.ppal-narrator-choice__use {
  color: #17130a !important;
  background: var(--ppal-gold-bright) !important;
}

.ppal-narrator-toast {
  position: sticky;
  z-index: 3;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
  margin-top: 0.8rem;
  padding: 0.66rem 0.74rem;
  border: 1px solid rgba(240,214,143,0.36);
  border-radius: 0.58rem;
  color: var(--ppal-ivory);
  font-size: 0.78rem;
  background: #0b0c09;
  box-shadow: 0 0.7rem 1.4rem rgba(0,0,0,0.38);
}

.ppal-narrator-toast button {
  flex: 0 0 auto;
  min-height: 2rem;
  padding: 0.32rem 0.56rem;
  border: 1px solid rgba(240,214,143,0.48);
  border-radius: 0.42rem;
  color: var(--ppal-gold-bright);
  font: inherit;
  font-size: 0.75rem;
  font-weight: 800;
  cursor: pointer;
  background: transparent;
}

.ppal-admin-voice-diagnostics {
  margin-top: 0.82rem;
  padding-top: 0.72rem;
  border-top: 1px solid rgba(240,214,143,0.14);
  color: var(--ppal-muted);
  font-size: 0.72rem;
}

.ppal-admin-voice-diagnostics summary {
  color: var(--ppal-gold-bright);
  cursor: pointer;
}

.ppal-admin-voice-diagnostics ul {
  max-height: 9rem;
  margin: 0.55rem 0 0;
  padding-left: 1.1rem;
  overflow: auto;
}

@media (max-width: 44rem) {
  .ppal-settings-sheet__close > span:last-child {
    display: none;
  }

  .ppal-settings-sheet__close {
    width: 2.28rem;
    min-height: 2.28rem;
    padding: 0;
    border-radius: 50%;
  }

  .ppal-voice-profile__actions {
    display: grid;
    width: 100%;
    grid-template-columns: 0.78fr 1.22fr;
  }

  .ppal-voice-profile__preview,
  .ppal-voice-profile__change {
    width: 100%;
  }

  .ppal-narrator-gallery {
    padding-bottom: calc(0.2rem + env(safe-area-inset-bottom, 0px));
  }

  .ppal-narrator-choice__actions {
    width: 100%;
    min-width: 0;
  }

  .ppal-narrator-choice {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.66rem;
  }

  .ppal-narrator-toast {
    bottom: calc(env(safe-area-inset-bottom, 0px));
  }
}


/* --------------------------------------------------------------------------
   v0.5.5 — Direct narrator selection + visible preview feedback
   A preview is optional. Selecting a curated narrator never requires a
   completed native Web Speech preview.
   -------------------------------------------------------------------------- */
.ppal-narrator-gallery__notice {
  display: block;
  margin: 0.74rem 0 0;
  padding: 0.52rem 0.64rem;
  border: 1px solid rgba(240,214,143,0.22);
  border-radius: 0.48rem;
  color: var(--ppal-muted);
  font-size: 0.76rem;
  line-height: 1.42;
  background: rgba(0,0,0,0.18);
}

.ppal-narrator-gallery__notice[data-ppal-tone="playing"] {
  border-color: rgba(240,214,143,0.42);
  color: var(--ppal-gold-bright);
}

.ppal-narrator-gallery__notice[data-ppal-tone="success"] {
  border-color: rgba(133,178,132,0.42);
  color: #c7ddc0;
}

.ppal-narrator-gallery__notice[data-ppal-tone="error"] {
  border-color: rgba(180,92,83,0.48);
  color: #efbeb5;
}

.ppal-narrator-choice.is-previewing {
  border-color: rgba(240,214,143,0.68);
  box-shadow: inset 0 0 0 1px rgba(240,214,143,0.10);
}

.ppal-narrator-choice.is-previewing .ppal-narrator-choice__preview,
.ppal-voice-profile__preview[aria-pressed="true"] {
  border-color: rgba(240,214,143,0.74) !important;
  color: #18130a !important;
  background: var(--ppal-gold-bright) !important;
}

.ppal-narrator-choice__preview,
.ppal-narrator-choice__use,
.ppal-voice-profile__preview {
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.ppal-narrator-choice__use:not(:disabled):hover,
.ppal-narrator-choice__use:not(:disabled):focus-visible {
  border-color: #fff1bc !important;
  color: #17130a !important;
  background: #fff0b7 !important;
  outline: none;
}

.ppal-narrator-choice__use:disabled {
  cursor: default;
  opacity: 0.82;
}

@media (max-width: 44rem) {
  .ppal-narrator-gallery__notice {
    margin-top: 0.68rem;
    font-size: 0.78rem;
  }
}
