:root {
  --ink: #0D1033;
  --ink-2: #3A3D5C;
  --ink-3: #6B6E8A;
  --paper: #FAFAFC;
  --lilac: #ECE9FF;
  --lilac-2: #D9D3FF;
  --cobalt: #2B3BFF;
  --cobalt-deep: #1A24B8;
  --mint: #2FD69B;
  --coral: #FF7A59;
  --amber: #FFB020;
  --violet: #9B8CFF;
  --line: #E3E2EE;
  --font-display: "Bricolage Grotesque", "Arial Narrow", system-ui, sans-serif;
  --font-sans: "Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --wrap: 72rem;
  --header-offset: 96px;
  --pw-skin-color: var(--cobalt);
  --pw-skin-image: none;
  --pw-skin-overlay: none;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: var(--header-offset); }
body.pw-body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
img, svg { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; }
h1, h2, h3 { text-wrap: balance; margin: 0; }
p { margin: 0; }
::selection { background: var(--cobalt); color: #fff; }
:focus-visible { outline: 2px solid var(--cobalt); outline-offset: 3px; border-radius: 8px; }

.pw-wrap { width: min(var(--wrap), calc(100% - 2rem)); margin-inline: auto; }
.pw-display { font-family: var(--font-display); font-variation-settings: "wdth" 88; letter-spacing: -0.035em; }
.pw-mono { font-family: var(--font-mono); }
.pw-eyebrow {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.pw-i { width: 1em; height: 1em; flex-shrink: 0; }
.pw-logo { width: 36px; height: 36px; }
.pw-fill { background: color-mix(in srgb, var(--amber) 30%, transparent); color: var(--ink); border-radius: 4px; padding: 0 4px; font-family: var(--font-mono); font-size: 0.85em; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }

.pw-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: 999px; font-weight: 600; font-size: 15px; padding: 14px 24px;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.pw-btn:hover { transform: translateY(-2px); }
.pw-btn-primary { background: var(--cobalt); color: #fff; box-shadow: 0 10px 24px -10px rgba(43,59,255,.7); }
.pw-btn-primary:hover { box-shadow: 0 16px 30px -10px rgba(43,59,255,.8); }
.pw-btn-ghost { background: #fff; color: var(--ink); border: 1.5px solid var(--line); }
.pw-btn-ghost:hover { border-color: var(--ink); }
.pw-btn-on-dark {
  background: rgba(255,255,255,.12);
  border: 1.5px solid rgba(255,255,255,.28);
  color: #fff;
}
.pw-btn-on-dark:hover { background: #fff; color: var(--cobalt); border-color: #fff; }
.pw-btn-mint { background: var(--mint); color: var(--ink); }
.pw-btn:disabled { opacity: .45; cursor: not-allowed; transform: none; box-shadow: none; }

.pw-dot-grid { background-image: radial-gradient(rgba(255,255,255,0.14) 1px, transparent 1px); background-size: 22px 22px; }
.pw-dot-ink { background-image: radial-gradient(rgba(13,16,51,0.08) 1px, transparent 1px); background-size: 22px 22px; }

@keyframes pw-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes pw-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes pw-drawer { from { transform: translateX(100%); } to { transform: none; } }
@keyframes pw-blink { 0%, 80%, 100% { opacity: .25; } 40% { opacity: 1; } }
@keyframes pw-progress { from { width: 0; } to { width: 100%; } }

.pw-rise { animation: pw-rise .45s cubic-bezier(.2,.7,.2,1) both; }
.pw-drawer { animation: pw-drawer .35s cubic-bezier(.2,.7,.2,1) both; }

/* Header */
.pw-header { position: fixed; inset-inline: 0; z-index: 50; padding: 0 1rem; top: calc(env(safe-area-inset-top, 0px) + 12px); }
.admin-bar .pw-header { top: calc(32px + 12px); }
@media (max-width: 782px) { .admin-bar .pw-header { top: calc(46px + 12px); } }
.pw-nav {
  max-width: var(--wrap); margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  border-radius: 999px; background: rgba(255,255,255,.85); backdrop-filter: blur(20px);
  border: 1px solid var(--line); padding: 8px 8px 8px 12px;
  box-shadow: 0 8px 30px -12px rgba(13,16,51,.25);
}
.pw-brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.pw-brand-name { font-family: var(--font-display); font-size: 19px; font-weight: 700; white-space: nowrap; letter-spacing: -0.03em; }
.pw-nav-links { display: none; align-items: center; gap: 4px; font-size: 14px; font-weight: 500; color: var(--ink-2); list-style: none; margin: 0; padding: 0; }
.pw-nav-links li { list-style: none; }
.pw-nav-links a { padding: 8px 14px; border-radius: 999px; }
.pw-nav-links a:hover, .pw-nav-links .current-menu-item > a { background: var(--lilac); color: var(--ink); }
#pw-prev .pw-i { transform: rotate(180deg); }
@media (max-width: 639px) { .pw-play-label { display: none; } }
.pw-nav-actions { display: flex; align-items: center; gap: 6px; }
.pw-lang { position: relative; }
.pw-lang-btn {
  list-style: none; cursor: pointer;
  display: inline-flex; align-items: center; gap: 5px;
  padding: 8px 10px; border-radius: 999px; background: var(--lilac);
  font-size: 12px; font-weight: 700; line-height: 1; color: var(--ink);
}
.pw-lang-btn::-webkit-details-marker { display: none; }
.pw-lang-btn .pw-i { width: 14px; height: 14px; }
.pw-lang-btn .pw-i:last-child { width: 12px; height: 12px; transform: rotate(90deg); transition: transform .15s ease; }
.pw-lang[open] .pw-lang-btn .pw-i:last-child { transform: rotate(-90deg); }
.pw-lang-menu {
  position: absolute; top: calc(100% + 8px); inset-inline-end: 0; z-index: 5;
  min-width: 92px; padding: 6px; display: grid; gap: 2px;
  background: #fff; border: 1px solid var(--line); border-radius: 16px;
  box-shadow: 0 16px 36px -16px rgba(13,16,51,.35);
}
.pw-lang-opt {
  display: block; padding: 8px 12px; border-radius: 12px;
  font-size: 13px; font-weight: 700; line-height: 1; color: var(--ink-2);
  white-space: nowrap;
}
.pw-lang-opt:hover, .pw-lang-opt.is-on { background: var(--lilac); color: var(--ink); }
.pw-lang-btn[lang="ar"], .pw-lang-opt[lang="ar"] { font-family: "Cairo", var(--font-sans); }
.pw-nav-ask { padding: 10px 16px !important; font-size: 14px !important; }
.pw-nav-ask .pw-ask-full { display: none; }
.pw-burger { width: 40px; height: 40px; border-radius: 999px; display: flex; align-items: center; justify-content: center; }
.pw-burger:hover { background: var(--lilac); }
.pw-mobile-menu {
  display: none; max-width: var(--wrap); margin: 8px auto 0;
  border-radius: 24px; background: #fff; border: 1px solid var(--line);
  box-shadow: 0 20px 40px -16px rgba(13,16,51,.25); padding: 8px; grid-template-columns: 1fr 1fr; gap: 4px;
}
.pw-mobile-menu.is-open { display: grid; }
.pw-mobile-menu a { padding: 12px 16px; border-radius: 16px; font-size: 15px; font-weight: 500; }
.pw-mobile-menu a:hover { background: var(--lilac); }
@media (min-width: 1024px) {
  .pw-nav-links { display: flex; }
  .pw-burger { display: none; }
  .pw-nav-ask .pw-ask-full { display: inline; }
  .pw-nav-ask .pw-ask-short { display: none; }
  .pw-mobile-menu { display: none !important; }
}

/* Hero / explorer */
.pw-hero { position: relative; padding: 7.5rem 0 4rem; overflow: hidden; }
.pw-hero-grid { background-position: top; mask-image: linear-gradient(to bottom, black, transparent); position: absolute; inset: 0; z-index: -1; }
.pw-stage {
  position: relative; border-radius: 32px; color: #fff;
  background-color: var(--pw-skin-color, var(--cobalt));
  background-image: var(--pw-skin-overlay, none), var(--pw-skin-image, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: 0 30px 60px -20px color-mix(in srgb, var(--pw-skin-color, var(--cobalt)) 55%, transparent); overflow: hidden;
}
.pw-stage-inner { position: relative; padding: 1.25rem; }
.pw-stage-head { display: flex; flex-direction: column; gap: 1rem; }
.pw-stage-title { font-family: var(--font-display); font-size: 1.35rem; font-weight: 700; margin-top: 4px; }
.pw-mode {
  display: inline-flex; gap: 4px; padding: 4px; margin-top: 10px;
  border-radius: 999px; background: rgba(255,255,255,.12);
}
.pw-mode-btn {
  font-family: var(--font-mono); font-size: 11px; font-weight: 500;
  padding: 6px 12px; border-radius: 999px; color: rgba(255,255,255,.75);
  display: inline-flex; align-items: center; gap: 6px;
}
.pw-mode-btn:hover { color: #fff; }
.pw-mode-btn[aria-selected="true"] { background: #fff; color: var(--cobalt); }
.pw-mode-n {
  font-size: 10px; min-width: 1.25em; padding: 1px 6px; border-radius: 999px;
  background: rgba(13,16,51,.18); font-variant-numeric: tabular-nums;
}
.pw-mode-btn[aria-selected="false"] .pw-mode-n { background: rgba(255,255,255,.16); color: #fff; }
.pw-search { position: relative; width: 100%; }
.pw-search svg { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: var(--ink-3); pointer-events: none; }
.pw-search input {
  width: 100%; border-radius: 999px; background: #fff; color: var(--ink);
  border: 0; padding: 12px 16px 12px 44px; font-size: 14.5px;
}
.pw-search input:focus { outline: none; box-shadow: 0 0 0 4px color-mix(in srgb, var(--mint) 60%, transparent); }
.pw-search-list {
  position: absolute; z-index: 20; left: 0; right: 0; margin-top: 8px;
  border-radius: 16px; background: #fff; color: var(--ink);
  box-shadow: 0 24px 48px -16px rgba(13,16,51,.35); border: 1px solid var(--line); overflow: hidden;
}
.pw-search-list li { padding: 12px 16px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pw-search-list li.is-hi, .pw-search-list li:hover { background: var(--lilac); }
.pw-search-list .pw-status { font-family: var(--font-mono); font-size: 10px; padding: 2px 8px; border-radius: 999px; background: var(--line); flex-shrink: 0; }
.pw-search-list .pw-status.is-ok { background: color-mix(in srgb, var(--mint) 25%, transparent); }
.pw-chips { margin-top: 1.25rem; display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
.pw-chips::-webkit-scrollbar { display: none; }
.pw-chip {
  font-family: var(--font-mono); font-size: 12px; padding: 7px 12px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.25); color: rgba(255,255,255,.8); white-space: nowrap; transition: all .2s;
}
.pw-chip:hover { border-color: #fff; color: #fff; }
.pw-chip[aria-pressed="true"] { background: #fff; color: var(--cobalt); border-color: #fff; }
.pw-stage-body { margin-top: 1rem; display: grid; gap: 1.25rem; align-items: center; }
.pw-chain { width: 100%; height: auto; }
.pw-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; font-family: var(--font-mono); font-size: 10.5px; color: rgba(255,255,255,.7); }
.pw-legend i { width: 10px; height: 10px; border-radius: 999px; display: inline-block; }
.pw-card {
  border-radius: 16px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15);
  padding: 1.25rem; backdrop-filter: blur(8px);
}
.pw-card h2 { font-family: var(--font-display); font-size: 2rem; font-weight: 700; }
.pw-card .pw-meta { font-family: var(--font-mono); font-size: 12px; color: rgba(255,255,255,.75); margin-top: 4px; min-height: 1.2em; }
.pw-card .pw-seq { font-family: var(--font-mono); font-size: 12.5px; letter-spacing: .12em; color: var(--mint); margin-top: 8px; word-break: break-all; line-height: 1.6; }
.pw-card .pw-seq.is-parts { display: flex; flex-direction: column; gap: 6px; letter-spacing: .08em; }
.pw-part { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.pw-part b { color: #fff; letter-spacing: 0; font-weight: 600; font-size: 11px; min-width: 5.5rem; }
.pw-card .pw-note { font-family: var(--font-mono); font-size: 10.5px; color: rgba(255,255,255,.55); margin-top: 4px; }
.pw-card .pw-blurb { font-size: 14.5px; line-height: 1.6; color: rgba(255,255,255,.85); margin-top: 12px; }
.pw-ladder { display: flex; gap: 6px; }
.pw-ladder span { height: 6px; flex: 1; border-radius: 999px; background: #E3E2EE; }
.pw-ladder span.is-on { background: var(--cobalt); }
.pw-ladder.is-dark span { background: rgba(255,255,255,.18); }
.pw-ladder.is-dark span.is-on { background: var(--mint); }
.pw-ladder-labels { margin-top: 8px; display: flex; justify-content: space-between; font-family: var(--font-mono); font-size: 10px; color: var(--ink-3); }
.pw-ladder-labels.is-dark { color: rgba(255,255,255,.55); }
.pw-ladder-labels .is-cur { color: var(--ink); font-weight: 700; }
.pw-ladder-labels.is-dark .is-cur { color: #fff; }
.pw-card-foot { margin-top: 1rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
#pw-c-track { padding: 10px 16px; font-size: 14px; }
#pw-c-ask { position: relative; z-index: 2; padding: 10px 16px; font-size: 14px; }
.pw-status-pill { font-family: var(--font-mono); font-size: 11px; padding: 4px 10px; border-radius: 999px; background: rgba(13,16,51,.4); color: rgba(255,255,255,.85); }
.pw-status-pill.is-ok { background: var(--mint); color: var(--ink); }
.pw-stage-controls { margin-top: 1.5rem; display: flex; align-items: center; gap: 12px; }
.pw-round {
  width: 44px; height: 44px; border-radius: 999px; border: 1px solid rgba(255,255,255,.3);
  display: flex; align-items: center; justify-content: center; color: #fff;
}
.pw-round:hover { background: #fff; color: var(--cobalt); }
.pw-progress { flex: 1; height: 4px; border-radius: 999px; background: rgba(255,255,255,.15); overflow: hidden; }
.pw-progress > i { display: block; height: 100%; background: var(--mint); border-radius: 999px; }
.pw-play {
  height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(255,255,255,.3);
  font-family: var(--font-mono); font-size: 12px; display: flex; align-items: center; gap: 8px; color: #fff;
}
.pw-play:hover { background: #fff; color: var(--cobalt); }

.pw-hero-copy { display: grid; gap: 2rem; margin-top: 3rem; align-items: end; }
.pw-pill-link {
  display: inline-flex; max-width: 100%; align-items: center; gap: 8px;
  border-radius: 999px; background: #fff; border: 1px solid var(--line);
  padding: 6px 14px 6px 6px; font-size: 13px; font-weight: 500;
}
.pw-pill-link:hover { border-color: var(--ink); }
.pw-pill-new { border-radius: 999px; background: var(--mint); color: var(--ink); font-family: var(--font-mono); font-size: 10px; font-weight: 700; padding: 4px 8px; }
.pw-hero h1 { font-family: var(--font-display); font-weight: 800; font-size: clamp(2.4rem, 6vw, 3.75rem); line-height: .98; margin-top: 1.25rem; }
.pw-mark { position: relative; white-space: nowrap; }
.pw-mark b { position: relative; z-index: 1; font-weight: inherit; }
.pw-mark i { position: absolute; left: 0; right: 0; bottom: .08em; height: .28em; background: var(--mint); z-index: 0; border-radius: 2px; }
.pw-lede { font-size: 18px; line-height: 1.65; color: var(--ink-2); max-width: 34rem; }
.pw-hero-cta { display: flex; flex-direction: column; gap: 12px; margin-top: 1.5rem; }
.pw-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 2rem; max-width: 28rem; }
.pw-stats div { border-top: 2px solid var(--ink); padding-top: 8px; }
.pw-stats dt { font-family: var(--font-display); font-size: 1.875rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.pw-stats dd { font-size: 13px; color: var(--ink-3); }

@media (min-width: 640px) {
  .pw-hero { padding-top: 8rem; }
  .pw-stage-inner { padding: 2rem; }
  .pw-stage-head { flex-direction: row; align-items: flex-start; justify-content: space-between; }
  .pw-search { width: 320px; }
  .pw-hero-cta { flex-direction: row; }
  .pw-card h2 { font-size: 2.25rem; }
}
@media (min-width: 1024px) {
  .pw-stage-body { grid-template-columns: 1.35fr 1fr; gap: 2rem; }
  .pw-hero-copy { grid-template-columns: 1.3fr 1fr; gap: 3rem; }
}

/* Ticker */
.pw-ad { padding: 0 1rem 1.25rem; }
.pw-ad-shell {
  position: relative;
  max-width: var(--wrap);
  width: 100%;
  margin-inline: auto;
}
.pw-ad-track { position: relative; }
.pw-ad-slide {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 0;
  width: 100%;
  min-height: var(--pw-ad-h, 180px);
  color: inherit;
  text-decoration: none;
  background: #fff;
  overflow: hidden;
}
.pw-ad-slide.is-link { cursor: pointer; }
.pw-ad-slide.is-text { grid-template-columns: 1fr; }
.pw-ad-slide[hidden] { display: none; }
.pw-ad-slide.is-shape-card {
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: 0 16px 40px -28px rgba(13,16,51,.45);
}
.pw-ad-slide.is-shape-full {
  border: 0;
  border-radius: 24px;
  box-shadow: 0 16px 40px -28px rgba(13,16,51,.45);
}
.pw-ad-slide.is-pos-right {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
}
.pw-ad-slide.is-pos-right .pw-ad-media { order: 2; }
.pw-ad-slide.is-pos-right .pw-ad-copy { order: 1; }
.pw-ad-slide.is-pos-full {
  grid-template-columns: 1fr;
}
.pw-ad-slide.is-pos-full .pw-ad-media,
.pw-ad-slide.is-pos-full .pw-ad-copy {
  grid-area: 1 / 1;
}
.pw-ad-kicker {
  position: absolute;
  top: 10px;
  left: 14px;
  z-index: 3;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-3);
  background: rgba(255,255,255,.86);
  border-radius: 999px;
  padding: 4px 8px;
}
.pw-ad-media {
  display: block;
  height: var(--pw-ad-h, 180px);
  background: var(--lilac);
  overflow: hidden;
}
.pw-ad-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.pw-ad-slide.is-link:hover .pw-ad-img { transform: scale(1.03); }
.pw-ad-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding: 1.15rem 1.35rem 1.35rem;
}
.pw-ad-sponsor {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.4vw, 1.7rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
}
.pw-ad-headline { color: var(--ink-2); font-size: 15px; line-height: 1.45; }
.pw-ad-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  width: fit-content;
  font-weight: 700;
  font-size: 14px;
  color: var(--cobalt);
}
.pw-ad-slide.is-link:hover .pw-ad-cta { color: var(--cobalt-deep); }
.pw-ad-slide.is-pos-full .pw-ad-media,
.pw-ad-slide.is-pos-full .pw-ad-img { height: var(--pw-ad-h, 180px); }
.pw-ad-slide.is-pos-full .pw-ad-copy {
  z-index: 2;
  justify-content: flex-end;
  color: #fff;
  background: linear-gradient(to top, rgba(13,16,51,.78), rgba(13,16,51,.12) 58%);
  padding: 1.5rem 1.75rem 1.35rem;
}
.pw-ad-slide.is-pos-full .pw-ad-headline { color: rgba(255,255,255,.88); }
.pw-ad-slide.is-pos-full .pw-ad-cta { color: #fff; }
.pw-ad-slide.is-pos-full.is-link:hover .pw-ad-cta { color: var(--mint); }
.pw-ad-ui {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 4;
  pointer-events: none;
  overflow: hidden;
  border-radius: 0 0 24px 24px;
}
.pw-ad-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  padding: 0 16px 10px;
  pointer-events: auto;
}
.pw-ad-dots button {
  width: 8px; height: 8px; padding: 0; border-radius: 999px;
  background: rgba(255,255,255,.7);
  box-shadow: 0 0 0 1px rgba(13,16,51,.18);
}
.pw-ad-dots button.is-on { background: var(--cobalt); }
.pw-ad-progress { height: 3px; background: rgba(13,16,51,.12); pointer-events: none; }
.pw-ad-progress i {
  display: block;
  height: 100%;
  width: 0;
  background: var(--cobalt);
  animation: pw-progress linear forwards;
  animation-duration: var(--pw-ad-ms, 8s);
}
@media (min-width: 720px) {
  .pw-ad-slide:not(.is-text) { height: var(--pw-ad-h, 180px); }
}
@media (max-width: 719px) {
  .pw-ad-slide.is-pos-left,
  .pw-ad-slide.is-pos-right { grid-template-columns: 1fr; }
  .pw-ad-slide.is-pos-right .pw-ad-media,
  .pw-ad-slide.is-pos-right .pw-ad-copy { order: 0; }
  .pw-ad-slide:not(.is-pos-full) .pw-ad-media,
  .pw-ad-slide:not(.is-pos-full) .pw-ad-img { height: min(var(--pw-ad-h, 180px), 42vw); }
}

.pw-ticker { background: var(--ink); color: rgba(255,255,255,.8); padding: 14px 0; overflow: hidden; border-block: 1px solid var(--ink); }
.pw-ticker-row { display: flex; gap: 3rem; white-space: nowrap; width: max-content; animation: pw-marquee 40s linear infinite; font-family: var(--font-mono); font-size: 12.5px; }
.pw-ticker-row span { display: inline-flex; align-items: center; gap: 12px; }
.pw-ticker-row i { width: 6px; height: 6px; border-radius: 999px; background: var(--mint); }

/* Topics */
.pw-section { padding: 5rem 0; }
.pw-section-head { display: flex; flex-direction: column; gap: 1.5rem; margin-bottom: 2.5rem; }
.pw-section-head h1, .pw-section-head h2 { font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; margin-top: 12px; }
.pw-section-head p { color: var(--ink-2); max-width: 24rem; line-height: 1.6; }
.pw-section-head-copy { display: grid; gap: 12px; max-width: 24rem; }
.pw-section-head-copy p { max-width: none; }
.pw-cal-link { justify-self: start; }
.pw-cal-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.pw-cal-links { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.pw-bento { display: grid; grid-template-columns: 1fr; gap: 1rem; }
.pw-topic {
  text-align: start; position: relative; overflow: hidden; border-radius: 24px;
  border: 1px solid var(--line); background: #fff; padding: 1.5rem 1.75rem;
  display: flex; flex-direction: column; color: inherit; text-decoration: none;
  transition: transform .3s, box-shadow .3s, border-color .3s;
}
.pw-topic:hover { transform: translateY(-4px); box-shadow: 0 24px 40px -20px rgba(13,16,51,.3); border-color: var(--ink); }
.pw-topic-blob { position: absolute; right: -40px; top: -40px; width: 160px; height: 160px; border-radius: 999px; opacity: .15; transition: transform .5s; }
.pw-topic:hover .pw-topic-blob { transform: scale(1.25); }
.pw-topic h3 { font-family: var(--font-display); font-weight: 700; margin-top: 12px; position: relative; font-size: 1.5rem; }
.pw-topic p { color: var(--ink-2); font-size: 15px; line-height: 1.6; margin-top: 8px; position: relative; flex-grow: 1; }
.pw-topic-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 1.5rem; position: relative; }
.pw-tag { font-family: var(--font-mono); font-size: 11px; padding: 4px 10px; border-radius: 999px; background: var(--lilac); }
.pw-link-cobalt { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--cobalt); }
.pw-bite { margin-top: 1rem; border-radius: 24px; background: var(--lilac); padding: 1.5rem 1.75rem; display: grid; gap: 1.5rem; align-items: center; }
.pw-bite p { font-size: 16px; line-height: 1.65; max-width: 42rem; margin-top: 8px; }
@media (min-width: 768px) {
  .pw-section-head { flex-direction: row; align-items: end; justify-content: space-between; }
  .pw-bento { grid-template-columns: repeat(6, 1fr); }
  .pw-topic.is-wide { grid-column: span 4; }
  .pw-topic.is-wide h3 { font-size: 2rem; }
  .pw-topic:not(.is-wide) { grid-column: span 2; }
  .pw-bite { grid-template-columns: 1fr auto; }
}

/* Video library */
.pw-videos {
  background-color: var(--pw-skin-color, var(--ink));
  background-image: var(--pw-skin-overlay, none), var(--pw-skin-image, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  padding: 5rem 0;
}
.pw-figure { margin: 0 0 1.75rem; }
.pw-figure img { display: block; width: 100%; height: auto; border-radius: 18px; border: 1px solid var(--line); background: #fff; }
.pw-videos .pw-section-head p { color: rgba(255,255,255,.65); }
.pw-videos a { color: var(--mint); text-decoration: underline; text-underline-offset: 2px; }
.pw-video-shell {
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.05);
  padding: 1rem 1rem 1.15rem;
}
.pw-video-grid { display: grid; gap: 1.25rem; }
.pw-player { display: flex; flex-direction: column; min-width: 0; }
.pw-player-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: 16px;
  overflow: hidden;
  background: #000;
  border: 1px solid rgba(255,255,255,.1);
}
.pw-player-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; pointer-events: auto; }
.pw-yt-mask { position: absolute; z-index: 3; }
.pw-yt-mask-top { top: 0; left: 0; right: 0; height: 58px; }
.pw-yt-mask-logo { right: 0; bottom: 0; width: 68px; height: 50px; }
.pw-poster {
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 75% 25%, color-mix(in srgb, var(--hue, #2B3BFF) 50%, transparent), transparent 55%),
    linear-gradient(135deg, #2B3BFF, #0D1033 82%);
}
.pw-poster-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pw-poster.has-thumb { background: #0D1033; }
.pw-poster.has-thumb::before {
  content: "";
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, rgba(13,16,51,.28) 0%, rgba(13,16,51,.12) 42%, rgba(13,16,51,.72) 100%);
  pointer-events: none;
}
.pw-poster::after {
  content: "";
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.14) 1px, transparent 1px);
  background-size: 22px 22px;
  opacity: .55;
  pointer-events: none;
}
.pw-poster.has-thumb::after { opacity: .12; }
.pw-poster-kicker {
  position: relative; z-index: 2;
  display: block;
  margin: 1.25rem 1.25rem 0;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--mint);
}
.pw-poster-title {
  position: relative; z-index: 2;
  margin: .6rem 1.25rem 0;
  max-width: 70%;
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 2.4vw, 1.85rem);
  font-weight: 700;
  line-height: 1.15;
  color: rgba(255,255,255,.92);
}
.pw-play-btn {
  position: absolute; inset: 0; margin: auto;
  width: 72px; height: 72px; border-radius: 999px;
  background: var(--mint); color: var(--ink);
  display: flex; align-items: center; justify-content: center;
  z-index: 2;
  animation: pw-pulse-ring 1.8s ease-out infinite;
}
.pw-play-btn .pw-i { width: 28px; height: 28px; margin-left: 3px; }
.pw-play-btn:hover { transform: scale(1.08); }
@keyframes pw-pulse-ring {
  0% { box-shadow: 0 0 0 0 rgba(47,214,155,.55); }
  100% { box-shadow: 0 0 0 18px rgba(47,214,155,0); }
}
.pw-player-meta { padding: 1.1rem .35rem 0; }
.pw-player-meta-row { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.pw-now {
  font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  background: var(--cobalt); color: #fff; border-radius: 6px; padding: 4px 8px;
}
.pw-channel { font-size: 13px; font-weight: 600; color: var(--mint); }
.pw-player-meta h3 { font-family: var(--font-display); font-size: clamp(1.25rem, 2vw, 1.75rem); font-weight: 700; line-height: 1.2; }
.pw-summarize {
  margin-top: 10px; font-size: 13px; font-weight: 700; color: var(--mint);
  display: inline-flex; align-items: center; gap: 6px; text-decoration: underline; text-underline-offset: 3px;
}
.pw-summarize:hover { color: #fff; }
.pw-playlist { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.pw-playlist-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 .25rem 10px; flex-shrink: 0;
}
.pw-playlist-head h4 {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .2em;
  text-transform: uppercase; color: rgba(255,255,255,.5); font-weight: 700;
}
.pw-playlist-head span {
  font-size: 12px; color: rgba(255,255,255,.35);
  background: rgba(255,255,255,.06); border-radius: 6px; padding: 3px 8px;
}
.pw-playlist-list {
  list-style: none; margin: 0; padding: 0 4px 4px 0;
  display: flex; flex-direction: column; gap: 10px;
  overflow-y: auto; overflow-x: hidden;
  max-height: 22rem;
  min-height: 0;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.pw-playlist-list::-webkit-scrollbar { width: 8px; }
.pw-playlist-list::-webkit-scrollbar-thumb { background: rgba(255,255,255,.22); border-radius: 999px; }
.pw-playlist-list::-webkit-scrollbar-track { background: rgba(255,255,255,.06); border-radius: 999px; }
.pw-playlist-item {
  width: 100%; text-align: start; display: flex; gap: 10px; align-items: flex-start;
  border-radius: 12px; padding: 10px; border: 1px solid transparent;
  background: rgba(255,255,255,.05); color: #fff;
  cursor: pointer;
}
.pw-playlist.can-sort .pw-playlist-item {
  padding: 10px 10px 10px 6px;
  cursor: grab; touch-action: none; user-select: none;
}
.pw-drag-handle { display: none; }
.pw-playlist.can-sort .pw-drag-handle {
  display: flex;
  flex-shrink: 0; width: 16px; margin-top: 14px; color: rgba(255,255,255,.32);
  align-items: center; justify-content: center; pointer-events: none;
}
.pw-drag-handle .pw-i { width: 14px; height: 14px; }
.pw-playlist.can-sort .pw-playlist-item:active,
.pw-playlist.can-sort .pw-playlist-list.is-sorting .pw-playlist-item { cursor: grabbing; }
.pw-playlist.can-sort .pw-playlist-list.is-sorting { cursor: grabbing; }
.pw-playlist-list li.is-dragging { z-index: 2; }
.pw-playlist-list li.is-dragging .pw-playlist-item {
  background: rgba(43,59,255,.45); border-color: var(--mint);
  box-shadow: 0 10px 28px rgba(0,0,0,.35);
}
.pw-playlist-item:hover { background: rgba(255,255,255,.1); }
.pw-playlist-item.is-on { background: rgba(43,59,255,.35); border-color: var(--mint); }
.pw-thumb {
  position: relative; width: 96px; aspect-ratio: 16 / 9; flex-shrink: 0;
  border-radius: 8px; overflow: hidden;
  background:
    radial-gradient(circle at 70% 30%, color-mix(in srgb, var(--hue, #2B3BFF) 55%, transparent), transparent 55%),
    linear-gradient(135deg, #2B3BFF, #0D1033);
  display: flex; align-items: center; justify-content: center; color: #fff;
}
.pw-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pw-thumb .pw-i, .pw-thumb-mins { position: relative; z-index: 1; }
.pw-thumb .pw-i { width: 16px; height: 16px; }
.pw-thumb-mins {
  position: absolute; right: 4px; bottom: 3px;
  font-family: var(--font-mono); font-size: 9px; font-variant-numeric: tabular-nums;
  color: rgba(255,255,255,.85);
}
.pw-playlist-copy { min-width: 0; padding-top: 2px; }
.pw-playlist-title {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  font-size: 13px; font-weight: 600; line-height: 1.3; color: rgba(255,255,255,.72);
}
.pw-playlist-item.is-on .pw-playlist-title { color: #fff; }
.pw-playlist-channel { display: block; margin-top: 4px; font-size: 11px; font-weight: 500; color: rgba(255,255,255,.4); }
.pw-playlist-item.is-on .pw-playlist-channel { color: var(--mint); }
@media (min-width: 1024px) {
  .pw-video-shell { padding: 1.25rem; }
  .pw-video-grid { grid-template-columns: minmax(0, 1.65fr) minmax(280px, 1fr); align-items: stretch; }
  .pw-playlist { height: 100%; }
  .pw-playlist-list { flex: 1 1 0; max-height: none; }
}

/* Events */
.pw-next {
  position: relative; overflow: hidden; border-radius: 28px; background: var(--ink); color: #fff;
  padding: 1.5rem 2rem; margin-bottom: 1.5rem; display: grid; gap: 1.5rem; align-items: center;
}
#pw-events-root[data-mode="preview"] .pw-next { margin-bottom: 0; }
.pw-next-date { position: relative; display: flex; align-items: center; gap: 12px; }
.pw-next-date strong { font-family: var(--font-display); font-size: 4rem; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.pw-next h3 { font-family: var(--font-display); font-size: clamp(1.4rem, 3vw, 1.875rem); font-weight: 700; margin-top: 12px; }
.pw-next p { color: rgba(255,255,255,.7); margin-top: 6px; }
.pw-next-actions { position: relative; display: flex; flex-wrap: wrap; gap: 8px; }
.pw-filters { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 1rem; }
.pw-filters-end { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.pw-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.pw-pill { border-radius: 999px; padding: 8px 16px; font-size: 14px; font-weight: 500; border: 1px solid var(--line); background: #fff; }
.pw-pill.is-on, .pw-pill[aria-pressed="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.pw-toggle { display: inline-flex; border-radius: 999px; background: var(--lilac); padding: 4px; }
.pw-toggle button { border-radius: 999px; padding: 6px 16px; font-size: 13px; font-weight: 600; color: var(--ink-3); text-transform: capitalize; }
.pw-toggle button.is-on { background: #fff; color: var(--ink); box-shadow: 0 2px 8px rgba(13,16,51,.08); }
.pw-event-list { display: grid; gap: 1rem; list-style: none; padding: 0; margin: 0; }
.pw-event {
  display: grid; grid-template-columns: 64px 1fr; gap: 1rem; padding: 1rem; align-items: center;
  position: relative; overflow: hidden; border-radius: 24px;
  border: 1px solid var(--line); background: #fff;
  transition: transform .3s, box-shadow .3s, border-color .3s;
}
.pw-event > *:not(.pw-event-blob) { position: relative; z-index: 1; }
.pw-event-blob {
  position: absolute; right: -40px; top: -40px; width: 160px; height: 160px;
  border-radius: 999px; opacity: .15; transition: transform .5s; pointer-events: none;
}
.pw-event:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 40px -20px rgba(13,16,51,.3);
  border-color: var(--ink);
}
.pw-event:hover .pw-event-blob { transform: scale(1.25); }
.pw-event.is-empty { display: block; text-align: center; color: var(--ink-3); }
.pw-event.is-empty:hover { transform: none; box-shadow: none; border-color: var(--line); }
.pw-cal { border-radius: 16px; text-align: center; padding: 10px 0; background: color-mix(in srgb, var(--cobalt) 10%, transparent); }
.pw-cal.is-longevity { background: color-mix(in srgb, var(--mint) 15%, transparent); }
.pw-cal strong { display: block; font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; line-height: 1.1; }
.pw-event h3 { font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; line-height: 1.3; }
.pw-event-meta { font-size: 14px; color: var(--ink-2); margin-top: 2px; }
.pw-event-blurb { font-size: 14px; color: var(--ink-3); margin-top: 6px; line-height: 1.55; max-width: 42rem; }
.pw-event-actions { display: none; flex-direction: column; gap: 8px; }
.pw-fine { font-family: var(--font-mono); font-size: 11px; color: var(--ink-3); margin-top: 1rem; }
@media (min-width: 640px) {
  .pw-event { grid-template-columns: 84px 1fr auto; gap: 1.5rem; padding: 1.5rem; }
  .pw-event-actions { display: flex; }
  .pw-next { grid-template-columns: auto 1fr auto; }
  .pw-next-date { flex-direction: column; align-items: flex-start; gap: 0; }
}

/* Month calendar panel */
.pw-cal-overlay {
  position: fixed; inset: 0; z-index: 100; display: none; justify-content: flex-end;
  background: color-mix(in srgb, var(--ink) 40%, transparent); backdrop-filter: blur(6px);
}
.pw-cal-overlay.is-open { display: flex; }
.pw-cal-sheet {
  width: 100%; max-width: 36rem; height: 100%; background: var(--paper);
  display: flex; flex-direction: column; box-shadow: -16px 0 40px rgba(13,16,51,.2);
  padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px);
  transition: max-width .2s ease;
}
.pw-cal-sheet.is-year { max-width: min(58rem, 100%); }
.pw-cal-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
  padding: 16px 20px; border-bottom: 1px solid var(--line); background: #fff;
}
.pw-cal-who { min-width: 0; flex: 1; }
.pw-cal-month-nav { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.pw-cal-month-nav h2 {
  font-family: var(--font-display); font-size: 1.35rem; font-weight: 700; line-height: 1.2;
  min-width: 0; flex: 1; text-align: center;
}
.pw-cal-shift, .pw-cal-close {
  width: 40px; height: 40px; border-radius: 999px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; color: var(--ink);
}
.pw-cal-today {
  font-size: 12px; font-weight: 600; color: var(--cobalt);
}
.pw-cal-today:hover { text-decoration: underline; text-underline-offset: 3px; }
.pw-cal-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 10px; }
.pw-cal-body { flex: 1; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; gap: 1.25rem; }
.pw-month-dows {
  display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin-bottom: 6px;
  font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ink-3); text-align: center;
}
.pw-month-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.pw-month-day {
  min-height: 52px; border-radius: 12px; padding: 6px 2px 8px;
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  font-variant-numeric: tabular-nums; font-size: 13px; font-weight: 500; color: var(--ink);
  background: #fff; border: 1px solid transparent;
}
.pw-month-day:hover { background: var(--lilac); }
.pw-month-day.is-out { color: var(--ink-3); background: transparent; }
.pw-month-day.is-today { border-color: var(--cobalt); font-weight: 700; }
.pw-month-day.has-event {
  background: color-mix(in srgb, var(--ev, var(--cobalt)) 28%, #fff);
  color: var(--ev, var(--cobalt));
  font-weight: 700;
}
.pw-month-day.has-event.is-multi {
  background: var(--ev-grad);
  color: #fff;
  text-shadow: 0 1px 1px rgba(13,16,51,.35);
}
.pw-month-day.has-event:hover {
  background: color-mix(in srgb, var(--ev, var(--cobalt)) 42%, #fff);
  filter: none;
}
.pw-month-day.has-event.is-multi:hover { background: var(--ev-grad); filter: brightness(.97); }
.pw-month-day.is-on,
.pw-month-day.is-on.has-event,
.pw-month-day.is-on.has-event.is-multi {
  background: var(--ink); color: #fff; border-color: var(--ink); text-shadow: none; filter: none;
}
.pw-month-day.is-on:hover { background: var(--ink); }
.pw-month-day.is-on .pw-month-dots i { background: #fff !important; }
.pw-month-dots { display: flex; gap: 3px; justify-content: center; min-height: 6px; }
.pw-month-dots i { width: 6px; height: 6px; border-radius: 999px; background: var(--cobalt); display: block; }
.pw-month-tbc, .pw-month-events { display: grid; gap: 10px; }
.pw-month-events-label {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3);
}
.pw-month-empty { font-size: 14px; color: var(--ink-3); }
.pw-month-card {
  border-radius: 16px; border: 1px solid var(--line); background: #fff; padding: 14px 16px;
}
.pw-month-card h3 { font-family: var(--font-display); font-size: 1.05rem; font-weight: 700; line-height: 1.3; margin-top: 6px; }
.pw-month-card p { font-size: 13.5px; color: var(--ink-2); margin-top: 4px; line-height: 1.5; }
.pw-month-card-top { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pw-cal-swatch { width: 10px; height: 10px; border-radius: 999px; flex-shrink: 0; display: inline-block; }
.pw-month-card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.pw-month-all { font-size: 13px; font-weight: 600; color: var(--cobalt); justify-self: start; }

.pw-year { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.pw-year-month {
  background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 10px;
}
.pw-year-label {
  display: block; width: 100%; text-align: start;
  font-family: var(--font-display); font-size: 13.5px; font-weight: 700;
  margin-bottom: 6px; padding: 2px 4px; border-radius: 8px;
}
.pw-year-label:hover { color: var(--cobalt); background: var(--lilac); }
.pw-month-dows.is-mini { font-size: 9px; gap: 2px; margin-bottom: 4px; letter-spacing: .04em; }
.pw-month-grid.is-mini { gap: 2px; }
.pw-month-grid.is-mini .pw-month-day {
  min-height: 26px; padding: 2px 0; border-radius: 6px; font-size: 10.5px; gap: 0;
}
.pw-month-grid.is-mini .pw-month-dots { display: none; }
.pw-cal-hover {
  position: fixed; z-index: 120; min-width: 12rem; max-width: 20rem;
  padding: 10px 12px; border-radius: 14px; background: var(--ink); color: #fff;
  box-shadow: 0 16px 40px rgba(13,16,51,.35); pointer-events: none; font-size: 13px;
}
.pw-cal-hover-item { display: flex; gap: 8px; align-items: flex-start; }
.pw-cal-hover-item + .pw-cal-hover-item { margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.12); }
.pw-cal-hover-item i { width: 8px; height: 8px; border-radius: 999px; margin-top: 5px; flex-shrink: 0; display: block; }
.pw-cal-hover-item strong { display: block; font-size: 13px; line-height: 1.3; }
.pw-cal-hover-item span { display: block; font-size: 12px; color: rgba(255,255,255,.7); margin-top: 2px; }
@media (min-width: 720px) {
  .pw-year { grid-template-columns: repeat(3, 1fr); gap: 14px; }
}

/* Pathway */
.pw-pathway { background: var(--lilac); padding: 5rem 0; }
.pw-path-grid { display: grid; gap: 2.5rem; align-items: start; }
.pw-path-card { border-radius: 28px; background: #fff; border: 1px solid var(--line); box-shadow: 0 30px 60px -30px rgba(13,16,51,.35); overflow: hidden; }
.pw-path-bar { padding: 1.5rem 2rem 0; display: flex; align-items: center; justify-content: space-between; }
.pw-path-steps { padding: 12px 2rem 0; display: flex; gap: 6px; }
.pw-path-steps i { height: 6px; flex: 1; border-radius: 999px; background: var(--line); }
.pw-path-steps i.is-on { background: var(--cobalt); }
.pw-path-body { padding: 1.5rem 2rem 2rem; }
.pw-path-body h3 { font-family: var(--font-display); font-size: 1.6rem; font-weight: 700; }
.pw-opts { display: grid; gap: 10px; margin-top: 1.5rem; }
.pw-opt {
  text-align: start; border-radius: 16px; border: 2px solid var(--line);
  padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-weight: 500;
}
.pw-opt.is-on { border-color: var(--cobalt); background: color-mix(in srgb, var(--cobalt) 5%, transparent); color: var(--cobalt); }
.pw-radio { width: 20px; height: 20px; border-radius: 999px; border: 2px solid var(--line); flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.pw-opt.is-on .pw-radio { border-color: var(--cobalt); background: var(--cobalt); color: #fff; }
.pw-field { display: grid; gap: 6px; }
.pw-field label { font-size: 13px; font-weight: 600; }
.pw-field input, .pw-field textarea, .pw-field select {
  width: 100%; border-radius: 12px; border: 2px solid var(--line); padding: 12px 16px; background: #fff;
}
.pw-field input:focus, .pw-field textarea:focus, .pw-field select:focus { outline: none; border-color: var(--cobalt); }
.pw-consent { display: flex; align-items: start; gap: 12px; font-size: 13px; color: var(--ink-2); line-height: 1.55; cursor: pointer; }
.pw-path-list { display: grid; gap: 10px; margin-top: 1.5rem; list-style: none; padding: 0; }
.pw-path-list a { display: flex; align-items: center; gap: 16px; border-radius: 16px; border: 1px solid var(--line); padding: 16px; }
.pw-path-list a:hover { border-color: var(--cobalt); }
.pw-num { width: 36px; height: 36px; border-radius: 999px; background: var(--cobalt); color: #fff; font-family: var(--font-display); font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
@media (min-width: 1024px) {
  .pw-path-grid { grid-template-columns: 1fr 1.1fr; }
  .pw-path-copy { position: sticky; top: 7rem; }
}

/* Digest */
.pw-digest-card {
  position: relative; overflow: hidden; border-radius: 32px; color: #fff;
  background-color: var(--pw-skin-color, var(--cobalt));
  background-image: var(--pw-skin-overlay, none), var(--pw-skin-image, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 2rem; display: grid; gap: 2rem; align-items: center;
}
.pw-digest-card h2 { font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; margin-top: 12px; }
.pw-digest-card p { color: rgba(255,255,255,.8); margin-top: 1rem; line-height: 1.6; max-width: 28rem; }
.pw-digest-form { display: flex; flex-direction: column; gap: 12px; position: relative; }
.pw-digest-form input[type="email"] {
  width: 100%; border-radius: 999px; background: #fff; color: var(--ink); border: 0; padding: 16px 20px;
}
.pw-digest-form input:focus { outline: none; box-shadow: 0 0 0 4px color-mix(in srgb, var(--mint) 60%, transparent); }
@media (min-width: 768px) { .pw-digest-card { grid-template-columns: 1.2fr 1fr; padding: 3rem; } }

/* Footer */
.pw-footer { border-top: 1px solid var(--line); background: #fff; }
.pw-footer-grid { padding: 3rem 0; display: grid; gap: 2.5rem; }
.pw-footer-brand { display: flex; align-items: center; gap: 10px; }
.pw-footer-brand span { font-family: var(--font-display); font-size: 1.125rem; font-weight: 700; }
.pw-footer p { font-size: 13px; color: var(--ink-3); margin-top: 1rem; line-height: 1.6; max-width: 22rem; }
.pw-footer nav ul { list-style: none; padding: 0; margin: 12px 0 0; display: grid; gap: 8px; font-size: 14px; }
.pw-footer nav a, .pw-footer nav button { color: var(--ink); }
.pw-footer nav a:hover, .pw-footer nav button:hover { color: var(--cobalt); }
.pw-colophon { border-top: 1px solid var(--line); }
.pw-colophon p { max-width: var(--wrap); margin: 0 auto; padding: 1.25rem 1rem; font-size: 12.5px; color: var(--ink-3); }
@media (min-width: 768px) { .pw-footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }

/* Scholar */
.pw-fab {
  position: fixed; right: 16px; z-index: 40; width: 56px; height: 56px; border-radius: 999px;
  background: var(--ink); color: #fff; box-shadow: 0 12px 28px -8px rgba(13,16,51,.45);
  display: flex; align-items: center; justify-content: center; bottom: calc(env(safe-area-inset-bottom, 0px) + 16px);
}
.pw-fab:hover { transform: scale(1.05); }
.pw-fab i { position: absolute; top: 0; right: 0; width: 14px; height: 14px; border-radius: 999px; background: var(--mint); border: 2px solid var(--paper); }
.pw-scholar {
  position: fixed; inset: 0; z-index: 100; display: none; justify-content: flex-end;
  background: color-mix(in srgb, var(--ink) 40%, transparent); backdrop-filter: blur(6px);
}
.pw-scholar.is-open { display: flex; }
.pw-scholar-panel {
  width: 100%; max-width: 480px; height: 100%; background: var(--paper);
  display: flex; flex-direction: column; box-shadow: -16px 0 40px rgba(13,16,51,.2);
  padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px);
}
.pw-scholar-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--line); background: #fff; }
.pw-scholar-who { display: flex; align-items: center; gap: 12px; }
.pw-avatar { width: 44px; height: 44px; border-radius: 16px; background: var(--cobalt); color: #fff; display: flex; align-items: center; justify-content: center; }
.pw-scholar-msgs { flex: 1; overflow-y: auto; padding: 24px 20px; display: flex; flex-direction: column; gap: 20px; }
.pw-preset { text-align: start; border-radius: 16px; border: 1px solid var(--line); background: #fff; padding: 12px 16px; font-size: 14px; font-weight: 500; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pw-preset:hover { border-color: var(--cobalt); color: var(--cobalt); }
.pw-bubble-user { align-self: flex-end; max-width: 85%; border-radius: 20px 20px 4px 20px; background: var(--cobalt); color: #fff; padding: 12px 16px; font-size: 14.5px; white-space: pre-line; }
.pw-bubble-ai { max-width: 92%; border-radius: 20px 20px 20px 4px; background: #fff; border: 1px solid var(--line); padding: 14px 16px; font-size: 14.5px; line-height: 1.6; }
.pw-note { font-family: var(--font-mono); font-size: 11px; color: var(--coral); margin-top: 6px; }
.pw-note.is-live { color: var(--ink-3); }
.pw-typing { display: flex; align-items: center; gap: 12px; color: var(--ink-3); font-size: 13px; }
.pw-typing span { width: 8px; height: 8px; border-radius: 999px; background: var(--cobalt); display: inline-block; animation: pw-blink 1.2s infinite; }
.pw-typing span:nth-child(2) { animation-delay: .15s; }
.pw-typing span:nth-child(3) { animation-delay: .3s; }
.pw-scholar-input { border-top: 1px solid var(--line); background: #fff; padding: 16px; }
.pw-scholar-row { display: flex; align-items: end; gap: 8px; }
.pw-scholar-row textarea {
  flex: 1; resize: none; border-radius: 16px; border: 2px solid var(--line); padding: 12px 16px; font-size: 14.5px; max-height: 8rem;
}
.pw-scholar-row textarea:focus { outline: none; border-color: var(--cobalt); }
.pw-send { height: 50px; width: 50px; border-radius: 16px; background: var(--cobalt); color: #fff; display: flex; align-items: center; justify-content: center; }
.pw-send:disabled { opacity: .4; }
.pw-stop { height: 50px; padding: 0 16px; border-radius: 16px; border: 2px solid var(--ink); font-weight: 600; font-size: 14px; }

/* Markdown in chat */
.md p { margin: 0 0 .6em; } .md p:last-child { margin-bottom: 0; }
.md ul, .md ol { margin: 0 0 .75em 1.2em; } .md ul { list-style: disc; } .md ol { list-style: decimal; }
.md li { margin-bottom: .25em; } .md li::marker { color: var(--cobalt); }
.md strong { font-weight: 650; color: var(--ink); }
.md h4 { font-family: var(--font-display); font-size: 1.1rem; font-weight: 700; margin: .1em 0 .5em; letter-spacing: -0.02em; }
.md .tbl { overflow-x: auto; margin: 0 0 .75em; }
.md table { border-collapse: collapse; font-size: .85em; min-width: 100%; }
.md th, .md td { border: 1px solid var(--line); padding: 6px 10px; text-align: start; }
.md th { background: var(--lilac); font-weight: 600; }
.md code { font-family: var(--font-mono); background: var(--lilac); padding: 1px 5px; border-radius: 4px; font-size: .88em; }

/* Cookies */
.pw-cookies {
  position: fixed; left: 16px; right: 16px; z-index: 90; border-radius: 22px;
  background: var(--ink); color: #fff; padding: 1.25rem; box-shadow: 0 20px 40px rgba(13,16,51,.35);
  bottom: calc(env(safe-area-inset-bottom, 0px) + 16px); display: none;
}
.pw-cookies.is-open { display: block; }
.pw-cookies p + p { font-size: 13.5px; color: rgba(255,255,255,.75); margin-top: 6px; line-height: 1.55; }
.pw-cookies a { text-decoration: underline; }
.pw-cookies-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 1rem; }
@media (min-width: 640px) { .pw-cookies { right: auto; max-width: 28rem; } }

/* Inner pages */
.pw-page { padding: 8rem 0 5rem; }
.pw-page-narrow { max-width: 48rem; margin: 0 auto; padding: 0 1rem; }
.pw-page-wide { max-width: var(--wrap); margin: 0 auto; padding: 0 1rem; }
.pw-back { font-family: var(--font-mono); font-size: 12px; color: var(--ink-3); }
.pw-back:hover { color: var(--cobalt); }
.pw-page h1 { font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; margin-top: 12px; }
.pw-prose { font-size: 17px; line-height: 1.7; color: var(--ink-2); margin-top: 2rem; }
.pw-prose > * + * { margin-top: 1em; }
.pw-prose h2 { font-family: var(--font-display); font-size: 1.6rem; font-weight: 700; color: var(--ink); letter-spacing: -0.02em; line-height: 1.2; margin-top: 1.8em; }
.pw-prose h3 { font-weight: 650; color: var(--ink); font-size: 1.05rem; margin-top: 1.4em; }
.pw-prose ul { list-style: disc; padding-left: 1.3em; display: grid; gap: .4em; }
.pw-prose li::marker { color: var(--cobalt); }
.pw-prose strong { color: var(--ink); font-weight: 650; }
.pw-prose a { color: var(--cobalt); text-decoration: underline; text-underline-offset: 2px; }
.pw-prose a:hover { text-decoration: none; }
.pw-callout { border-radius: 16px; background: var(--lilac); padding: 16px 18px; font-size: 15px; color: var(--ink); }
.pw-dek { font-size: 19px; color: var(--ink-2); line-height: 1.6; margin-top: 1rem; }
.pw-sources { margin-top: 2.5rem; border-radius: 20px; background: var(--lilac); padding: 1.5rem; }
.pw-sources h2 { font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; color: var(--ink); }
.pw-sources ol { margin: 12px 0 0; padding-left: 1.25rem; display: grid; gap: 8px; font-size: 14px; }
.pw-ask-bar { margin-top: 1.5rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; border-radius: 20px; border: 1px solid var(--line); padding: 1.25rem; }
.pw-cards { display: grid; gap: 1rem; }
.pw-article-card { display: flex; flex-direction: column; border-radius: 22px; border: 1px solid var(--line); background: #fff; padding: 1.5rem; transition: transform .2s, border-color .2s; }
.pw-article-card:hover { border-color: var(--ink); transform: translateY(-4px); }
.pw-article-card h3 { font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; margin-top: 12px; line-height: 1.3; }
.pw-article-card p { font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.55; flex-grow: 1; }
.pw-article-card .pw-more { margin-top: 1rem; font-size: 14px; font-weight: 600; color: var(--cobalt); }
.pw-article-card[hidden] { display: none; }
.pw-library-search {
  position: relative;
  max-width: 32rem;
  margin: 0 0 1rem;
}
.pw-library-search svg {
  position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
  width: 16px; height: 16px; color: var(--ink-3); pointer-events: none;
}
.pw-library-search input {
  width: 100%;
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  border: 1px solid var(--line);
  padding: 12px 16px 12px 44px;
  font-size: 15px;
}
.pw-library-search input:focus {
  outline: none;
  border-color: var(--cobalt);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--cobalt) 18%, transparent);
}
.pw-library-count { font-size: 13px; color: var(--ink-3); margin: 0 0 1.25rem; }
.pw-library-empty { font-size: 15px; color: var(--ink-2); margin-top: 1rem; }
@media (min-width: 768px) { .pw-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pw-cards.is-3 { grid-template-columns: repeat(3, 1fr); } }

.pw-contact-grid { display: grid; gap: 2rem; }
.pw-form { display: grid; gap: 1rem; border-radius: 24px; border: 1px solid var(--line); background: #fff; padding: 1.5rem 2rem; }
.pw-thanks { border-radius: 24px; background: var(--lilac); padding: 2rem; }
.pw-thanks h2 { font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; }
@media (min-width: 768px) { .pw-contact-grid { grid-template-columns: 1fr 1.4fr; } .pw-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; } }

.pw-digest-land { display: grid; gap: 2.5rem; align-items: center; }
.pw-digest-land h1 { font-family: var(--font-display); font-size: clamp(2.4rem, 6vw, 3.75rem); font-weight: 800; line-height: 1; margin-top: 1rem; }
.pw-digest-points { margin: 1.5rem 0 0; padding: 0; list-style: none; display: grid; gap: 12px; font-size: 15px; }
.pw-digest-points li { display: flex; gap: 12px; }
.pw-digest-points i { margin-top: 8px; width: 10px; height: 10px; border-radius: 999px; background: var(--mint); flex-shrink: 0; }
.pw-digest-box {
  border-radius: 28px; color: #fff; padding: 2rem; position: relative; overflow: hidden;
  background-color: var(--pw-skin-color, var(--cobalt));
  background-image: var(--pw-skin-overlay, none), var(--pw-skin-image, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (min-width: 1024px) { .pw-digest-land { grid-template-columns: 1.15fr 1fr; } }

.pw-404 { text-align: start; }

body.pw-lock { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Research desk + tracker */
.pw-nav-account {
  width: 40px; height: 40px; border-radius: 999px;
  display: flex; align-items: center; justify-content: center; color: var(--ink);
}
.pw-nav-account:hover { background: var(--lilac); }
@media (min-width: 1024px) and (max-width: 1240px) {
  .pw-nav-links { gap: 0; }
  .pw-nav-links a { padding: 8px 10px; font-size: 13px; }
  .pw-brand-name { font-size: 17px; }
}
.pw-card-follow { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; align-items: center; }
.pw-follow {
  display: inline-flex; align-items: center; gap: 8px;
  border-radius: 999px; font-weight: 600; font-size: 14px; padding: 10px 16px;
  border: 1.5px solid var(--line); background: #fff; color: var(--ink);
}
.pw-follow .pw-follow-on { display: none; align-items: center; gap: 8px; }
.pw-follow .pw-follow-off { display: inline-flex; align-items: center; gap: 8px; }
.pw-follow.is-on { border-color: var(--coral); color: var(--coral); background: color-mix(in srgb, var(--coral) 10%, #fff); }
.pw-follow.is-on .pw-follow-off { display: none; }
.pw-follow.is-on .pw-follow-on { display: inline-flex; }
.pw-follow.is-compact { padding: 8px 12px; font-size: 13px; }
.pw-follow.is-on-dark {
  background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.28); color: #fff;
}
.pw-follow.is-on-dark.is-on { background: #fff; color: var(--coral); border-color: #fff; }
.pw-track-follow-row { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-top: 1.5rem; }
.pw-follow-meta { font-size: 14px; color: var(--ink-2); line-height: 1.5; }
.pw-watch-cta {
  display: grid; gap: 1.5rem; border-radius: 28px; padding: 2rem; color: #fff;
  background: var(--ink); position: relative; overflow: hidden;
}
.pw-watch-cta h2 { font-family: var(--font-display); font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 700; margin-top: 8px; }
.pw-watch-cta p { color: rgba(255,255,255,.8); margin-top: 10px; max-width: 36rem; line-height: 1.6; }
.pw-watch-cta-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
@media (min-width: 768px) { .pw-watch-cta { grid-template-columns: 1.4fr auto; align-items: center; padding: 2.5rem; } }
.pw-week-grid, .pw-trend-row, .pw-continue { display: grid; gap: 1rem; }
.pw-week-card, .pw-trend-card, .pw-continue-card {
  border-radius: 22px; border: 1px solid var(--line); background: #fff; padding: 1.35rem 1.5rem;
  display: flex; flex-direction: column; gap: 8px; transition: transform .2s, border-color .2s;
}
.pw-week-card:hover, .pw-trend-card:hover, .pw-continue-card:hover { border-color: var(--ink); transform: translateY(-3px); }
.pw-week-card h3 { font-family: var(--font-display); font-size: 1.2rem; font-weight: 700; line-height: 1.3; }
.pw-trend-card { min-height: 8rem; }
.pw-trend-card span, .pw-continue-card span { color: var(--ink-3); font-size: 13px; }
@media (min-width: 768px) {
  .pw-week-grid { grid-template-columns: repeat(3, 1fr); }
  .pw-trend-row, .pw-continue { grid-template-columns: repeat(4, 1fr); }
}
.pw-track-grid { display: grid; gap: 1rem; }
@media (min-width: 768px) { .pw-track-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .pw-track-grid { grid-template-columns: repeat(3, 1fr); } }
.pw-track-card {
  border-radius: 24px; border: 1px solid var(--line); background: #fff;
  display: flex; flex-direction: column; overflow: hidden; position: relative;
  transition: transform .3s, box-shadow .3s, border-color .3s;
}
.pw-track-card > *:not(.pw-track-blob) { position: relative; z-index: 1; }
.pw-track-blob {
  position: absolute; right: -40px; top: -40px; width: 160px; height: 160px;
  border-radius: 999px; opacity: .15; transition: transform .5s; pointer-events: none;
}
.pw-track-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 40px -20px rgba(13,16,51,.3);
  border-color: var(--ink);
}
.pw-track-card:hover .pw-track-blob { transform: scale(1.25); }
.pw-track-card-link { display: flex; flex-direction: column; gap: 8px; padding: 1.35rem 1.5rem 1rem; flex-grow: 1; }
.pw-track-card h2 { font-family: var(--font-display); font-size: 1.35rem; font-weight: 700; }
.pw-track-card p { font-size: 14px; color: var(--ink-2); line-height: 1.55; }
.pw-track-card-top { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.pw-track-card-foot { display: flex; justify-content: space-between; gap: 8px; align-items: center; padding: 0 1.25rem 1.15rem; }
.pw-mini-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 12px; }
.pw-mini-stats dt { font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; }
.pw-mini-stats dd { font-size: 11px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .06em; }
.pw-status-chip { font-family: var(--font-mono); font-size: 10.5px; padding: 3px 8px; border-radius: 999px; background: var(--lilac); }
.pw-status-chip.is-ok { background: color-mix(in srgb, var(--mint) 35%, #fff); }
.pw-track-hero { display: grid; gap: 1.5rem; margin: 1.5rem 0 2rem; }
.pw-activity { border-radius: 24px; background: var(--ink); color: #fff; padding: 1.5rem; }
.pw-activity dl { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1rem 0 0; }
.pw-activity dt { font-family: var(--font-display); font-size: 1.8rem; font-weight: 700; }
.pw-activity dd { font-size: 13px; color: rgba(255,255,255,.7); }
.pw-activity-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 1.25rem; font-size: 13px; font-weight: 600; }
.pw-activity-links a { color: var(--mint); }
@media (min-width: 900px) { .pw-track-hero { grid-template-columns: 1.35fr .85fr; align-items: start; } }
.pw-track-panels { display: grid; gap: 1rem; }
@media (min-width: 800px) { .pw-track-panels { grid-template-columns: 1fr 1fr; } }
.pw-panel { border-radius: 24px; border: 1px solid var(--line); background: #fff; padding: 1.5rem; }
.pw-panel h2 { font-family: var(--font-display); font-size: 1.35rem; font-weight: 700; }
.pw-tag-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.pw-stage-line { margin-top: 8px; color: var(--ink-2); }
.pw-feed { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 14px; }
.pw-feed li { padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.pw-feed .pw-mono { font-size: 11px; color: var(--ink-3); display: block; margin-bottom: 4px; }
.pw-timeline { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; gap: 0; }
.pw-timeline li { display: grid; grid-template-columns: 4.5rem 1fr; gap: 1rem; padding: 0 0 1.25rem; position: relative; }
.pw-timeline li::before { content: ""; position: absolute; left: 1.4rem; top: 1.4rem; bottom: 0; width: 2px; background: var(--lilac); }
.pw-timeline li:last-child::before { display: none; }
.pw-timeline-year { font-family: var(--font-mono); font-size: 13px; font-weight: 700; color: var(--cobalt); }
.pw-timeline p { color: var(--ink-2); font-size: 14px; margin-top: 4px; line-height: 1.55; }
.pw-timeline-cta { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-top: 1.5rem; }
.pw-timeline-cta p { max-width: 28rem; color: var(--ink-2); font-size: 14px; line-height: 1.5; }
.pw-track-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 2rem; }
.pw-compare-picks { display: grid; gap: 12px; margin: 1.75rem 0; }
.pw-compare-picks label { display: grid; gap: 6px; }
.pw-compare-picks select {
  border: 1.5px solid var(--line); border-radius: 14px; padding: 12px 14px; background: #fff; font-weight: 600;
}
@media (min-width: 768px) { .pw-compare-picks { grid-template-columns: repeat(3, 1fr); } }
.pw-compare-wrap { overflow-x: auto; border-radius: 20px; border: 1px solid var(--line); background: #fff; }
.pw-compare-table { width: 100%; border-collapse: collapse; min-width: 40rem; }
.pw-compare-table th, .pw-compare-table td { padding: 14px 16px; text-align: start; border-bottom: 1px solid var(--line); vertical-align: top; font-size: 14px; }
.pw-compare-table thead th { font-family: var(--font-display); font-size: 1.1rem; background: var(--lilac); }
.pw-compare-table tbody th { color: var(--ink-3); font-weight: 600; width: 11rem; }
.pw-desk-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; align-items: end; }
.pw-desk-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 1.5rem 0; }
.pw-desk-tabs a { padding: 8px 12px; border-radius: 999px; background: var(--lilac); font-size: 13px; font-weight: 600; }
.pw-desk-tabs a:hover { background: var(--lilac-2); }
.pw-desk-grid { display: grid; gap: 1rem; margin: 1rem 0; }
@media (min-width: 800px) { .pw-desk-grid { grid-template-columns: 1fr 1fr; } }
.pw-desk-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pw-desk-chip { display: grid; gap: 2px; border-radius: 16px; border: 1px solid var(--line); padding: 10px 12px; min-width: 8rem; }
.pw-desk-chip span { font-size: 12px; color: var(--ink-3); }
.pw-empty { color: var(--ink-3); font-size: 14px; margin-top: 8px; }
.pw-update-list, .pw-saved-list { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; }
.pw-update-list a, .pw-saved-list a { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.pw-desk-event h3 { font-family: var(--font-display); font-size: 1.35rem; margin: 8px 0; }
.pw-card-wrap { position: relative; min-width: 0; }
.pw-card-wrap .pw-article-card { height: 100%; }
.pw-save-fab {
  position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border-radius: 999px;
  background: #fff; border: 1px solid var(--line); display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 18px -12px rgba(13,16,51,.4);
}
.pw-save-fab.is-on, [data-pw-save-item].is-on { color: var(--cobalt); border-color: var(--cobalt); }
.pw-auth-overlay { position: fixed; inset: 0; background: rgba(13,16,51,.45); z-index: 80; display: none; align-items: center; justify-content: center; padding: 1.5rem; }
.pw-auth-overlay.is-open { display: flex; }
.pw-auth-sheet {
  position: relative; width: min(28rem, 100%);
  background: #fff; border-radius: 28px; padding: 2.75rem 1.75rem 2.25rem;
  box-shadow: 0 30px 80px -24px rgba(13,16,51,.45);
}
.pw-otp-close {
  position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border-radius: 999px;
  display: flex; align-items: center; justify-content: center; color: var(--ink-3);
}
.pw-otp-close:hover { background: var(--lilac); color: var(--ink); }
.pw-otp-page {
  min-height: calc(100vh - 6rem);
  display: flex; align-items: center; justify-content: center;
  padding: 7.5rem 1.25rem 3rem;
}
.pw-otp { width: min(24.5rem, 100%); text-align: center; margin: 0 auto; }
.pw-otp-title {
  font-family: var(--font-display); font-size: 2.35rem; font-weight: 800;
  letter-spacing: -0.04em; color: var(--ink); line-height: 1.1;
}
.pw-otp-sub { margin-top: 10px; color: #6B6E8A; font-size: 16px; line-height: 1.45; }
.pw-otp-email {
  width: 100%; margin-top: 1.5rem; border: 0; background: #EEF1F6; color: var(--ink);
  border-radius: 999px; padding: 18px 22px; font-size: 16px;
}
.pw-otp-email::placeholder { color: #9AA0B5; }
.pw-otp-email:focus { outline: none; box-shadow: 0 0 0 4px color-mix(in srgb, var(--cobalt) 16%, transparent); }
.pw-otp-submit {
  width: 100%; margin-top: 14px; border-radius: 999px; background: #6B7380; color: #fff;
  font-weight: 700; font-size: 17px; padding: 16px 22px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
}
.pw-otp-submit:hover { background: #5C6370; }
.pw-otp-submit:disabled { opacity: .55; }
.pw-otp-legal { margin-top: 16px; font-size: 13px; color: #8B90A5; }
.pw-otp-legal a { text-decoration: underline; }
.pw-otp-box {
  position: relative; margin: 1.5rem auto 0; height: 72px; max-width: 22rem;
  border: 2px solid #1B2444; border-radius: 40px; background: #fff;
}
.pw-otp-code {
  position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; z-index: 2;
  letter-spacing: 2.2em; text-align: center; font-size: 24px; caret-color: transparent;
}
.pw-otp-slots {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: space-evenly;
  padding: 0 1.75rem; pointer-events: none;
}
.pw-otp-slot {
  width: 10px; height: 10px; border-radius: 999px; background: #D5D8E2;
}
.pw-otp-slot.is-filled { background: #1B2444; }
.pw-otp-slot.is-cur { background: #9AA0B5; }
.pw-otp-expire { margin-top: 16px; color: #8B90A5; font-size: 14px; }
.pw-otp-spam { margin-top: 10px; color: #E25A1C; font-size: 14.5px; font-weight: 500; }
.pw-otp-resend { margin-top: 16px; }
.pw-otp-resend button { color: #8B90A5; font-size: 15px; }
.pw-otp-resend button:disabled { cursor: default; }
.pw-otp-resend button:not(:disabled) { color: var(--cobalt); font-weight: 600; }
.pw-otp-switch {
  margin-top: 18px; color: var(--ink); font-size: 15px; text-decoration: underline;
  text-underline-offset: 3px;
}
.pw-otp [data-pw-auth-msg] { margin-top: 12px; color: #E25A1C; font-size: 14px; }
.pw-auth-msg { color: var(--coral); font-size: 14px; }
.pw-page-wide .pw-field { display: grid; gap: 6px; margin-top: 12px; }
.pw-page-wide .pw-field input { border: 1.5px solid var(--line); border-radius: 12px; padding: 12px 14px; }
.pw-fine { font-size: 12.5px; color: var(--ink-3); line-height: 1.55; }
.pw-desk-home h2 { font-family: var(--font-display); font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 700; margin: 8px 0 1.25rem; }

/* Telemed homepage + questionnaire */
.pw-telemed {
  position: relative;
  overflow: hidden;
  color: var(--ink);
  padding: 5rem 0;
  background:
    radial-gradient(ellipse 70% 80% at 8% 12%, rgba(47,214,155,.42), transparent 55%),
    radial-gradient(ellipse 55% 70% at 92% 8%, rgba(43,59,255,.28), transparent 52%),
    radial-gradient(ellipse 50% 60% at 78% 92%, rgba(255,122,89,.22), transparent 50%),
    linear-gradient(165deg, #F3F1FF 0%, #E7FFF6 48%, #EEF3FF 100%);
}
.pw-telemed-grid { display: grid; gap: 2.5rem; align-items: center; position: relative; z-index: 1; }
.pw-telemed-copy h2 {
  font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3rem); font-weight: 700;
  margin-top: 12px; letter-spacing: -0.03em;
}
.pw-telemed-copy > p { color: var(--ink-2); font-size: 17px; line-height: 1.65; margin-top: 1rem; max-width: 32rem; }
.pw-telemed-steps { list-style: none; padding: 0; margin: 1.5rem 0 0; display: grid; gap: 10px; }
.pw-telemed-steps li { display: flex; align-items: center; gap: 12px; font-weight: 500; }
.pw-telemed-steps i {
  width: 28px; height: 28px; border-radius: 999px; background: var(--mint); color: var(--ink);
  font-style: normal; font-family: var(--font-display); font-weight: 700; font-size: 13px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.pw-telemed-steps li:nth-child(2) i { background: var(--cobalt); color: #fff; }
.pw-telemed-steps li:nth-child(3) i { background: var(--coral); color: #fff; }
.pw-telemed-note { font-size: 12px; color: var(--ink-3); margin: 1.25rem 0 1.5rem; max-width: 28rem; }
.pw-telemed-preview {
  display: grid; gap: 10px; border-radius: 28px; background: #fff; color: var(--ink);
  padding: 1.5rem 1.4rem 1.35rem;
  border: 1.5px solid rgba(43,59,255,.12);
  box-shadow: 0 24px 50px -22px rgba(43,59,255,.35), 0 12px 28px -18px rgba(47,214,155,.35);
}
.pw-telemed-preview > strong {
  font-family: var(--font-display); font-size: 1.45rem; font-weight: 700; letter-spacing: -0.03em;
}
.pw-telemed-opt {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  border: 2px solid var(--line); border-radius: 16px; padding: 14px 16px; font-weight: 600;
  background: #FBFBFF;
}
.pw-telemed-opt i {
  width: 20px; height: 20px; border-radius: 999px; border: 2px solid var(--line); flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.pw-telemed-opt.is-on { background: var(--cobalt); color: #fff; border-color: var(--cobalt); }
.pw-telemed-opt.is-on i { border-color: #fff; background: #fff; color: var(--cobalt); }
.pw-telemed-cta {
  margin-top: 6px; display: flex; align-items: center; justify-content: center;
  border-radius: 999px; background: var(--mint); color: var(--ink); font-weight: 700; padding: 14px;
}
.pw-telemed-preview em { font-style: normal; text-align: center; font-size: 12.5px; color: var(--ink-3); }
@media (min-width: 900px) {
  .pw-telemed-grid { grid-template-columns: 1.05fr .95fr; gap: 3.5rem; }
}

body.pw-telemed-flow {
  background:
    radial-gradient(ellipse 80% 50% at 10% -10%, rgba(47,214,155,.28), transparent 50%),
    radial-gradient(ellipse 70% 45% at 110% 0%, rgba(43,59,255,.18), transparent 48%),
    #F6F7FF;
  overflow-x: clip;
}
body.pw-telemed-flow .pw-footer,
body.pw-telemed-flow .pw-fab,
body.pw-telemed-flow .pw-cookies,
body.pw-telemed-flow .pw-scholar,
body.pw-telemed-flow .pw-cal-overlay,
body.pw-telemed-flow .pw-auth-overlay { display: none !important; }
body.pw-telemed-flow .pw-quiz { min-height: 100vh; padding-top: 7rem; }

.pw-quiz {
  min-height: 100dvh;
  display: flex; flex-direction: column; align-items: center;
  padding: 0 1.25rem 2.5rem;
  background:
    radial-gradient(ellipse 90% 40% at 15% -8%, rgba(47,214,155,.26), transparent 52%),
    radial-gradient(ellipse 70% 38% at 100% 0%, rgba(43,59,255,.16), transparent 48%),
    radial-gradient(ellipse 60% 30% at 50% 100%, rgba(155,140,255,.18), transparent 50%),
    #F6F7FF;
}
.pw-quiz-fallback { padding: 4rem 1rem; color: var(--ink-3); }
.pw-quiz-shell {
  width: 100%; max-width: 34rem; min-width: 0;
  flex: 1;
  display: flex; flex-direction: column;
}
.pw-quiz-shell.is-wide { max-width: 52rem; }
.pw-quiz-top {
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  padding: 14px 0 10px;
}
.pw-quiz-back {
  justify-self: start; display: inline-flex; align-items: center; gap: 4px;
  font-size: 15px; font-weight: 500; color: var(--ink-2);
}
.pw-quiz-back .pw-i { transform: rotate(180deg); width: 18px; height: 18px; }
.pw-quiz-back:hover { color: var(--ink); }
.pw-quiz-brand {
  display: flex; align-items: center; gap: 8px; justify-self: center;
  font-family: var(--font-display); font-weight: 700; font-size: 18px; color: var(--cobalt);
}
.pw-quiz-brand .pw-logo { width: 28px; height: 28px; }
.pw-quiz-globe { justify-self: end; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; color: var(--ink-3); }
.pw-quiz-progress { height: 6px; background: rgba(43,59,255,.12); border-radius: 999px; overflow: hidden; }
.pw-quiz-progress i {
  display: block; height: 100%; border-radius: 999px; transition: width .25s ease;
  background: linear-gradient(90deg, var(--mint), var(--cobalt) 70%, var(--violet));
}
.pw-quiz-body { padding: 1.6rem 0 1.25rem; flex: 1; min-width: 0; width: 100%; }
.pw-quiz-title {
  font-family: var(--font-display); font-size: clamp(1.65rem, 4vw, 2rem);
  font-weight: 800; letter-spacing: -0.04em; line-height: 1.15;
  overflow-wrap: anywhere; text-wrap: wrap;
}
.pw-quiz-sub { margin-top: 8px; color: var(--ink-3); font-size: 15.5px; line-height: 1.5; overflow-wrap: anywhere; }
.pw-quiz-opts { display: grid; gap: 10px; margin-top: 1.4rem; }
.pw-quiz-opt {
  width: 100%; text-align: start; border-radius: 18px; border: 1.5px solid #E6E8F0;
  background: rgba(255,255,255,.92); padding: 16px 16px; display: flex; align-items: center; justify-content: space-between;
  gap: 12px; font-weight: 600; font-size: 16px; color: var(--ink);
}
.pw-quiz-opt:hover { border-color: var(--cobalt); background: #EEF0FF; }
.pw-quiz-opt.is-on { background: var(--cobalt); color: #fff; border-color: var(--cobalt); box-shadow: 0 10px 22px -12px rgba(43,59,255,.7); }
.pw-quiz-opt.is-blocked { opacity: .7; }
.pw-quiz-opt-copy { display: grid; gap: 2px; min-width: 0; }
.pw-quiz-opt-hint { display: block; font-weight: 500; font-size: 13.5px; color: var(--ink-3); }
.pw-quiz-opt.is-on .pw-quiz-opt-hint { color: rgba(255,255,255,.7); }
.pw-quiz-radio {
  width: 22px; height: 22px; border-radius: 999px; border: 2px solid #D5D8E2; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.pw-quiz-opt.is-on .pw-quiz-radio { border-color: #fff; background: #fff; color: var(--cobalt); }
.pw-quiz-radio .pw-i { width: 14px; height: 14px; }
.pw-quiz-x { color: #E11D48; font-weight: 800; margin-right: 4px; }
.pw-quiz-foot { position: sticky; bottom: 0; padding: 12px 0 calc(12px + env(safe-area-inset-bottom, 0px)); background: linear-gradient(to top, #F6F7FF 72%, rgba(246,247,255,0)); }
.pw-quiz-cta {
  width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: 999px; background: var(--mint); color: var(--ink); font-weight: 700; font-size: 16.5px;
  padding: 16px 22px; box-shadow: 0 12px 24px -12px rgba(47,214,155,.8);
}
.pw-quiz-cta:hover { background: #3EE0A8; }
.pw-quiz-cta:disabled { opacity: .4; cursor: not-allowed; }
a.pw-quiz-cta { text-decoration: none; }
.pw-quiz-legal {
  width: 100%; max-width: 34rem; min-width: 0; margin: 8px auto 0; font-size: 11.5px; color: var(--ink-3);
  line-height: 1.5; text-align: center; overflow-wrap: anywhere;
}
.pw-quiz-legal.is-wide { max-width: 52rem; }
.pw-quiz-legal a { text-decoration: underline; }
.pw-quiz-facts { list-style: none; padding: 0; margin: 1.5rem 0 0; display: grid; gap: 16px; }
.pw-quiz-facts li { display: flex; gap: 12px; align-items: flex-start; font-size: 15.5px; line-height: 1.5; }
.pw-quiz-facts li span:last-child { min-width: 0; flex: 1; }
.pw-quiz-fact-icon { color: var(--coral); margin-top: 2px; flex-shrink: 0; }
.pw-quiz-search {
  margin-top: 1.25rem; display: flex; align-items: center; gap: 10px;
  border: 1.5px solid var(--line); border-radius: 16px; padding: 0 14px; color: var(--ink-3);
  background: rgba(255,255,255,.92);
}
.pw-quiz-search:focus-within { border-color: var(--cobalt); box-shadow: 0 0 0 3px color-mix(in srgb, var(--cobalt) 18%, transparent); }
.pw-quiz-search input {
  flex: 1; border: 0; background: transparent; padding: 14px 0; font-size: 16px; color: var(--ink);
}
.pw-quiz-search input:focus { outline: none; }
.pw-quiz-states { max-height: min(52vh, 28rem); overflow: auto; padding-right: 4px; }
.pw-quiz-empty, .pw-quiz-warn { margin-top: 12px; color: #C2410C; font-size: 14px; line-height: 1.45; }
.pw-quiz-field { display: grid; gap: 6px; margin-top: 1.1rem; font-size: 13px; font-weight: 600; }
.pw-quiz-field input, .pw-quiz-field textarea, .pw-quiz-note textarea {
  width: 100%; border: 1.5px solid var(--line); border-radius: 14px; padding: 14px 16px;
  font-weight: 500; font-size: 16px; background: #fff;
}
.pw-quiz-field input:focus, .pw-quiz-note textarea:focus { outline: none; border-color: var(--cobalt); box-shadow: 0 0 0 3px color-mix(in srgb, var(--cobalt) 18%, transparent); }
.pw-quiz-datewrap { display: flex; align-items: center; gap: 10px; border: 1.5px solid var(--line); border-radius: 16px; padding: 0 14px; color: var(--ink-3); background: #fff; }
.pw-quiz-datewrap input { flex: 1; min-width: 0; width: auto; border: 0; padding: 14px 0; background: transparent; }
.pw-quiz-datewrap .pw-i { flex-shrink: 0; pointer-events: none; }
.pw-quiz-split { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pw-quiz-bmi-kicker { margin-top: 1.25rem; font-size: 13px; font-weight: 600; }
.pw-quiz-bmi {
  margin-top: 8px; border-radius: 999px; padding: 12px 16px; text-align: center; font-weight: 700;
  background: #F1F2F6; color: var(--ink-2);
}
.pw-quiz-bmi.is-under { background: #DBEAFE; color: #1D4ED8; }
.pw-quiz-bmi.is-normal { background: #D1FAE5; color: #047857; }
.pw-quiz-bmi.is-over { background: #FEF3C7; color: #B45309; }
.pw-quiz-bmi.is-obese { background: #FF7A59; color: #fff; }
.pw-quiz-bmi-scale {
  margin-top: 8px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px;
  font-size: 10.5px; color: var(--ink-3); text-align: center;
}
.pw-quiz-note {
  margin-top: 1.25rem; border: 1.5px solid #34D399; background: #ECFDF5; border-radius: 18px; padding: 14px;
}
.pw-quiz-note-head { display: flex; align-items: center; gap: 8px; font-weight: 700; color: #047857; margin-bottom: 10px; font-size: 14px; }
.pw-quiz-check {
  display: flex; gap: 10px; align-items: flex-start; margin-top: 14px; font-size: 13.5px; line-height: 1.45; color: var(--ink-2);
}
.pw-quiz-check input { margin-top: 3px; accent-color: var(--cobalt); }
.pw-quiz-check a { text-decoration: underline; }
.pw-quiz-check em { color: #E11D48; font-style: normal; }
.pw-quiz-code { display: flex; justify-content: space-between; gap: 8px; margin-top: 1.5rem; }
.pw-quiz-digit {
  width: 100%; aspect-ratio: 1; max-width: 52px; text-align: center; font-size: 1.35rem; font-weight: 700;
  border: 1.5px solid var(--line); border-radius: 12px;
}
.pw-quiz-digit:focus { outline: none; border-color: var(--cobalt); box-shadow: 0 0 0 3px color-mix(in srgb, var(--cobalt) 20%, transparent); }
.pw-quiz-sim { margin-top: 12px; font-size: 13px; color: var(--ink-3); background: var(--lilac); border-radius: 12px; padding: 10px 12px; }
.pw-quiz-resend { margin-top: 14px; color: var(--cobalt); font-weight: 600; font-size: 14.5px; }
.pw-quiz-resend-msg { margin-top: 8px; color: #047857; font-size: 13.5px; }
.pw-quiz-hi { font-size: 15px; color: var(--ink-2); font-weight: 500; }
.pw-quiz-hold {
  margin: 12px 0 1rem; display: inline-flex; align-items: center; gap: 8px;
  border: 1px solid var(--line); border-radius: 999px; padding: 8px 12px; font-size: 13.5px;
}
.pw-quiz-doc {
  border: 1.5px solid var(--line); border-radius: 22px; padding: 1.15rem 1.1rem 1.2rem; margin-bottom: 1rem;
}
.pw-quiz-doc.is-featured {
  background: linear-gradient(180deg, #fff 0%, #F3F1FF 100%);
  border-color: color-mix(in srgb, var(--cobalt) 28%, var(--line));
  box-shadow: 0 18px 40px -22px rgba(43,59,255,.4);
}
.pw-quiz-kicker {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
  background: var(--mint); color: var(--ink); display: inline-block; border-radius: 999px; padding: 4px 10px; margin-bottom: 12px;
}
.pw-quiz-doc-who { display: flex; gap: 12px; align-items: center; }
.pw-quiz-avatar {
  width: 48px; height: 48px; border-radius: 16px; color: #fff; font-weight: 800;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.pw-quiz-doc-who strong { display: block; font-size: 1.05rem; }
.pw-quiz-doc-who span { display: block; font-size: 13px; color: var(--ink-3); }
.pw-quiz-doc-focus { margin-top: 10px; font-size: 14.5px; color: var(--ink-2); }
.pw-quiz-doc-list { list-style: none; padding: 0; margin: 12px 0 0; display: grid; gap: 8px; }
.pw-quiz-doc-list li { display: flex; gap: 8px; align-items: flex-start; font-size: 14.5px; }
.pw-quiz-doc-list .pw-i { color: #059669; margin-top: 2px; }
.pw-quiz-wait { margin-top: 12px; display: flex; align-items: center; gap: 6px; font-size: 13.5px; color: var(--ink-3); }
.pw-quiz-other-title { font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; margin: 1.5rem 0 0; }
.pw-quiz-alt {
  width: 100%; margin-top: 10px; display: flex; align-items: center; gap: 12px; text-align: start;
  border: 1.5px solid var(--line); border-radius: 16px; padding: 12px;
}
.pw-quiz-alt:hover { border-color: var(--cobalt); }
.pw-quiz-alt strong { display: block; }
.pw-quiz-alt em { display: block; font-style: normal; font-size: 13px; color: var(--ink-3); }
.pw-quiz-done {
  margin: 8px 0 1rem; border-radius: 16px; background: #ECFDF5; border: 1.5px solid #34D399; padding: 14px;
  font-size: 14.5px; line-height: 1.5;
}
.pw-quiz-done .pw-quiz-cta { margin-top: 12px; }
.pw-quiz-meet { color: var(--cobalt); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.pw-quiz-meet:hover { color: var(--cobalt-deep); }
.pw-quiz-fine { margin-top: 1.25rem; font-size: 12px; color: var(--ink-3); line-height: 1.55; }
.pw-quiz-err { margin-top: 10px; color: #C2410C; font-size: 14px; }

.pw-sched-free {
  margin-top: 14px; background: #ECFDF5; border: 1px solid #A7F3D0; border-radius: 14px;
  padding: 10px 12px; font-size: 13.5px; line-height: 1.45; color: #065F46;
}
.pw-prov-group {
  margin: 1.35rem 0 0; font-family: var(--font-display); font-weight: 700; font-size: 1.08rem;
}
.pw-prov {
  width: 100%; display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center;
  text-align: start; border: 1.5px solid var(--line); border-radius: 18px; background: #fff;
  padding: 14px; margin-top: 10px;
}
.pw-prov:hover { border-color: var(--cobalt); background: #F7F8FF; }
.pw-prov-name { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-weight: 700; }
.pw-prov-suggest {
  font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; background: var(--mint);
  color: var(--ink); border-radius: 999px; padding: 2px 8px; font-weight: 800;
}
.pw-prov-role, .pw-prov-focus { display: block; font-size: 13px; color: var(--ink-3); font-weight: 500; margin-top: 2px; }
.pw-prov-meta { display: grid; justify-items: end; gap: 2px; font-size: 13px; font-weight: 800; color: #047857; }
.pw-prov-meta span { font-weight: 600; color: var(--ink-3); }
.pw-sched-who { display: flex; align-items: center; gap: 12px; margin-top: 1rem; }
.pw-sched-who > div strong { display: block; }
.pw-sched-who > div span { display: block; font-size: 13px; color: var(--ink-3); font-weight: 500; }
.pw-sched-who > button, .pw-sched-line > button { margin-inline-start: auto; color: var(--cobalt); font-weight: 700; font-size: 14px; }
.pw-sched-grid {
  display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 14px;
  background: #fff; border: 1.5px solid var(--line); border-radius: 22px; padding: 14px 14px 16px;
}
.pw-cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.pw-cal-head strong { font-family: var(--font-display); font-size: 1.05rem; }
.pw-cal-nav {
  width: 34px; height: 34px; border-radius: 999px; color: var(--ink-2); font-size: 22px; line-height: 1;
  display: inline-flex; align-items: center; justify-content: center;
}
.pw-cal-nav:hover { background: #EEF0FF; color: var(--cobalt); }
.pw-cal-nav:disabled { opacity: .35; }
.pw-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.pw-cal-dow { text-align: center; font-size: 11px; font-weight: 700; color: var(--ink-3); padding: 6px 0; }
.pw-cal-day {
  aspect-ratio: 1; border-radius: 999px; font-weight: 650; font-size: 14px; color: #C8CBD6;
}
.pw-cal-day.is-open { color: var(--ink); font-weight: 700; }
.pw-cal-day.is-open:hover { background: #EEF0FF; }
.pw-cal-day.is-today:not(.is-on) { box-shadow: inset 0 0 0 1.5px var(--cobalt); }
.pw-cal-day.is-on, .pw-cal-day.is-on:hover { background: var(--cobalt); color: #fff; }
.pw-cal-day:disabled { cursor: default; }
.pw-sched-tz {
  display: flex; align-items: center; gap: 8px; margin-top: 12px;
  font-size: 13px; color: var(--ink-3);
}
.pw-sched-tz .pw-i { width: 16px; height: 16px; flex-shrink: 0; }
.pw-cal-times { position: relative; max-height: 22rem; overflow: auto; border-top: 1px solid var(--line); padding-top: 12px; }
.pw-cal-times-h { font-weight: 700; margin-bottom: 10px; }
.pw-cal-empty { color: var(--ink-3); font-size: 14px; }
.pw-slot {
  width: 100%; display: block; margin-bottom: 8px; border: 1.5px solid var(--cobalt); color: var(--cobalt);
  background: #fff; border-radius: 6px; padding: 10px 8px; font-weight: 700; font-size: 14.5px;
}
.pw-slot:hover { background: #EEF0FF; }
.pw-slot.is-on { background: #E4E7FF; }
.pw-slot-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 8px; }
.pw-slot-row .pw-slot { margin-bottom: 0; }
.pw-slot-next {
  border-radius: 6px; background: var(--cobalt); color: #fff; font-weight: 700; font-size: 14.5px;
}
.pw-slot-next:hover { background: var(--cobalt-deep); }
.pw-sched-card {
  margin-top: 1.1rem; background: #fff; border: 1.5px solid var(--line); border-radius: 22px; padding: 4px 14px 16px;
}
.pw-sched-line {
  display: flex; gap: 10px; align-items: flex-start; margin-top: 12px; font-size: 15px; line-height: 1.4;
}
.pw-sched-line .pw-i { width: 18px; height: 18px; margin-top: 2px; color: var(--cobalt); flex-shrink: 0; }
.pw-sched-book { margin-top: 14px; }
@media (min-width: 760px) {
  .pw-sched-grid { grid-template-columns: 1.15fr .85fr; align-items: start; }
  .pw-cal-times { border-top: 0; border-inline-start: 1px solid var(--line); padding-top: 0; padding-inline-start: 14px; max-height: 26rem; }
}
@media (max-width: 520px) {
  .pw-prov { grid-template-columns: auto 1fr; }
  .pw-prov-meta { grid-column: 2; justify-items: start; }
}

