/*
 * v6.9.139 — the sign-up steps on My Path (PP_Intake) and the "Are these your numbers?" card (PP_Bankroll_Page::
 * keep_card, also on Bankroll Coach). From the founder-approved phone mockup (2026-10-18). Loads in the plugin slot
 * right after pokerpath.css; the theme and Customizer load after it, so every rule is scoped under .ppi / .pp-keep
 * with enough weight to hold.
 */

.ppi, .pp-keep {
  --ppi-bg: #0f1623; --ppi-card: #0f3d3f; --ppi-card2: #134a4c; --ppi-line: rgba(255,255,255,.12);
  --ppi-text: #f1f5f9; --ppi-text2: #c3d1d1; --ppi-muted: #9fb3b3; --ppi-gold: #e8bd5c; --ppi-green: #4ade80;
  --ppi-field: #0b2b2d; --ppi-edge: rgba(255,255,255,.28); --ppi-focus: #fde68a;
}

.ppi { max-width: 592px; margin: 0 auto; padding: 16px 16px 40px; color: var(--ppi-text); font-size: 16px; line-height: 1.45; box-sizing: border-box; background: var(--ppi-bg); border-radius: 16px; }   /* navy panel: the page itself is teal, like the cards */
.ppi p, .pp-keep p, .pp-keep-flash { padding: 0; }   /* the theme pads every paragraph */
.ppi *, .ppi *::before, .ppi *::after { box-sizing: border-box; }
.ppi .ppi-steps { display: flex; gap: 6px; margin: 4px 0 14px; }
.ppi .ppi-steps span { flex: 1; height: 6px; border-radius: 3px; background: #24343a; }
.ppi .ppi-steps span.on { background: var(--ppi-gold); }
.ppi .ppi-kicker { color: var(--ppi-muted); font-size: 14px; margin: 0; }
.ppi .ppi-h1 { color: var(--ppi-text); font-size: 24px; line-height: 1.2; margin: 2px 0 6px; font-weight: 700; }
.ppi .ppi-lead { color: var(--ppi-text2); margin: 0 0 14px; font-size: 15px; }
.ppi .ppi-card { background: var(--ppi-card); border: 1px solid var(--ppi-line); border-radius: 14px; padding: 16px; margin: 0 0 14px; min-width: 0; }
.ppi fieldset.ppi-card { margin: 0 0 14px; }
.ppi .ppi-q { display: block; float: left; width: 100%; padding: 0; color: var(--ppi-text); font-size: 16px; font-weight: 700; margin: 0 0 4px; }
.ppi .ppi-qh { color: var(--ppi-muted); font-size: 13px; margin: 0 0 10px; }
.ppi .ppi-q + * { clear: both; }   /* a floated legend sits inside its fieldset, not on the border */
.ppi legend.ppi-q + .ppi-opts { padding-top: 6px; }

/* option cards (radio inputs) */
.ppi .ppi-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ppi .ppi-opt { position: relative; display: block; min-height: 48px; border-radius: 10px; border: 1px solid var(--ppi-edge); background: var(--ppi-field); color: var(--ppi-text); font-size: 15px; padding: 10px 12px; cursor: pointer; margin: 0; }
.ppi .ppi-opt:last-child:nth-child(odd) { grid-column: span 2; }
.ppi .ppi-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.ppi .ppi-opt-t { display: block; }
.ppi .ppi-opt small { display: block; color: var(--ppi-muted); font-size: 12px; }
.ppi .ppi-opt.is-on, .ppi .ppi-opt:has(input:checked) { border-color: var(--ppi-gold); box-shadow: inset 0 0 0 1px var(--ppi-gold); background: #163b36; }
.ppi .ppi-opt:has(input:focus-visible), .ppi .ppi-opt.is-focus { outline: 3px solid var(--ppi-focus); outline-offset: 2px; }

/* fields */
.ppi .ppi-select, .ppi .ppi-input { display: block; width: 100%; min-height: 48px; font-size: 16px; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--ppi-edge); background: var(--ppi-field); color: var(--ppi-text); margin: 0; box-shadow: none; }
.ppi .ppi-select:focus-visible, .ppi .ppi-input:focus-visible { outline: 3px solid var(--ppi-focus); outline-offset: 1px; }
.ppi .ppi-input::placeholder { color: #8aa0a0; opacity: 1; }
.ppi .ppi-label { display: block; font-size: 14px; color: var(--ppi-text2); margin: 0 0 4px; font-weight: 400; }
.ppi .ppi-grid2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }   /* two boxes a row on a phone; one when the text is bigger or the screen narrower */
.ppi .ppi-field { min-width: 0; }
.ppi .ppi-unit { position: relative; display: block; }
.ppi .ppi-unit > span { position: absolute; top: 50%; transform: translateY(-50%); color: var(--ppi-text2); pointer-events: none; }
.ppi .ppi-pre > span { left: 12px; }
.ppi .ppi-pre .ppi-input { padding-left: 28px; }
.ppi .ppi-post > span { right: 12px; }
.ppi .ppi-post .ppi-input { padding-right: 32px; }
.ppi .ppi-help { color: var(--ppi-muted); font-size: 13px; margin: 4px 0 0; }
.ppi .ppi-center { text-align: center; }
.ppi .ppi-error { margin: 0 0 12px; padding: 10px 12px; border-radius: 10px; background: rgba(248,113,113,.14); border: 1px solid rgba(248,113,113,.5); color: #fecaca; font-size: 15px; }

/* the monthly-budget helper (a suggestion only — nothing here is saved) */
.ppi .ppi-suggest { margin: 12px 0 0; padding: 10px 12px; border-radius: 10px; background: rgba(147,197,253,.10); color: #cfe3ff; font-size: 14px; }
.ppi .ppi-suggest[hidden] { display: none; }
.ppi .ppi-suggest p { margin: 0; }
.ppi .ppi-suggest-a:empty { display: none; }
.ppi .ppi-freq { display: flex; gap: 6px; margin: 8px 0; }
.ppi .ppi-freq button, .ppi .ppi-use { min-height: 40px; padding: 0 12px; border-radius: 8px; border: 1px solid #93c5fd; background: transparent; color: #cfe3ff; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.ppi .ppi-freq button { flex: 1; padding: 0 4px; }
.ppi .ppi-freq button[aria-pressed="true"] { background: rgba(147,197,253,.22); }
.ppi .ppi-use { margin-top: 6px; }
.ppi .ppi-use[hidden] { display: none; }
.ppi .ppi-freq button:focus-visible, .ppi .ppi-use:focus-visible { outline: 3px solid var(--ppi-focus); outline-offset: 2px; }

/* the alert switch (a real checkbox) */
.ppi .ppi-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 0; cursor: pointer; }
.ppi .ppi-row b { display: block; color: var(--ppi-text); font-weight: 700; }
.ppi .ppi-row small { display: block; color: var(--ppi-muted); font-size: 13px; }
.ppi .ppi-switch { -webkit-appearance: none; appearance: none; flex: 0 0 52px; width: 52px; height: 32px; border-radius: 16px; background: #31464a; position: relative; border: 0; margin: 0; cursor: pointer; }
.ppi .ppi-switch::after { content: ''; position: absolute; top: 3px; left: 3px; width: 26px; height: 26px; border-radius: 50%; background: #cbd5e1; transition: left .15s; }
.ppi .ppi-switch:checked { background: var(--ppi-green); }
.ppi .ppi-switch:checked::after { left: 23px; background: #0f1623; }
.ppi .ppi-switch:focus-visible { outline: 3px solid var(--ppi-focus); outline-offset: 2px; }

/* buttons */
.ppi .ppi-btns { display: flex; flex-direction: column; gap: 8px; }
.ppi .ppi-btn, .ppi .ppi-review a { box-shadow: none; }
.ppi .ppi-btn { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 50px; border-radius: 12px; border: 1px solid var(--ppi-line); background: var(--ppi-card2); color: var(--ppi-text); font: inherit; font-weight: 700; font-size: 16px; text-decoration: none; cursor: pointer; margin: 0; padding: 0 16px; }
.ppi .ppi-btn.ppi-primary { background: var(--ppi-gold); border-color: var(--ppi-gold); color: #1a1a1a; }
.ppi .ppi-btn.ppi-ghost { background: transparent; color: var(--ppi-text2); font-weight: 600; }
.ppi .ppi-btn:focus-visible { outline: 3px solid var(--ppi-focus); outline-offset: 2px; }

/* "You're set" */
.ppi .ppi-review dl { display: grid; grid-template-columns: auto 1fr auto; gap: 8px 10px; margin: 0; align-items: baseline; }
.ppi .ppi-review dt { color: var(--ppi-muted); font-size: 14px; margin: 0; font-weight: 400; }
.ppi .ppi-review dd { margin: 0; color: var(--ppi-text); min-width: 0; overflow-wrap: anywhere; }
.ppi .ppi-review a { color: var(--ppi-gold); font-size: 14px; text-decoration: underline; }
.ppi .ppi-review .ppi-notset { color: #fbbf24; }

/* v6.9.139-r4 — desktop: the theme's nav bar is positioned over the top of the page (absolute, ≥992 px), so the panel
   starts below it (the old wizard got this clearance from .pp-onboarding-wrap's padding, removed with that CSS) */
@media (min-width: 992px) {
  .ppi { margin-top: 40px; }
}

/* "Are these your numbers?" (My Path + Bankroll Coach) */
.pp-keep { background: #2a2a1a; border: 1px solid rgba(251,191,36,.55); border-radius: 14px; padding: 16px; margin: 0 0 14px; color: #e7e2c8; }
.pp-keep h2 { font-size: 18px; line-height: 1.3; margin: 0 0 6px; color: #fde68a; }
.pp-keep p { margin: 0 0 10px; color: #e7e2c8; font-size: 15px; }
.pp-keep .pp-keep-nums { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0 0 12px; font-weight: 700; color: #f1f5f9; }
.pp-keep .pp-keep-btns { display: flex; gap: 8px; margin: 0; }
.pp-keep .pp-keep-btn { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 48px; border-radius: 12px; border: 1px solid var(--ppi-line); background: var(--ppi-card2); color: var(--ppi-text); font: inherit; font-weight: 700; font-size: 16px; text-decoration: none; box-shadow: none; cursor: pointer; margin: 0; padding: 0 12px; }   /* the theme underlines links with a box-shadow */
.pp-keep .pp-keep-btn.pp-keep-primary { background: var(--ppi-gold); border-color: var(--ppi-gold); color: #1a1a1a; }
.pp-keep .pp-keep-btn:focus-visible { outline: 3px solid var(--ppi-focus); outline-offset: 2px; }
.pp-keep-flash { margin: 0 0 12px; padding: 10px 12px; border-radius: 10px; background: rgba(147,197,253,.12); color: #e2ecff; font-size: 15px; }
.pp-mp-add { margin-left: 8px; }


/* v6.9.140 — email alerts: the level chips, the rows with a switch or a button, result lines, the embedded settings card */
.ppi .ppi-rows .ppi-row-static { padding: 12px 0; border-top: 1px solid var(--ppi-line); }
.ppi .ppi-rows .ppi-row-static:first-child { border-top: 0; padding-top: 0; }
.ppi .ppi-rows .ppi-row-static:last-child { padding-bottom: 0; }
.ppi .ppi-row-static { cursor: default; }
.ppi .ppi-row-static label { cursor: pointer; }
.ppi .ppi-row-static form { margin: 0; flex: 0 0 auto; }
.ppi .ppi-lvls { display: flex; gap: 6px; margin-top: 8px; }
.ppi .ppi-lvl { flex: 1; position: relative; display: flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 10px; border: 1px solid var(--ppi-edge); background: var(--ppi-field); color: var(--ppi-text); font-size: 14px; cursor: pointer; margin: 0; padding: 0 6px; }
.ppi .ppi-lvl input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.ppi .ppi-lvl.is-on, .ppi .ppi-lvl:has(input:checked) { border-color: var(--ppi-gold); background: #163b36; box-shadow: inset 0 0 0 1px var(--ppi-gold); }
.ppi .ppi-lvl:has(input:focus-visible) { outline: 3px solid var(--ppi-focus); outline-offset: 2px; }
.ppi .ppi-btn.ppi-btn-sm { width: auto; min-height: 40px; padding: 0 14px; font-size: 14px; border-radius: 10px; }
.ppi .ppi-ok { margin: 0 0 14px; padding: 12px 14px; border-radius: 12px; background: rgba(74,222,128,.12); border: 1px solid rgba(74,222,128,.45); color: #d1fae5; font-size: 15px; }
.ppi .ppi-warn { margin: 0 0 14px; padding: 12px 14px; border-radius: 12px; background: rgba(251,191,36,.10); border: 1px solid rgba(251,191,36,.45); color: #fde68a; font-size: 15px; }
.ppi .ppi-help a, .ppi .ppi-warn a { color: var(--ppi-gold); }
.ppi.ppi-embed { margin: 0 0 18px; padding: 0; background: transparent; border-radius: 0; max-width: none; }
.ppi.ppi-embed .ppi-kicker { margin: 0 0 8px; letter-spacing: .04em; }
.ppi .ppi-reset { margin: 4px 0 0; color: var(--ppi-muted); font-size: 13px; }
.ppi .ppi-linkbtn { background: none; border: 0; padding: 0; color: var(--ppi-gold); text-decoration: underline; font: inherit; font-size: 14px; cursor: pointer; }
.ppi .ppi-linkbtn:focus-visible { outline: 3px solid var(--ppi-focus); outline-offset: 2px; }
@media (min-width: 992px) {
  .ppi.ppi-embed { margin-top: 0; }
}
/* v6.9.147 — "How did it go?" (addenda v1.5 §4 / v1.6): the Keep card look, on My Path, My Year and Bankroll Coach */
.pp-keep.pp-rp .pp-rp-what { margin: 0 0 4px; color: var(--ppi-text); }
.pp-keep.pp-rp .pp-rp-count { margin: 0 0 10px; font-size: 14px; color: #e7e2c8; }
.pp-keep.pp-rp .pp-rp-btns { flex-wrap: wrap; }
.pp-keep.pp-rp .pp-rp-btns .pp-keep-btn { flex: 1 1 120px; }
.pp-keep.pp-rp .pp-rp-next { width: 100%; margin-top: 8px; background: transparent; }
.pp-keep.pp-rp .pp-rp-status { margin: 10px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pp-keep.pp-rp .pp-rp-status[hidden], .pp-keep.pp-rp .pp-rp-item[hidden] { display: none; }
.pp-keep.pp-rp .pp-rp-undo { flex: 0 0 auto; min-width: 88px; }

/* ── v6.9.148 — profile findability (founder-approved mockups 2026-10-19: "Your profile" card, the bottom box, the account
   menu, the :target flash) + play area §A–§B (mockups 2026-10-20: the drive questions, "How we estimate", More travel
   options, Rooms you play, the one-line card). Scoped under .ppi / .pp-my-account / #pp-nav-user. ─────────────────── */
/* ── 1. "Your profile" card, right under the identity card on My Path ───────────────────────────────────────── */
.pp-my-account .pp-mp-pf { background: #161a2b; border: 1px solid #2a2f45; border-radius: 12px; padding: 14px; margin: 0 0 14px; color: #f1f5f9; }
.pp-my-account .pp-mp-pf-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 0 0 10px; }
.pp-my-account .pp-mp-pf h2 { margin: 0; padding: 0; font-size: 18px; line-height: 1.3; font-weight: 700; color: #f1f5f9; letter-spacing: 0; text-transform: none; }
.pp-my-account .pp-mp-pf-count { font-size: 13px; color: #cbd5e1; white-space: nowrap; }
.pp-my-account .pp-mp-pf-cta { display: flex; flex-direction: column; justify-content: center; min-height: 56px; padding: 8px 14px; margin: 0 0 12px; border-radius: 12px; background: #e8bd5c; color: #1a1a1a; text-decoration: none; box-shadow: none; }
.pp-my-account .pp-mp-pf-cta-t { font-size: 16px; font-weight: 700; line-height: 1.25; color: #1a1a1a !important; }   /* a .pp-theme-dark …span rule forces light text with !important */
.pp-my-account .pp-mp-pf-cta-t::after { content: " \2192"; }
.pp-my-account .pp-mp-pf-cta-s { font-size: 14px; line-height: 1.3; color: #3b2f0e !important; }
.pp-my-account .pp-mp-pf-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(112px, 1fr)); gap: 10px 12px; margin: 0 0 12px; }
.pp-my-account .pp-mp-pf-grid > div { min-width: 0; }
.pp-my-account .pp-mp-pf-grid dt { margin: 0; font-size: 13px; font-weight: 400; color: #cbd5e1; }
.pp-my-account .pp-mp-pf-grid dd { margin: 2px 0 0; font-size: 15px; font-weight: 700; color: #f1f5f9; overflow-wrap: anywhere; }
.pp-my-account .pp-mp-unset { color: #fbbf24 !important; font-weight: 700; }   /* "Not set", the same amber as the intake summary */
.pp-my-account .pp-mp-pf-grid dd.pp-mp-unset::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #fbbf24; margin: 0 6px 1px 0; }
.pp-my-account .pp-mp-pf-edit { display: flex; align-items: center; justify-content: center; min-height: 48px; border-radius: 12px; border: 1px solid #3a4160; background: #22283f; color: #f1f5f9; font-size: 16px; font-weight: 700; text-decoration: none; box-shadow: none; }
.pp-my-account .pp-mp-pf-cta:focus-visible, .pp-my-account .pp-mp-pf-edit:focus-visible,
.pp-my-account .pp-mp-profile-box .pp-edit-link:focus-visible { outline: 3px solid #fde68a; outline-offset: 2px; }

/* ── 2. bottom "My profile" box: Edit is a link now; every Add is a 44 px button; "Not set" is amber ─────────────── */
.pp-my-account .pp-mp-profile-box .pp-pref-row { gap: 8px; min-height: 52px; }
.pp-my-account .pp-mp-profile-box .pp-pref-label { flex: 1 1 auto; font-size: 14px; }
.pp-my-account .pp-mp-profile-box .pp-pref-val { font-size: 14px; text-align: right; }
.pp-my-account .pp-mp-profile-box .pp-edit-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: 0 14px; font-size: 14px; font-weight: 600; text-decoration: none; box-shadow: none; }
.pp-my-account .pp-mp-profile-box .pp-mp-add { margin-left: 0; }

/* ── 4. My Year "Suggested for you" — no new CSS: the link uses the existing .pp-ss-btn-primary ─────────────────── */

/* ── 5. About you opened from …#ppi-state: land with the label in view, flash the card, no script needed ─────── */
.ppi #ppi-state { scroll-margin-top: 140px; }   /* the card's label + "Needed for…" line land below the fixed avatar button */
.ppi .ppi-card:has(#ppi-state:target) { animation: ppi-flash 2.6s ease-out 1; border-color: #e8bd5c; }
@keyframes ppi-flash {
  0%, 55% { box-shadow: 0 0 0 3px #e8bd5c, 0 0 0 9px rgba(232,189,92,.28); }
  100%    { box-shadow: 0 0 0 0 rgba(232,189,92,0); }
}
@media (prefers-reduced-motion: reduce) {
  .ppi .ppi-card:has(#ppi-state:target) { animation: none; box-shadow: 0 0 0 3px #e8bd5c; }
}
.ppi .ppi-city-l { margin: 12px 0 4px; }
.ppi .ppi-city-l span { color: var(--ppi-muted); }
/* ── §A. About you: drive questions, hotel, "How we estimate", placement line, thin-state note, Rooms you play ───────── */
.ppi .ppi-rank { margin: 10px 0 0; }                                            /* v1.3 hint: "We use this to rank events…" */
.ppi .ppi-est { margin: 12px 0 0; padding: 10px 0 0; border-top: 1px solid var(--ppi-line); }
.ppi .ppi-est .ppi-help { margin: 0; }
.ppi .ppi-how { margin: 4px 0 0; }
.ppi .ppi-how > summary { display: flex; align-items: center; min-height: 44px; color: var(--ppi-gold); font-size: 15px; font-weight: 600; cursor: pointer; list-style: none; }
.ppi .ppi-how > summary::-webkit-details-marker { display: none; }
.ppi .ppi-how > summary::after { content: "\25BE"; margin-left: 6px; font-size: 13px; }
.ppi .ppi-how[open] > summary::after { content: "\25B4"; }
.ppi .ppi-how > summary:focus-visible { outline: 3px solid var(--ppi-focus); outline-offset: 2px; }
.ppi .ppi-how-b { color: var(--ppi-text2); font-size: 14px; }
.ppi .ppi-how-b p { margin: 0 0 8px; }
.ppi .ppi-how-ex { list-style: none; margin: 0 0 8px !important; padding: 0 !important; display: grid; gap: 8px; }
.ppi .ppi-how-ex li { padding: 8px 10px; border-radius: 10px; background: var(--ppi-field); }
.ppi .ppi-how-ex b { display: block; color: var(--ppi-text); font-size: 14px; }
.ppi .ppi-how-ex span { display: block; }
.ppi .ppi-hotel b, .ppi #ppi-hotel .ppi-qh b { color: var(--ppi-text2); font-weight: 700; }

.ppi .ppi-place { margin: 6px 0 0; font-size: 14px; }
.ppi .ppi-place-ok { color: #86efac; }
.ppi .ppi-place-bad { color: #fde68a; }
.ppi .ppi-thin { margin: 10px 0 0; padding: 10px 12px; border-radius: 10px; background: rgba(251,191,36,.10); border: 1px solid rgba(251,191,36,.45); color: #fde68a; font-size: 14px; }

/* founder 2026-10-20: Hotel + Rooms you play live in one collapsed "More travel options" section (native <details>) */
.ppi .ppi-more > summary { display: flex; align-items: center; gap: 10px; min-height: 48px; margin: -4px 0; cursor: pointer; list-style: none; }
.ppi .ppi-more > summary::-webkit-details-marker { display: none; }
.ppi .ppi-more > summary::after { content: "\25BE"; margin-left: auto; color: var(--ppi-gold); font-size: 16px; }
.ppi .ppi-more[open] > summary::after { content: "\25B4"; }
.ppi .ppi-more > summary:focus-visible { outline: 3px solid var(--ppi-focus); outline-offset: 2px; }
.ppi .ppi-more-t { display: flex; flex-direction: column; min-width: 0; }
.ppi .ppi-more-t .ppi-q { float: none; width: auto; margin: 0; }
.ppi .ppi-more-s { color: var(--ppi-text2); font-size: 14px; }
.ppi .ppi-more-b { padding-top: 14px; }
.ppi .ppi-sub { margin: 0; padding: 14px 0 0; border: 0; border-top: 1px solid var(--ppi-line); min-width: 0; }
.ppi .ppi-sub + .ppi-sub { margin-top: 16px; }
.ppi .ppi-rooms-head { display: flex; align-items: baseline; gap: 10px; }
.ppi .ppi-rooms-head .ppi-q { float: none; width: auto; margin: 0 0 4px; }
.ppi .ppi-opt-l { font-weight: 400; color: var(--ppi-text2); }
.ppi .ppi-rooms-n { margin-left: auto; color: var(--ppi-text2); font-size: 14px; white-space: nowrap; }
.ppi .ppi-rooms-b { padding-top: 6px; }
.ppi .ppi-room-list { list-style: none; margin: 0 0 12px !important; padding: 0 !important; display: grid; gap: 8px; }
.ppi .ppi-room { display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 12px; border-radius: 10px; background: var(--ppi-field); border: 1px solid var(--ppi-edge); }
.ppi .ppi-room-t { flex: 1 1 auto; min-width: 0; }
.ppi .ppi-room-t b { display: block; color: var(--ppi-text); font-size: 15px; overflow-wrap: anywhere; }
.ppi .ppi-room-t small { display: block; color: var(--ppi-text2); font-size: 13px; }
.ppi .ppi-room-flag { color: #fbbf24; font-weight: 700; }
.ppi .ppi-room-x { flex: 0 0 auto; min-height: 44px; min-width: 44px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--ppi-edge); background: transparent; color: var(--ppi-text); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.ppi .ppi-room-x:focus-visible, .ppi .ppi-near-b:focus-visible { outline: 3px solid var(--ppi-focus); outline-offset: 2px; }
.ppi .ppi-room-add { border-top: 1px solid var(--ppi-line); padding-top: 12px; }
.ppi .ppi-q.ppi-q-sm { float: none; font-size: 15px; margin: 0 0 8px; }
.ppi .ppi-near { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0 0 12px; }
.ppi .ppi-near .ppi-label { grid-column: 1 / -1; margin: 0; }
.ppi .ppi-near-b { min-width: 0; padding: 0; min-height: 44px; border-radius: 10px; border: 1px solid var(--ppi-gold); background: transparent; color: var(--ppi-gold); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.ppi .ppi-select:disabled { opacity: 1; color: var(--ppi-text2); cursor: not-allowed; }
.ppi .ppi-btn.ppi-btn-add { margin-top: 12px; min-height: 48px; }

/* every "Add" link lands on its own question and flashes it (founder decision 4; extends the approved #ppi-state rule) */
.ppi #ppi-city, .ppi #ppi-weekly, .ppi #ppi-series, .ppi #ppi-hotel, .ppi #ppi-rooms { scroll-margin-top: 140px; }   /* #ppi-hotel / #ppi-rooms sit inside #ppi-more: the server prints it open when an Add link targets them; Chrome also opens a closed <details> on fragment navigation */
.ppi .ppi-card:has(#ppi-city:target), .ppi .ppi-card:target { animation: ppi-flash 2.6s ease-out 1; border-color: #e8bd5c; }
@media (prefers-reduced-motion: reduce) {
  .ppi .ppi-card:has(#ppi-city:target), .ppi .ppi-card:target { animation: none; box-shadow: 0 0 0 3px #e8bd5c; }
}

/* ── §B. My Path: the one-line "Your profile" card (founder decision 2) and the box's placement mark ──────────────── */
.pp-my-account .pp-mp-pf.pp-mp-pf-one { display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 14px; }
.pp-my-account .pp-mp-pf-sum { flex: 1 1 auto; min-width: 0; margin: 0; padding: 0; display: flex; flex-direction: column; }
.pp-my-account .pp-mp-pf-k { font-size: 13px; color: #cbd5e1; }
.pp-my-account .pp-mp-pf-v { font-size: 15px; font-weight: 700; color: #f1f5f9; line-height: 1.3; }
.pp-my-account .pp-mp-pf-e { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 64px; padding: 0 14px; border-radius: 10px; border: 1px solid #3a4160; background: #22283f; color: #f1f5f9; font-size: 15px; font-weight: 700; text-decoration: none; box-shadow: none; }
.pp-my-account .pp-mp-pf-e:focus-visible { outline: 3px solid #fde68a; outline-offset: 2px; }
@media (max-width: 413px) { .pp-my-account .pp-mp-pf-buy { display: none; } }   /* the design rule: "if it doesn't fit 320, drop the buy-in" — measured, it doesn't fit below 414 */
.pp-my-account .pp-mp-placed { color: #15803d; font-weight: 700; }
.pp-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

