/* ------------------------------------------------------------------
   PHONE FEED — iPhone mockup with a scrollable IG / TikTok-style feed.
   Auto-advances every N seconds; pauses on interaction. Sized for the
   1920×1080 stage (default 360×740, scale with --pf-scale).
   ------------------------------------------------------------------ */
.phone-feed{--pf-w:360px;--pf-h:740px;position:absolute;z-index:30;width:var(--pf-w);height:var(--pf-h);
  border-radius:58px;padding:12px;background:linear-gradient(145deg,#2b2b2e,#0d0d0f 40%,#1c1c1f);
  box-shadow:0 0 0 2px #3a3a3e,0 0 0 6px #111,0 40px 80px rgba(0,0,0,.6),inset 0 0 2px rgba(255,255,255,.25)}
.phone-feed::before{content:"";position:absolute;left:50%;top:22px;width:110px;height:32px;margin-left:-55px;border-radius:20px;background:#000;z-index:5}
.pf-screen{position:relative;width:100%;height:100%;border-radius:46px;overflow:hidden;background:#000}
.pf-status{position:absolute;left:0;right:0;top:0;height:52px;z-index:4;display:flex;justify-content:space-between;align-items:center;padding:0 30px 0 34px;
  font:600 15px/1 -apple-system,'SF Pro Text','Helvetica Neue',Arial,sans-serif;color:#fff;pointer-events:none}
.pf-status i{display:inline-block;width:24px;height:11px;border:1.5px solid #fff;border-radius:3px;position:relative}
.pf-status i::after{content:"";position:absolute;left:1px;top:1px;bottom:1px;width:70%;background:#fff;border-radius:1px}
.pf-scroll{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain;scroll-behavior:smooth}
.pf-scroll::-webkit-scrollbar{display:none}
.pf-post{position:relative;height:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;color:#fff;
  font-family:-apple-system,'SF Pro Text','Helvetica Neue',Arial,sans-serif}
.pf-post img.media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* TikTok-style */
.pf-tt .pf-post::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35) 0,transparent 18%,transparent 55%,rgba(0,0,0,.75) 100%);pointer-events:none}
.pf-tt .tabs{position:absolute;top:58px;left:0;right:0;z-index:3;text-align:center;font-size:15px;font-weight:600;color:rgba(255,255,255,.7)}
.pf-tt .tabs b{color:#fff;border-bottom:2px solid #fff;padding-bottom:4px;margin-left:16px}
.pf-tt .pf-rail{position:absolute;right:10px;bottom:120px;z-index:3;display:flex;flex-direction:column;align-items:center;gap:16px;font-size:12px;font-weight:600}
.pf-tt .pf-rail .av{width:44px;height:44px;border-radius:50%;border:2px solid #fff;background:#333 center/cover}
.pf-tt .pf-rail span{display:flex;flex-direction:column;align-items:center;gap:4px}
.pf-tt .pf-rail svg{width:30px;height:30px;fill:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.pf-tt .cap{position:absolute;left:14px;right:70px;bottom:26px;z-index:3;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.3}
.pf-tt .cap b{font-size:15px}
.pf-tt .cap small{font-size:12px;opacity:.85}

/* Instagram-style */
.pf-ig .pf-screen{background:#000}
.pf-ig .pf-post{display:flex;flex-direction:column;padding-top:52px}
.pf-ig .top{height:52px;display:flex;align-items:center;gap:10px;padding:0 14px;font-size:14px;font-weight:600;flex:none}
.pf-ig .top .av{width:32px;height:32px;border-radius:50%;background:#333 center/cover;box-shadow:0 0 0 2px #000,0 0 0 4px #E01B1F}
.pf-ig .top em{margin-left:auto;font-style:normal;font-size:20px;letter-spacing:2px}
.pf-ig .media-wrap{position:relative;flex:none;width:100%;aspect-ratio:4/5;background:#111;overflow:hidden}
.pf-ig .media-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pf-ig .acts{display:flex;gap:16px;padding:10px 14px 6px;flex:none}
.pf-ig .acts svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:1.8}
.pf-ig .acts svg.save{margin-left:auto}
.pf-ig .meta{padding:0 14px;font-size:13.5px;line-height:1.35;display:flex;flex-direction:column;gap:4px}
.pf-ig .meta b{font-weight:600}
.pf-ig .meta small{color:rgba(255,255,255,.55);font-size:11.5px;text-transform:uppercase;letter-spacing:.02em}

/* source chip under the phone */
.pf-source{position:absolute;z-index:31;font-family:'Chivo Mono',ui-monospace,monospace;font-size:13px;color:rgba(244,239,234,.7);letter-spacing:.04em;text-align:center}
.pf-dots{position:absolute;right:-22px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:6px;z-index:31}
.pf-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.3);transition:background .2s,transform .2s}
.pf-dots i.on{background:#FF3B2F;transform:scale(1.4)}
.calm .pf-scroll{scroll-behavior:auto}
