/* Pulse Phase 56: versioned app icons, viewer-first navigation, and compact menu flow. */
:root{
  --phase56-safe-top:env(safe-area-inset-top,0px);
  --phase56-safe-right:env(safe-area-inset-right,0px);
  --phase56-safe-bottom:env(safe-area-inset-bottom,0px);
  --phase56-safe-left:env(safe-area-inset-left,0px);
}

/* The real Pulse artwork is used everywhere the brand mark appears. */
.phase56-brand-logo,.compact-brand .phase56-brand-logo{
  width:42px!important;height:42px!important;min-width:42px!important;object-fit:cover!important;
  border-radius:14px!important;box-shadow:0 8px 24px rgba(109,74,255,.32)!important;
  border:1px solid rgba(255,255,255,.18)!important;background:#24164a!important;
}
.phase54-phone-screen img[src*="pulse-app"],.phase54-modal-card img[src*="pulse-app"],.phase54-install-banner img[src*="pulse-app"]{
  object-fit:cover;background:#24164a;box-shadow:0 10px 28px rgba(109,74,255,.28);
}

/* Compact, organized drawer: quick destinations first, sections collapsed. */
.phase56-quick-section{grid-column:1/-1;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:.65rem;background:linear-gradient(135deg,rgba(109,74,255,.14),rgba(34,211,238,.06))}
.phase56-drawer-label{display:flex;align-items:end;justify-content:space-between;gap:.6rem;padding:.05rem .2rem .52rem}.phase56-drawer-label strong{font-size:.82rem}.phase56-drawer-label small{font-size:.68rem;color:var(--muted)}
.phase56-quick-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.42rem}
.phase56-quick-link{min-width:0;display:grid;place-items:center;gap:.2rem;text-align:center;text-decoration:none;color:var(--text);padding:.55rem .28rem;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(255,255,255,.055);transition:.16s ease}
.phase56-quick-link span{font-size:1.15rem}.phase56-quick-link em{font-style:normal;font-size:.69rem;font-weight:850;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phase56-quick-link:hover,.phase56-quick-link.active{background:linear-gradient(135deg,rgba(109,74,255,.34),rgba(236,72,153,.13));border-color:rgba(167,139,250,.38);transform:translateY(-1px)}
.phase56-drawer-section{display:block!important;padding:.45rem!important;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:rgba(255,255,255,.025);min-width:0}
.phase56-drawer-section>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.6rem;cursor:pointer;padding:.38rem .48rem;font-size:.77rem;font-weight:900;text-transform:none;letter-spacing:.01em;color:var(--text)}
.phase56-drawer-section>summary::-webkit-details-marker{display:none}.phase56-drawer-section>summary:after{content:'⌄';font-size:.72rem;color:var(--muted);transition:transform .15s ease}.phase56-drawer-section[open]>summary:after{transform:rotate(180deg)}
.phase56-drawer-section>summary small{margin-left:auto;color:var(--muted);font-size:.65rem;border:1px solid rgba(255,255,255,.09);border-radius:999px;padding:.08rem .34rem}
.phase56-section-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.34rem;padding:.38rem .12rem .1rem}.phase56-admin-section{grid-column:1/-1!important;max-height:none!important}.phase56-admin-section .phase56-section-links{grid-template-columns:repeat(4,minmax(0,1fr));max-height:280px;overflow:auto;padding-right:.2rem}
.phase56-drawer-section:not([open]) .phase56-section-links{display:none}.phase56-drawer-section .drawer-link{min-height:38px!important;padding:.43rem .48rem!important;border-radius:12px!important;font-size:.75rem!important}.phase56-drawer-section .drawer-link span{width:24px!important;height:24px!important;border-radius:9px!important;font-size:.72rem!important}

/* Viewer-first conversation layer: full browser, compact top bar, no full-page escape button. */
.phase56-post-modal{padding:max(.45rem,var(--phase56-safe-top)) max(.45rem,var(--phase56-safe-right)) max(.45rem,var(--phase56-safe-bottom)) max(.45rem,var(--phase56-safe-left))!important;place-items:center!important}
.phase56-post-modal .phase45-post-modal-shell{width:min(930px,calc(100vw - 1rem))!important;height:min(96dvh,980px)!important;max-height:calc(100dvh - var(--phase56-safe-top) - var(--phase56-safe-bottom) - .9rem)!important;border-radius:24px!important}
.phase56-post-modal .phase45-post-modal-top{padding:.58rem .68rem!important;min-height:58px;background:rgba(11,12,29,.96);backdrop-filter:blur(18px)}
.phase56-post-modal-title img{width:38px;height:38px;min-width:38px;border-radius:13px;object-fit:cover;box-shadow:0 7px 20px rgba(109,74,255,.34);border:1px solid rgba(255,255,255,.18)}
.phase56-post-modal .phase45-post-modal-actions button{min-height:38px;padding:.42rem .68rem!important}.phase56-post-modal .phase45-post-modal-actions [data-phase45-close]{width:40px;padding:0!important;display:grid;place-items:center;font-size:1.12rem}
.phase56-post-modal .phase46-post-frame-wrap{background:#0b0d1d}.phase56-post-modal .phase45-post-modal-frame{background:#0b0d1d}
body.phase45-post-modal-page .phase45-post-modal-content{max-width:800px!important;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}
body.phase45-post-modal-page .card.post{margin-bottom:.65rem!important;border-radius:18px!important}
body.phase45-post-modal-page #comments{position:relative!important;top:auto!important;border-radius:18px!important;margin:.65rem 0!important}
body.phase45-post-modal-page .comment-thread-list{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))!important}

/* Comment opens the conversation viewer and stays compact in every card. */
.pulse-actions [data-phase46-comment-action]{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.36rem!important;white-space:nowrap!important}
.pulse-actions [data-phase46-comment-action] b{display:grid;place-items:center;min-width:21px;height:21px;padding:0 .3rem;border-radius:999px;background:rgba(255,255,255,.1);font-size:.68rem}
.phase56-public-stats a{color:inherit;text-decoration:none}.phase56-public-stats a:hover{text-decoration:underline;color:var(--text)}

/* Media viewer remains the only destination for media.php links. */
.phase32-media-modal .phase47-media-brand img{width:42px!important;height:42px!important;object-fit:cover!important;border-radius:14px!important;display:block!important}
.phase32-media-modal a[href*="media.php?id="],[data-phase32-media-open]{cursor:zoom-in}

/* Installed-app safe areas and quick navigation. */
html.phase55-standalone .phase16-topbar{padding-top:calc(.58rem + var(--phase56-safe-top))!important;padding-left:max(.8rem,var(--phase56-safe-left))!important;padding-right:max(.8rem,var(--phase56-safe-right))!important}
html.phase55-standalone .bottom-nav{padding-bottom:calc(.35rem + var(--phase56-safe-bottom))!important}

@media(max-width:900px){
  .phase56-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.phase56-admin-section .phase56-section-links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .phase56-post-modal{padding:0!important;place-items:stretch!important}
  .phase56-post-modal .phase45-post-modal-shell{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;border:0!important}
  .phase56-post-modal .phase45-post-modal-top{padding-top:calc(.5rem + var(--phase56-safe-top))!important;padding-left:max(.58rem,var(--phase56-safe-left))!important;padding-right:max(.58rem,var(--phase56-safe-right))!important}
  .phase56-post-modal .phase45-post-modal-title small{display:none!important}.phase56-post-modal .phase45-post-modal-title strong{font-size:.88rem!important}
  .phase56-post-modal .phase45-post-modal-actions [data-phase45-share]{font-size:.72rem!important;padding:.36rem .52rem!important}.phase56-post-modal .phase45-post-modal-actions [data-phase45-close]{width:42px!important;height:42px!important}
  .phase16-drawer{grid-template-columns:1fr!important;padding-bottom:calc(.7rem + var(--phase56-safe-bottom))!important}.phase56-quick-section{grid-column:1!important}.phase56-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.phase56-section-links,.phase56-admin-section .phase56-section-links{grid-template-columns:1fr 1fr!important;max-height:280px}.phase56-drawer-section{grid-column:1!important}
  .pulse-actions [data-phase46-comment-action] span{font-size:.74rem}.pulse-actions [data-phase46-comment-action] b{min-width:19px;height:19px}
}
@media(max-width:390px){.phase56-section-links,.phase56-admin-section .phase56-section-links{grid-template-columns:1fr!important}.phase56-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
