/* Pulse Phase 70 · Unified Viewer + Responsive Shell Revamp */
:root{--p70-vvh:100dvh;--p70-stage-mobile:56%;--p70-viewer-panel:clamp(360px,32vw,470px);--p70-topbar-h:54px}
html,body{max-width:100%;overflow-x:hidden}
body.phase70-viewer-open{overflow:hidden!important;overscroll-behavior:none;touch-action:auto}

/* Header/navigation authority: prevent accumulated phase rules from overlapping text. */
.topbar.phase16-topbar{box-sizing:border-box!important;min-width:0!important;max-width:100vw!important;gap:.55rem!important}
.topbar.phase16-topbar>*{min-width:0}
.compact-brand{min-width:0!important;max-width:min(38vw,280px)!important}.compact-brand>span{min-width:0}.compact-brand strong,.compact-brand small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.phase70-guest-actions{display:flex;align-items:center;gap:.4rem;flex:0 0 auto}.phase70-login-pill,.phase70-join-pill{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.48rem .82rem;border-radius:13px;text-decoration:none;font-weight:900;white-space:nowrap}.phase70-login-pill{color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13)}.phase70-join-pill{color:#fff;background:linear-gradient(135deg,#7c3aed,#ec4899);box-shadow:0 8px 24px rgba(124,58,237,.24)}
.phase16-drawer{box-sizing:border-box!important}.phase16-drawer .drawer-head,.phase16-drawer .drawer-section,.phase16-drawer .phase56-section-links,.phase16-drawer .drawer-link{min-width:0!important;max-width:100%!important}.phase16-drawer .drawer-link{overflow:hidden!important}.phase16-drawer .drawer-link em{display:block!important;min-width:0!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.18!important}.phase16-drawer summary span{min-width:0;overflow-wrap:anywhere}.phase56-quick-link em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* One viewer shell for post, photo and video. */
.phase70-viewer-modal[hidden]{display:none!important}.phase70-viewer-modal{position:fixed;inset:0;z-index:2147483600;background:#050711;color:#f7f8ff;display:grid;grid-template-rows:var(--p70-topbar-h) minmax(0,1fr);height:var(--p70-vvh);width:100vw;overflow:hidden;isolation:isolate}
.phase70-viewer-topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;height:var(--p70-topbar-h);padding:calc(.35rem + env(safe-area-inset-top)*.15) max(.55rem,env(safe-area-inset-right)) .35rem max(.55rem,env(safe-area-inset-left));border-bottom:1px solid rgba(255,255,255,.08);background:rgba(7,9,19,.96);backdrop-filter:blur(18px);z-index:30}
.phase70-viewer-leading{display:flex;align-items:center;gap:.28rem;min-width:0}.phase70-viewer-brand{display:flex;align-items:center;gap:.45rem;color:inherit;text-decoration:none;min-width:0}.phase70-viewer-brand img{width:34px;height:34px;border-radius:11px;object-fit:cover}.phase70-viewer-brand strong{font-size:.9rem;white-space:nowrap}.phase70-viewer-title{min-width:0;text-align:center}.phase70-viewer-title strong,.phase70-viewer-title small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phase70-viewer-title strong{font-size:.9rem}.phase70-viewer-title small{font-size:.67rem;color:#aab2c8;margin-top:.05rem}.phase70-viewer-tools{display:flex;align-items:center;justify-content:flex-end;gap:.3rem;min-width:0}.phase70-viewer-tools button{border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.065);color:#fff;border-radius:12px;min-width:38px;height:38px;padding:.35rem .55rem;font:800 .76rem/1 system-ui;cursor:pointer}.phase70-viewer-tools button:hover{background:rgba(139,92,246,.18)}.phase70-viewer-close{font-size:1.2rem!important}
.phase70-viewer-body{min-height:0;min-width:0;overflow:hidden}.phase70-viewer-layout{--p70-stage-mobile-local:var(--p70-stage-mobile);height:100%;width:100%;display:grid;grid-template-columns:minmax(0,1fr) var(--p70-viewer-panel);grid-template-rows:minmax(0,1fr);background:#070914;min-width:0;min-height:0;position:relative}
.phase70-viewer-stage{grid-column:1;grid-row:1;min-width:0;min-height:0;overflow:hidden;position:relative;display:flex;align-items:stretch;justify-content:center;background:radial-gradient(circle at 50% 35%,rgba(40,45,70,.34),transparent 52%),#02040a;border-right:1px solid rgba(255,255,255,.075)}
.phase70-viewer-stage-scroll{width:100%;height:100%;min-height:0;overflow:auto;padding:clamp(.5rem,1.5vw,1.25rem);overscroll-behavior:contain;scrollbar-gutter:stable}.phase70-viewer-stage-scroll>.post{width:min(100%,820px);margin:auto!important}.phase70-viewer-stage-scroll>.post .media-grid{max-height:none}.phase70-viewer-stage-scroll>.post .post-content{font-size:clamp(.96rem,1.25vw,1.08rem);line-height:1.55}
.phase70-viewer-stage-media{width:100%;height:100%;min-width:0;min-height:0;display:grid;place-items:center;overflow:hidden;padding:clamp(4px,1vw,12px)}
.phase70-viewer-stage-media .phase47-media-stage,.phase70-viewer-stage-media .phase32-media-stage{position:relative!important;inset:auto!important;grid-column:auto!important;grid-row:auto!important;width:100%!important;height:100%!important;max-height:none!important;min-height:0!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;display:grid!important;place-items:center!important;overflow:hidden!important}
.phase70-viewer-stage-media .phase44-photo-zoom-wrap,.phase70-viewer-stage-media .phase49-photo-zoom{width:100%!important;height:100%!important;min-height:0!important;display:grid!important;place-items:center!important;overflow:hidden!important;position:relative!important}
.phase70-viewer-stage-media img.phase49-zoom-target,.phase70-viewer-stage-media img.phase44-zoom-target{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;margin:auto!important;transform-origin:center center}
.phase70-viewer-stage-media video{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;background:#000}
.phase70-viewer-stage-media .phase49-zoom-controls{right:10px!important;bottom:10px!important;left:auto!important;top:auto!important;max-width:calc(100% - 20px)!important;z-index:40!important}.phase70-viewer-stage-media .phase49-zoom-help{bottom:58px!important}
.phase70-viewer-panel{grid-column:2;grid-row:1;min-width:0;min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:linear-gradient(180deg,#0e1120,#090b14)}
.phase70-viewer-panel>.phase47-media-panel-head{position:relative!important;top:auto!important;left:auto!important;right:auto!important;width:100%!important;height:auto!important;min-height:0!important;max-height:148px!important;overflow:auto!important;padding:.65rem .75rem .5rem!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.075)!important;background:rgba(12,14,27,.98)!important;z-index:5!important;scrollbar-width:thin}
.phase70-viewer-panel>.phase47-media-conversation,.phase70-post-conversation{display:grid!important;grid-template-rows:36px minmax(0,1fr) auto!important;min-height:0!important;height:100%!important;max-height:100%!important;overflow:hidden!important;background:transparent!important}
.phase70-viewer-panel .phase47-media-comments-title,.phase70-post-comments-title{height:36px!important;min-height:36px!important;padding:.36rem .65rem!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.06)!important;background:rgba(10,12,24,.98)!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
.phase70-post-comments-title strong{font-size:.79rem}.phase70-post-comments-title small{color:#9ca6bf;font-size:.66rem;margin-left:.35rem}
.phase70-viewer-panel .phase47-media-comment-scroll,.phase70-post-comments{position:relative!important;inset:auto!important;height:auto!important;min-height:0!important;max-height:none!important;width:100%!important;overflow-y:auto!important;overflow-x:hidden!important;margin:0!important;padding:.6rem .7rem 1rem!important;border:0!important;border-radius:0!important;background:transparent!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;scrollbar-gutter:stable}
.phase70-viewer-panel .phase47-media-composer,.phase70-post-composer{position:relative!important;inset:auto!important;width:100%!important;min-height:0!important;margin:0!important;padding:.5rem .62rem calc(.55rem + env(safe-area-inset-bottom))!important;border:0!important;border-top:1px solid rgba(255,255,255,.08)!important;background:rgba(7,9,18,.99)!important;z-index:12!important;box-shadow:0 -10px 30px rgba(0,0,0,.18)!important}
.phase70-post-composer.card{border-radius:0!important}.phase70-post-composer p{margin:.35rem 0 0!important}.phase70-post-composer textarea,.phase70-viewer-panel .phase47-media-composer textarea{min-height:42px!important;max-height:112px!important;resize:none!important}
.phase70-viewer-panel .comment-thread-item,.phase70-viewer-panel .phase32-media-comment{max-width:100%!important;min-width:0!important}.phase70-viewer-panel .comment-body,.phase70-viewer-panel .phase32-media-comment-body{min-width:0!important}.phase70-viewer-panel .comment-bubble,.phase70-viewer-panel .phase32-media-comment-body>p{max-width:100%!important;overflow-wrap:anywhere!important}.phase70-viewer-panel .comment-actions{flex-wrap:wrap!important;gap:.25rem!important}.phase70-viewer-panel .comment-heading,.phase70-viewer-panel .muted{overflow-wrap:anywhere}
.phase70-resizer{display:none}.phase70-viewer-loading,.phase70-viewer-error{margin:auto;align-self:center;padding:1rem 1.2rem;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:#d8deef}.phase70-viewer-error{color:#fecaca}
.phase70-viewer-back{display:none!important}.phase70-viewer-modal.has-history .phase70-viewer-back{display:inline-flex!important}
.phase70-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:45;width:42px;height:56px;border-radius:15px;border:1px solid rgba(255,255,255,.12);background:rgba(3,5,12,.7);color:#fff;font-size:1.65rem;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px)}.phase70-viewer-prev{left:8px}.phase70-viewer-next{right:8px}.phase70-viewer-nav[hidden]{display:none!important}
.phase70-split-tabs{display:none}

/* Suppress the legacy post iframe viewer when Phase 70 owns the experience. */
body.phase70-viewer-open .phase45-post-modal{display:none!important}

@media(max-width:900px){
  :root{--p70-topbar-h:50px;--p70-stage-mobile:55%}
  .topbar.phase16-topbar{grid-template-columns:minmax(0,1fr) auto auto!important;padding:max(.45rem,env(safe-area-inset-top)) 8px .45rem!important;gap:.38rem!important}.compact-brand{max-width:none!important}.compact-brand small{display:none!important}.compact-brand strong{max-width:40vw!important;font-size:.92rem}.phase16-search{display:none!important}.phase29-action-cluster{display:none!important}.phase70-guest-actions{gap:.28rem}.phase70-login-pill,.phase70-join-pill{min-height:38px;padding:.42rem .62rem;font-size:.78rem}.nav-toggle.phase16-menu-btn{min-width:42px!important;width:42px!important;min-height:40px!important;padding:0!important;font-size:0!important}.nav-toggle.phase16-menu-btn::first-letter{font-size:0}.nav-toggle.phase16-menu-btn{font-size:1.1rem!important}.nav-toggle.phase16-menu-btn span{display:none!important}
  .phase16-drawer{position:fixed!important;top:calc(58px + env(safe-area-inset-top))!important;bottom:calc(82px + env(safe-area-inset-bottom))!important;left:7px!important;right:7px!important;width:auto!important;max-width:none!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;padding:.65rem!important;grid-template-columns:1fr!important;align-content:start!important;gap:.55rem!important}.phase16-drawer .drawer-head{position:sticky;top:-.65rem;z-index:10;background:rgba(12,15,29,.98);margin:-.65rem -.65rem 0;padding:.65rem;border-bottom:1px solid rgba(255,255,255,.08)}.phase56-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.phase56-quick-link{min-width:0!important;padding:.55rem .25rem!important}.phase56-quick-link em{font-size:.68rem!important}.phase56-section-links,.phase56-admin-section .phase56-section-links{grid-template-columns:1fr!important;max-height:none!important}.phase16-drawer .drawer-link{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;align-items:center!important;min-height:46px!important;padding:.62rem .7rem!important}.phase16-drawer .drawer-link span{width:30px!important;height:30px!important}.phase16-drawer .drawer-link em{font-size:.82rem!important;line-height:1.22!important}
  .phase70-viewer-modal{height:var(--p70-vvh);grid-template-rows:calc(var(--p70-topbar-h) + env(safe-area-inset-top)*.15) minmax(0,1fr)}.phase70-viewer-topbar{padding-left:max(.35rem,env(safe-area-inset-left));padding-right:max(.35rem,env(safe-area-inset-right));gap:.35rem}.phase70-viewer-brand strong{display:none}.phase70-viewer-brand img{width:32px;height:32px}.phase70-viewer-title strong{font-size:.8rem}.phase70-viewer-title small{font-size:.61rem}.phase70-viewer-tools{gap:.2rem}.phase70-viewer-tools button{height:36px;min-width:36px;padding:.3rem .42rem;font-size:.68rem}.phase70-share-label{display:none}
  .phase70-viewer-layout{grid-template-columns:1fr!important;grid-template-rows:minmax(150px,var(--p70-stage-mobile-local)) 8px minmax(0,1fr)!important;height:100%!important}.phase70-viewer-stage{grid-column:1!important;grid-row:1!important;border-right:0!important;border-bottom:0!important;min-height:0!important}.phase70-viewer-panel{grid-column:1!important;grid-row:3!important;height:auto!important;min-height:0!important;border-top:0!important}.phase70-resizer{grid-column:1;grid-row:2;display:flex;align-items:center;justify-content:center;position:relative;background:#080a13;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);cursor:ns-resize;touch-action:none;z-index:20}.phase70-resizer:before{content:"";width:48px;height:4px;border-radius:99px;background:rgba(255,255,255,.28)}
  .phase70-viewer-stage-scroll{padding:.45rem .42rem .7rem!important}.phase70-viewer-stage-scroll>.post{border-radius:18px!important;margin:0 auto!important}.phase70-viewer-stage-scroll>.post .post-head{padding-top:.1rem}.phase70-viewer-stage-scroll>.post .post-content{font-size:.9rem!important}.phase70-viewer-stage-scroll>.post .actions{overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none}.phase70-viewer-stage-scroll>.post .actions>*{flex:0 0 auto!important}.phase70-viewer-stage-scroll>.post .media-grid{border-radius:14px!important;overflow:hidden}
  .phase70-viewer-stage-media{padding:3px!important}.phase70-viewer-stage-media .phase49-zoom-controls{right:6px!important;bottom:6px!important;transform:scale(.88)!important;transform-origin:right bottom!important}.phase70-viewer-stage-media .phase49-zoom-help{display:none!important}
  .phase70-viewer-panel>.phase47-media-panel-head{max-height:92px!important;padding:.4rem .55rem .35rem!important;overflow:hidden!important}.phase70-viewer-panel .phase47-media-owner.phase61-media-owner{gap:.42rem!important}.phase70-viewer-panel .phase61-owner-avatar img,.phase70-viewer-panel .phase47-media-owner .avatar{width:30px!important;height:30px!important}.phase70-viewer-panel .phase61-owner-name strong{font-size:.78rem!important}.phase70-viewer-panel .phase61-owner-meta{font-size:.6rem!important}.phase70-viewer-panel .phase47-media-owner h2{display:none!important}.phase70-viewer-panel .phase47-media-caption{font-size:.7rem!important;line-height:1.2!important;max-height:2.4em!important;margin:.2rem 0!important;overflow:hidden!important}.phase70-viewer-panel .phase61-viewer-actions{margin-top:.18rem!important;gap:.25rem!important}.phase70-viewer-panel .phase61-viewer-actions .btn{min-height:28px!important;padding:.28rem .45rem!important;font-size:.65rem!important}
  .phase70-viewer-panel>.phase47-media-conversation,.phase70-post-conversation{grid-template-rows:32px minmax(0,1fr) auto!important}.phase70-viewer-panel .phase47-media-comments-title,.phase70-post-comments-title{height:32px!important;min-height:32px!important;padding:.25rem .5rem!important}.phase70-viewer-panel .phase47-media-comment-scroll,.phase70-post-comments{padding:.45rem .48rem .8rem!important}.phase70-viewer-panel .phase47-media-composer,.phase70-post-composer{padding:.38rem .45rem calc(.42rem + env(safe-area-inset-bottom))!important}.phase70-viewer-panel .phase47-media-composer textarea,.phase70-post-composer textarea{height:38px!important;min-height:38px!important;max-height:82px!important;font-size:.8rem!important}.phase70-viewer-panel .phase44-comment-kit,.phase70-viewer-panel .phase61-comment-toolbar,.phase70-viewer-panel .phase44-kit-toolbar{max-width:100%!important;overflow-x:auto!important;flex-wrap:nowrap!important}.phase70-viewer-panel .phase44-comment-kit button,.phase70-viewer-panel .phase61-comment-toolbar>*{flex:0 0 auto!important}
  .phase70-viewer-nav{width:34px;height:46px;font-size:1.35rem;border-radius:12px}.phase70-viewer-prev{left:3px}.phase70-viewer-next{right:3px}
  .phase70-split-tabs{display:flex;position:absolute;right:8px;bottom:8px;z-index:50;padding:3px;gap:2px;border-radius:12px;background:rgba(5,7,15,.76);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.09)}.phase70-split-tabs button{border:0;background:transparent;color:#dbe1f0;border-radius:9px;padding:.35rem .42rem;font-size:.62rem;font-weight:850}.phase70-split-tabs button.active{background:rgba(139,92,246,.32);color:#fff}
  .phase70-viewer-layout[data-balance="media"]{--p70-stage-mobile-local:72%}.phase70-viewer-layout[data-balance="chat"]{--p70-stage-mobile-local:36%}.phase70-viewer-layout[data-balance="split"]{--p70-stage-mobile-local:55%}
  body.phase70-keyboard .phase70-viewer-layout{--p70-stage-mobile-local:30%!important}.phase70-viewer-modal.phase70-post-mode .phase70-viewer-layout[data-balance="split"]{--p70-stage-mobile-local:48%}
  /* Override older Phase 69 fixed reaction shelf so it cannot drift outside the viewer. */
  .phase70-viewer-modal .phase32-media-comment-reaction-picker,.phase70-viewer-modal .phase32-media-reaction-picker,.phase70-viewer-modal .comment-reaction-picker{position:fixed!important;left:8px!important;right:8px!important;bottom:calc(72px + env(safe-area-inset-bottom))!important;top:auto!important;max-width:calc(100vw - 16px)!important;width:auto!important;transform:none!important;z-index:2147483640!important;overflow-x:auto!important;justify-content:center!important}
}
@media(max-width:520px){.phase56-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.phase70-join-pill{display:none}.compact-brand strong{max-width:47vw!important}.phase70-viewer-title small{display:none}.phase70-viewer-tools button[data-phase70-share]{display:none}.phase70-viewer-panel>.phase47-media-panel-head{max-height:80px!important}.phase70-viewer-layout[data-balance="split"]{--p70-stage-mobile-local:53%}}
@media(max-width:380px){.phase70-login-pill{padding:.4rem .52rem;font-size:.72rem}.compact-brand img{width:35px!important;height:35px!important}.compact-brand strong{font-size:.82rem!important}.phase56-quick-grid{grid-template-columns:1fr 1fr!important}.phase70-viewer-tools button{min-width:33px;width:33px;padding:0}.phase70-viewer-title strong{font-size:.74rem}}
@media(max-width:900px) and (orientation:landscape){.phase70-viewer-layout{grid-template-columns:minmax(0,58%) minmax(0,42%)!important;grid-template-rows:1fr!important}.phase70-viewer-stage{grid-column:1!important;grid-row:1!important}.phase70-resizer{display:none!important}.phase70-viewer-panel{grid-column:2!important;grid-row:1!important}.phase70-split-tabs{display:none!important}.phase70-viewer-panel>.phase47-media-panel-head{max-height:92px!important}.phase70-viewer-nav.phase70-viewer-next{right:42vw}}
@media(min-width:901px){.phase70-viewer-layout[data-balance="media"]{grid-template-columns:minmax(0,1fr) 330px}.phase70-viewer-layout[data-balance="chat"]{grid-template-columns:minmax(0,.72fr) minmax(420px,.58fr)}.phase70-viewer-stage-scroll>.post{padding:1.05rem!important}}
@media(prefers-reduced-motion:reduce){.phase70-viewer-modal *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
