/* ══ THE HOME PAGE'S VIDEO FEED (theme 1.277.0) ══════════════════════════
   v3 handoffs xasd.zip and deijm.zip, Feed.html. Loaded on the discovery
   page only when the link came from the home page (from=home); every
   other way in keeps the media wall (ph-wall.css). One place at a time,
   full screen on a phone; on a computer a 9:16 column in the middle with
   Up next beside it and the filter panel from the right. */

body.ph-discover-page .ph-site-header,
body.ph-discover-page .elementor-location-header,
body.ph-discover-page [data-elementor-type="header"],
body.ph-discover-page header.elementor-location-header,
body.ph-discover-page .elementor-sticky--active,
body.ph-discover-page header.elementor { display: none !important; }
body.ph-discover-page .elementor-sticky__spacer { height: 0 !important; min-height: 0 !important; }
body.ph-discover-page { overflow: hidden; }

.phfd {
	--phfd-pink: var(--pink, #e8568a); --phfd-pinkp: var(--pink-press, #c9376e); --phfd-pinks: var(--pink-soft, #fdeef4);
	--phfd-ink: var(--ink, #16181f); --phfd-ink2: var(--ink-2, #5b6070); --phfd-ink3: var(--ink-3, #8f95a6);
	--phfd-line: var(--line, #e4e6ec); --phfd-line2: var(--line-2, #d3d7e0); --phfd-surface: var(--surface, #f6f7f9);
	position: fixed; inset: 0; z-index: 900; background: #0d0e12; color: #fff; overflow: hidden; overflow: clip;
	font-family: var(--font, 'Plus Jakarta Sans', -apple-system, system-ui, sans-serif); font-size: 16px; line-height: normal; -webkit-font-smoothing: antialiased;
}
body.admin-bar .phfd { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar .phfd { top: 46px; } }
.phfd *, .phfd *::before, .phfd *::after { box-sizing: border-box; }
.phfd h2, .phfd h3, .phfd h4, .phfd p { margin: 0; padding: 0; font-family: inherit; line-height: normal; color: inherit; }
.phfd button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; padding: 0; margin: 0; min-height: 0; text-transform: none; letter-spacing: normal; box-shadow: none; line-height: normal; }
.phfd a { color: inherit; text-decoration: none; }
.phfd svg { display: block; flex-shrink: 0; }
.phfd img { display: block; max-width: none; }
.phfd input { font: inherit; }

/* ── The place ── */
.phfd-main { position: absolute; inset: 0; }
.phfd-it { position: absolute; inset: 0; overflow: hidden; background: #16181f; }
.phfd-stage { position: absolute; inset: 0; display: grid; place-items: center; background: #16181f; }
.phfd-poster, .phfd-v { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; }
.phfd-shade { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(0, 0, 0, .45), transparent 22%, transparent 52%, rgba(0, 0, 0, .85)); }
.phfd-pr { position: absolute; left: 12px; right: 12px; top: 10px; z-index: 3; display: flex; gap: 4px; }
.phfd-pr span { flex: 1; height: 3px; border-radius: 3px; background: rgba(255, 255, 255, .3); overflow: hidden; }
.phfd-pr i { display: block; height: 100%; width: 0; background: #fff; }
.phfd-tz { position: absolute; top: 120px; bottom: 220px; width: 34%; z-index: 2; }
.phfd-tz--l { left: 0; }
.phfd-tz--r { right: 0; }
.phfd .phfd-snd { position: absolute; left: 50%; top: 124px; z-index: 4; transform: translateX(-50%); display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 999px; background: rgba(0, 0, 0, .45); font-size: 12px; font-weight: 800; color: #fff; }
.phfd .phfd-snd[hidden] { display: none; }
.phfd .phfd-snd.is-on { background: rgba(255, 255, 255, .2); }
.phfd-ov { position: absolute; left: 16px; right: 76px; bottom: 22px; z-index: 3; }
.phfd-why { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 10px; padding: 5px 10px; border-radius: 999px; background: rgba(255, 255, 255, .14); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-size: 11.5px; font-weight: 700; }
.phfd-why svg { width: 13px; height: 13px; color: #ff9ec0; }
.phfd-ov h2 { font-size: 24px; font-weight: 800; letter-spacing: -.5px; line-height: 1.1; }
.phfd-mt { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 6px; font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, .85); }
.phfd-st--open { color: #7df0b0; }
.phfd-st--soon { color: #ffd38a; }
.phfd-st--shut { color: #ffb3b3; }
.phfd-by { margin-top: 6px; font-size: 12.5px; color: rgba(255, 255, 255, .7); }
.phfd-by b, .phfd-by a { color: #fff; font-weight: 700; }
.phfd-by a:hover { text-decoration: underline; }
.phfd-ac { display: flex; gap: 8px; margin-top: 14px; }
.phfd .phfd-btn { display: inline-flex; align-items: center; justify-content: center; height: 42px; padding: 0 16px; border-radius: 999px; font-size: 13.5px; font-weight: 800; }
.phfd .phfd-btn--w { background: #fff; color: var(--phfd-ink); }
.phfd .phfd-btn--p { background: var(--phfd-pink); color: #fff; }
.phfd-rr { position: absolute; right: 12px; bottom: 26px; z-index: 3; display: grid; gap: 14px; justify-items: center; }
.phfd-rr button { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .14); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: #fff; }
.phfd-rr button.is-on { background: var(--phfd-pink); }
.phfd-rr button.is-on path { fill: currentColor; }
.phfd-rr svg { width: 22px; height: 22px; }
.phfd-rr small { display: block; margin-top: -8px; font-size: 11px; font-weight: 700; color: rgba(255, 255, 255, .85); }
.phfd-cap { position: relative; z-index: 2; max-width: 300px; padding: 22px; border-radius: 20px; background: rgba(22, 24, 31, .88); text-align: center; }
.phfd-cap b { display: block; font-size: 18px; font-weight: 800; }
.phfd-cap p { margin: 8px 0 14px; font-size: 13.5px; line-height: 1.5; color: rgba(255, 255, 255, .8); }
.phfd-empty { position: absolute; inset: 0; display: grid; place-items: center; padding: 24px; text-align: center; background: radial-gradient(120% 80% at 30% 20%, #2b2f3c, transparent 60%), #16181f; }
.phfd-empty h2 { font-size: 22px; font-weight: 800; }
.phfd-empty p { margin: 8px 0 16px; font-size: 14px; color: rgba(255, 255, 255, .75); }

/* The day's videos used: the sign-up or upgrade screen, nothing else. */
.phfd.is-capped .phfd-loc, .phfd.is-capped .phfd-fbtn, .phfd.is-capped .phfd-act, .phfd.is-capped .phfd-side, .phfd.is-capped .phfd-shade { display: none; }

/* ── Top bar and chips ── */
.phfd-top { position: absolute; left: 0; right: 0; top: 0; z-index: 20; display: flex; align-items: center; gap: 8px; padding: 22px 12px 0; pointer-events: none; }
.phfd-top > * { pointer-events: auto; }
.phfd-bk { flex: none; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: rgba(0, 0, 0, .35); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: #fff; }
.phfd-bk svg { width: 20px; height: 20px; }
.phfd .phfd-loc { display: flex; align-items: center; gap: 6px; min-width: 0; height: 42px; padding: 0 14px; border-radius: 999px; background: rgba(0, 0, 0, .35); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: #fff; font-size: 13px; font-weight: 700; white-space: nowrap; overflow: hidden; }
.phfd-loc span { overflow: hidden; text-overflow: ellipsis; }
.phfd-loc svg { width: 15px; height: 15px; color: #ff9ec0; }
.phfd-loc::after { content: "\25BE"; font-size: 10px; margin-left: 2px; opacity: .8; }
.phfd .phfd-fbtn { flex: none; margin-left: auto; display: flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; border-radius: 999px; background: #fff; color: var(--phfd-ink); font-size: 14px; font-weight: 800; box-shadow: 0 6px 18px rgba(0, 0, 0, .3); }
.phfd-fbtn svg { width: 17px; height: 17px; }
.phfd-fbtn b { min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; display: grid; place-items: center; background: var(--phfd-pink); color: #fff; font-size: 11px; }
.phfd-fbtn b[hidden] { display: none; }
/* v3 (bygtyfr): Saved, a heart with a count beside Filter. */
.phfd .phfd-svb { flex: none; display: flex; align-items: center; gap: 6px; height: 42px; margin-left: 8px; padding: 0 14px; border: 0; border-radius: 999px; background: rgba(22, 24, 31, .55); color: #fff; font-size: 13px; font-weight: 800; cursor: pointer; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.phfd-svb svg { width: 17px; height: 17px; }
.phfd.is-capped .phfd-svb, .phfd.is-listing .phfd-svb { display: none; }
.phfd-toast .phfd-toast__a { pointer-events: auto; padding: 0; border: 0; background: none; font: inherit; color: var(--phfd-pinkp, #c9376e); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.phfd-svtabs { display: flex; gap: 6px; margin-bottom: 14px; }
.phfd .phfd-svtabs button { flex: 1; height: 38px; border: 1px solid #d3d7e0; border-radius: 999px; background: #fff; font-size: 13px; font-weight: 800; color: #5b6070; cursor: pointer; }
.phfd .phfd-svtabs button.is-on { background: #16181f; border-color: #16181f; color: #fff; }
.phfd-svg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 14px; }
.phfd-svt { position: relative; }
.phfd .phfd-svp { display: flex; flex-direction: column; justify-content: flex-end; width: 100%; aspect-ratio: 9 / 14; padding: 10px; border: 0; border-radius: 14px; background: #2b2440 center / cover no-repeat; color: #fff; text-align: left; cursor: pointer; box-shadow: inset 0 -60px 50px -20px rgba(0, 0, 0, .65); }
.phfd-svp b { font-size: 13px; font-weight: 800; line-height: 1.2; }
.phfd-svp small { font-size: 11px; font-weight: 600; opacity: .85; }
.phfd .phfd-svr { position: absolute; top: 6px; right: 6px; width: 26px; height: 26px; border: 0; border-radius: 50%; background: rgba(22, 24, 31, .6); color: #fff; font-size: 12px; cursor: pointer; }
.phfd-svl { display: flex; align-items: center; gap: 10px; padding: 12px 0; border-top: 1px solid #e4e6ec; }
.phfd-svl:first-of-type { border-top: 0; }
.phfd .phfd-svl a { flex: 1; min-width: 0; color: #16181f; text-decoration: none; }
.phfd-svl a b { display: block; font-size: 14px; font-weight: 700; }
.phfd-svl a span { font-size: 12.5px; color: #8f95a6; }
.phfd .phfd-svr2 { flex: none; padding: 6px 12px; border: 1px solid #d3d7e0; border-radius: 999px; background: #fff; font-size: 12.5px; font-weight: 700; color: #5b6070; cursor: pointer; }
.phfd.is-listing .phfd-loc, .phfd.is-listing .phfd-fbtn, .phfd.is-listing .phfd-act { display: none; }
.phfd-act { position: absolute; left: 12px; right: 12px; top: 74px; z-index: 20; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.phfd-act::-webkit-scrollbar { display: none; }
.phfd .phfd-act button { flex: none; display: flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px; border-radius: 999px; background: rgba(255, 255, 255, .92); color: var(--phfd-ink); font-size: 12px; font-weight: 700; }
.phfd-act button b { font-size: 10px; color: var(--phfd-ink3); }

/* ── Quick picks ── */
.phfd-moods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.phfd .phfd-moods button { display: grid; justify-items: start; gap: 6px; min-height: 78px; padding: 12px; border-radius: 16px; background: var(--s); color: var(--phfd-ink); text-align: left; border: 1.5px solid transparent; }
.phfd-moods i { font-style: normal; font-size: 20px; line-height: 1; color: var(--c); }
.phfd-moods b { font-size: 13.5px; font-weight: 800; color: var(--c); }
.phfd-moods small { font-size: 11px; font-weight: 600; color: var(--phfd-ink2); }
.phfd .phfd-moods button.is-on { border-color: var(--c); }
.phfd-toast { position: absolute; left: 50%; bottom: 110px; z-index: 60; transform: translate(-50%, 20px); padding: 10px 16px; border-radius: 999px; background: #fff; color: var(--phfd-ink); font-size: 13px; font-weight: 700; white-space: nowrap; opacity: 0; pointer-events: none; transition: .25s; }
.phfd-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* ── Sheets: Filter and Where? ── */
.phfd-shd { position: absolute; inset: 0; z-index: 40; background: rgba(0, 0, 0, .5); animation: phfd-fade .25s ease; }
.phfd-sh { position: absolute; left: 0; right: 0; bottom: 0; z-index: 41; max-height: 92%; display: flex; flex-direction: column; border-radius: 26px 26px 0 0; background: var(--phfd-surface); color: var(--phfd-ink); animation: phfd-up .32s cubic-bezier(.32, .72, .28, 1); }
.phfd-sh.is-closing { animation: phfd-down .22s ease forwards; }
.phfd-shd.is-closing { animation: phfd-out .22s ease forwards; }
@keyframes phfd-fade { from { opacity: 0; } }
@keyframes phfd-out { to { opacity: 0; } }
@keyframes phfd-up { from { transform: translateY(100%); } }
@keyframes phfd-down { to { transform: translateY(100%); } }
.phfd-sh header { position: relative; display: flex; align-items: center; gap: 10px; padding: 20px 18px 10px; }
.phfd-sh header::before { content: ""; position: absolute; left: 50%; top: 6px; width: 40px; height: 5px; border-radius: 3px; background: var(--phfd-line2); transform: translateX(-50%); }
.phfd-sh header b { flex: 1; font-size: 18px; font-weight: 800; }
.phfd .phfd-sh header button { height: 36px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--phfd-line2); background: #fff; font-size: 13px; font-weight: 700; }
.phfd-fsc { flex: 1; overflow-y: auto; display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-content: start; padding: 4px 18px 18px; }
.phfd-fsc > * { min-width: 0; }
.phfd-fl { display: block; margin-bottom: 8px; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--phfd-ink3); }
/* The shared search field (v3 deijm, "Shared controls"): 46px, a pill,
   1px border, pink ring on focus; its button 34px on ink. */
.phfd-nlq { display: flex; align-items: center; gap: 10px; height: 46px; padding: 0 6px 0 18px; border-radius: 999px; border: 1px solid var(--phfd-line2); background: #fff; }
.phfd-nlq:focus-within { border-color: var(--phfd-ink3); box-shadow: 0 0 0 3px rgba(232, 86, 138, .22); }
.phfd-nlq svg { width: 17px; height: 17px; color: var(--phfd-pink); }
.phfd .phfd-nlq input { flex: 1; min-width: 0; height: auto; border: 0; outline: 0; background: none; box-shadow: none; padding: 0; font-size: 14.5px; font-weight: 500; color: var(--phfd-ink); }
.phfd .phfd-nlq input::placeholder { color: var(--phfd-ink2); opacity: 1; }
.phfd .phfd-nlq button { flex: none; height: 34px; padding: 0 14px; border-radius: 999px; background: var(--phfd-ink); color: #fff; font-size: 13.5px; font-weight: 800; }
.phfd-tip { margin-top: 6px; font-size: 12.5px; color: var(--phfd-ink3); }
.phfd-sh .phfd-moods { display: flex; overflow-x: auto; gap: 8px; margin: 0 -18px; padding: 2px 18px; scroll-snap-type: x proximity; scrollbar-width: none; }
.phfd-sh .phfd-moods::-webkit-scrollbar { display: none; }
.phfd .phfd-sh .phfd-moods button { flex: 0 0 132px; scroll-snap-align: start; background: #fff; border-color: var(--phfd-line); }
.phfd .phfd-sh .phfd-moods button.is-on { border-color: var(--c); background: var(--s); }
.phfd-tl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.phfd .phfd-tl button { display: flex; align-items: center; gap: 10px; height: 54px; padding: 0 12px; border-radius: 14px; border: 1.5px solid var(--phfd-line); background: #fff; font-size: 14px; font-weight: 800; }
/* Each kind's icon in a tile of its own colour, as the handoff draws it. */
.phfd-tl i { flex: none; width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: #f6f7f9; background: color-mix(in srgb, var(--c) 12%, #fff); color: var(--c); }
.phfd-tl i svg { width: 17px; height: 17px; }
.phfd .phfd-tl button.is-on { border-color: var(--c); }
.phfd-ch { display: flex; flex-wrap: wrap; gap: 8px; }
/* Chips are the site's one pill size (theme 1.274.0), not the
   handoff's 36px: DG asked for the smaller search pills everywhere. */
.phfd .phfd-ch button { display: inline-flex; align-items: center; justify-content: center; height: var(--pill-h, 32px); padding: var(--pill-pad, 0 11px); border-radius: 999px; border: 1.5px solid var(--phfd-line2); background: #fff; font-size: var(--pill-fs, 12.5px); font-weight: var(--pill-fw, 700); color: var(--phfd-ink); }
.phfd .phfd-ch button.is-on { background: var(--phfd-ink); border-color: var(--phfd-ink); color: #fff; }
.phfd-sg { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 4px; padding: 4px; border-radius: 14px; border: 1.5px solid var(--phfd-line); background: #fff; }
.phfd .phfd-sg button { display: grid; place-items: center; min-height: 44px; padding: 4px; border-radius: 10px; font-size: 13.5px; font-weight: 700; color: var(--phfd-ink2); text-align: center; line-height: 1.2; }
.phfd-sg button span { display: block; font-size: 11px; font-weight: 600; opacity: .75; }
.phfd .phfd-sg button.is-on { background: var(--phfd-ink); color: #fff; }
.phfd-sh footer { display: flex; gap: 10px; padding: 12px 18px calc(14px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--phfd-line); background: var(--phfd-surface); }
.phfd .phfd-sh footer button { display: flex; align-items: center; justify-content: center; text-align: center; height: 52px; border-radius: 999px; font-size: 15px; font-weight: 800; }
.phfd .phfd-ff__c { padding: 0 20px; border: 1.5px solid var(--phfd-line2); background: #fff; color: var(--phfd-ink); }
.phfd .phfd-ff__g { flex: 1; background: var(--phfd-pink); color: #fff; }
.phfd .phfd-ff__g[disabled] { background: var(--phfd-line2); cursor: default; }
.phfd-lres { display: grid; gap: 16px; }
/* Where? (v3, dsx): opens at region level, a breadcrumb, a row per
   place with an arrow to drill in, 44px rows of 14.5px words, Popular
   cities under the list; on a phone a way back up a level. */
.phfd-lw { gap: 10px; }
.phfd .phfd-lnear { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 0 6px; border-radius: 12px; font-size: 14.5px; font-weight: 800; color: #1d6f9c; text-align: left; }
.phfd .phfd-lnear:hover { background: #e6f0f8; }
.phfd-lnear svg { width: 18px; height: 18px; }
.phfd-llist { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; }
.phfd-llist > * { min-width: 0; }
.phfd-lcr { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px; padding: 0 6px 4px; font-size: 13px; font-weight: 700; color: var(--phfd-ink2); }
.phfd .phfd-lcr button { padding: 4px 2px; border-radius: 6px; color: var(--phfd-ink2); }
.phfd .phfd-lcr button:hover { color: var(--phfd-ink); }
.phfd-lcr i { font-style: normal; color: var(--phfd-ink3); }
.phfd-lcr b { color: var(--phfd-ink); }
.phfd-lr { display: flex; align-items: center; border-radius: 14px; }
.phfd-lr:hover { background: #fff; }
.phfd .phfd-lp { flex: 1; display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 0 14px; font-size: 14.5px; font-weight: 700; color: var(--phfd-ink); text-align: left; }
.phfd-lp em { font-style: normal; font-size: 12.5px; font-weight: 700; color: var(--phfd-ink3); }
.phfd-lr.is-on { background: var(--phfd-pinks); }
.phfd-lr.is-on .phfd-lp, .phfd-lr.is-on .phfd-lp em { color: var(--phfd-pinkp); }
.phfd .phfd-ldr { flex: none; width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; color: var(--phfd-ink3); }
.phfd .phfd-ldr:hover { background: var(--phfd-surface); color: var(--phfd-ink); }
.phfd-ldr svg { width: 18px; height: 18px; }
.phfd-lbk { display: none; }
.phfd-lpc { margin-top: 6px; padding: 14px 4px 4px; border-top: 1px solid var(--phfd-line); }
.phfd-lpc span { display: block; margin-bottom: 8px; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--phfd-ink3); }
.phfd-lpc div { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.phfd-lpc div::-webkit-scrollbar { display: none; }
.phfd .phfd-lpc button { flex: none; display: inline-flex; align-items: center; height: var(--pill-h, 32px); padding: var(--pill-pad, 0 11px); border-radius: 999px; border: 1.5px solid var(--phfd-line2); background: #fff; font-size: var(--pill-fs, 12.5px); font-weight: var(--pill-fw, 700); color: var(--phfd-ink); }
.phfd .phfd-lpc button.is-on { background: var(--phfd-ink); border-color: var(--phfd-ink); color: #fff; }
@media (max-width: 600px) {
	.phfd .phfd-lbk { display: inline-flex; align-items: center; align-self: flex-start; height: 32px; margin-bottom: 8px; padding: 0 12px; border-radius: 999px; background: #fff; font-size: 13px; font-weight: 700; color: var(--phfd-ink); }
	.phfd-lcr { display: none; }
}
.phfd .phfd-brw { display: block; padding: 6px 0 4px; text-align: center; font-size: 13.5px; font-weight: 800; color: var(--phfd-pinkp); }

/* ── Up next, on a computer ── */
.phfd-side { display: none; }

/* ── Computer: the place in a 9:16 column, Up next beside it, the
   filter panel from the right ── */
@media (min-width: 901px) {
	.phfd-main { left: 50%; right: auto; width: min(480px, 42vw); transform: translateX(-50%); }
	.phfd-top { padding: 18px 24px 0; }
	.phfd-act { left: 24px; right: auto; top: 72px; max-width: calc(50vw - 280px); flex-wrap: wrap; overflow: visible; }
	.phfd-sh { left: auto; top: 0; width: 440px; max-height: none; border-radius: 0; animation-name: phfd-in-r; }
	.phfd-sh.is-closing { animation-name: phfd-out-r; }
	.phfd-sh header::before { display: none; }
	.phfd-sh .phfd-moods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; margin: 0; padding: 0; }
	.phfd .phfd-sh .phfd-moods button { flex: none; }
	.phfd-side { display: block; position: absolute; left: calc(50% + min(240px, 21vw) + 24px); right: 24px; top: 90px; z-index: 5; max-width: 340px; }
	.phfd-side h4 { font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .55); }
	.phfd-nx { display: grid; gap: 8px; margin-top: 10px; }
	.phfd .phfd-nx button { display: flex; align-items: center; gap: 10px; padding: 8px; border-radius: 14px; background: rgba(255, 255, 255, .06); color: #fff; text-align: left; }
	.phfd .phfd-nx button:hover { background: rgba(255, 255, 255, .12); }
	.phfd-nx img, .phfd-nx i { flex: none; width: 44px; height: 60px; border-radius: 10px; object-fit: cover; background: #2b2f3c; }
	.phfd-nx b { display: block; font-size: 13.5px; }
	.phfd-nx small { font-size: 12px; color: rgba(255, 255, 255, .65); }
	.phfd-kb { margin-top: 18px; font-size: 12px; line-height: 1.6; color: rgba(255, 255, 255, .5); }
}
@keyframes phfd-in-r { from { transform: translateX(100%); } }
@keyframes phfd-out-r { to { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) {
	.phfd-sh, .phfd-shd, .phfd-toast { animation: none; transition: none; }
}
.phfd-noscript { padding: 80px 24px; text-align: center; }
