/* Vought Prism 27: mobile-first, accessible touch targets, no overlapping controls. */
:root{--pr27-line:#61547a;--pr27-hover:#a994e6;--pr27-bg:#201a32}
html{scroll-padding-top:70px}
:where(.community-layout,.feed,.postcard,.postinfo,.pr24-card-actions,.v11-detail-grid,.v11-detail-social){min-width:0}
:where(.postcard,.pr24-card){overflow:hidden;contain:layout style}
/* Exact two-row action bar: reactions on the first line, comment/save/share below. */
.pr24-card-actions{
 display:grid!important;grid-template-columns:minmax(0,1fr) auto 42px!important;
 gap:7px!important;align-items:center!important;justify-content:stretch!important;
 width:100%!important;min-width:0!important;overflow:visible!important;padding:11px!important;
}
.pr24-card-actions>.prism-card-reactions{
 grid-column:1/-1!important;grid-row:1!important;display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important;
 flex:none!important;flex-wrap:nowrap!important;width:100%!important;gap:7px!important;min-width:0!important;
}
.pr24-card-actions .prism-card-reactions>.prism-social-pill{
 display:flex!important;justify-content:center!important;align-items:center!important;
 flex:none!important;width:100%!important;min-width:0!important;min-height:42px!important;
 border-radius:13px!important;padding:8px 4px!important;gap:5px!important;
 color:#ded7ed;background:linear-gradient(170deg,#2b2440,#221b36);border:1px solid #514569;
 white-space:nowrap!important;position:static!important;transform:none;
}
.pr24-card-actions .prism-card-reactions>.prism-social-pill .prism-social-icon{width:18px!important;height:18px!important;flex:0 0 18px}
.pr24-card-actions .prism-card-reactions>.prism-social-pill .prism-social-number{font-size:12px!important;line-height:1;min-width:0}
.pr24-card-actions .prism-card-reactions>.prism-social-pill.is-selected{background:#5d417d!important;border-color:#c5a5ff!important;color:#fff!important}
.pr24-card-actions>.prism-comment-chip{
 grid-column:1!important;grid-row:2!important;display:flex!important;justify-content:center!important;
 flex:none!important;width:100%!important;min-width:0!important;min-height:42px!important;
 padding:7px 9px!important;white-space:nowrap!important;overflow:hidden!important;
 text-overflow:ellipsis!important;border-radius:13px!important;font-size:12px!important;font-weight:650!important;
}
.pr24-card-actions>.pr24-bookmark{
 grid-column:2!important;grid-row:2!important;justify-self:end!important;
 flex:none!important;width:auto!important;min-width:0!important;min-height:42px!important;
 padding:8px 11px!important;border-radius:13px!important;font-size:12px!important;
 white-space:nowrap!important;
}
.pr24-card-actions>.pr25-share-card{
 grid-column:3!important;grid-row:2!important;display:grid!important;place-items:center!important;
 width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
 margin:0!important;padding:0!important;position:static!important;border-radius:13px!important;
}
.pr24-card-actions :is(button,[role="button"]):focus-visible{outline:2px solid #b4e6ff;outline-offset:3px}
.comment-actions{display:flex!important;flex-wrap:wrap!important;align-items:center;gap:7px!important;min-width:0}
.comment-actions .prism-social-pill{min-width:40px!important;min-height:40px!important;margin:0!important}
.prism-card-reactions .prism-social-icon{display:inline-block!important}
/* Detail: keep author, social actions and comments independent of media dimensions. */
#detailDialog .v11-detail-social{min-width:0!important;overscroll-behavior:contain}
#detailDialog .prism-reactions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
#detailDialog .prism-reactions .prism-social-pill{min-width:0!important;min-height:44px!important;padding:9px!important;justify-content:center}
#detailDialog :is(.v11-post-title,.v11-post-description,.comment p){overflow-wrap:anywhere}
#detailDialog .pr24-detail-secondary{gap:9px!important}
/* Filters don't escape the viewport on 320px phones. */
.pr24-filterbar,.pr24-feed-tabs,.pr24-shortcuts,.feedhead{min-width:0!important;max-width:100%}
.pr24-filterbar :is(input,button,select){min-width:0}
.pr24-feed-tabs{overflow:auto;scrollbar-width:thin}
.community-header nav{display:flex;gap:clamp(8px,2vw,16px)}
/* Reels comments become a sheet: playback stays visible behind it on phones. */
.pr25-reel-comments{overscroll-behavior:contain}
.pr25-reel-comments-list{min-height:0}
.pr25-reel-actions button{touch-action:manipulation;transition:transform .16s ease,background .16s ease}
.pr25-reel-actions button:active{transform:scale(.94)}
.pr25-reel-foot{pointer-events:none}.pr25-reel-foot a{pointer-events:auto}
.pr25-reel-viewer{overscroll-behavior:none}
/* Profile: crop box first, sliders demoted to truly optional controls. */
.v11-assets>.pr26-crop-action{margin:9px 0!important}
.pr26-fine-tuning{margin:12px 0 18px!important;opacity:.9}
.pr26-fine-tuning summary{font-weight:650!important}
.pr26-crop-frame{outline:2px dashed #a797c9;outline-offset:9px}
.pr26-crop-frame:focus-visible{outline:3px solid #9fe9ff}
/* More expressive but restrained pixel-art companions. */
.pr27-sprite-cove{display:flex;align-items:center;gap:8px;max-width:100%;margin:12px 0;padding:8px 11px;
 border:1px solid #76609f77;border-radius:15px;background:linear-gradient(110deg,#2b214352,#3824482e);overflow:hidden}
.pr27-sprite-cove img{width:46px;height:46px;object-fit:contain;image-rendering:pixelated;
 filter:drop-shadow(0 7px 7px #0006);animation:pr27-bob 3.5s ease-in-out infinite}
.pr27-sprite-cove img:nth-child(2){animation-delay:-1.3s}.pr27-sprite-cove img:nth-child(3){animation-delay:-2.2s}
.pr27-sprite-cove span{min-width:0;margin-left:5px;font-size:11px;font-weight:750;letter-spacing:.02em;color:#ccbff1}
.pr25-mascot-row img{image-rendering:pixelated;animation:pr27-bob 4s ease-in-out infinite}
.pr25-mascot-row img:nth-child(2){animation-delay:-1.1s}.pr25-mascot-row img:nth-child(3){animation-delay:-2.1s}
@keyframes pr27-bob{0%,100%{transform:translateY(0)}48%{transform:translateY(-7px)}}
/* Manual photo controls: live preview and no microscopic sliders on touch screens. */
.pr27-precision{margin:17px 0;padding:14px 12px;background:linear-gradient(150deg,#292139,#191827);border:1px solid #765c9b;border-radius:16px;color:#eae4f7}
.pr27-precision h3{margin:0 0 6px;font-size:15px}.pr27-precision p{font-size:12px;line-height:1.5;color:#c6b6dc;margin:0 0 12px}
.pr27-adjust-preview{display:block;width:100%;height:auto;aspect-ratio:16/9;border:1px solid #66537e;border-radius:12px;object-fit:contain;background:#161020}
.pr27-adjust-controls{display:grid;gap:13px;margin:15px 0}
.pr27-adjust-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 9px;align-items:center;font-size:12px;font-weight:650}
.pr27-adjust-line output{font:700 12px ui-monospace,monospace;color:#a9ebff}
.pr27-adjust-line input{grid-column:1/-1;width:100%;height:25px;accent-color:#bca1ff;cursor:pointer}
.pr27-adjust-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pr27-adjust-actions button{min-width:0!important;min-height:42px;padding:8px!important;border-radius:10px!important;font-size:12px!important;white-space:normal}
.pr27-precision:focus-within{border-color:#9fdaff;box-shadow:0 0 0 2px #73c8f53a}
@media(max-width:720px){
 .community-layout{display:flex!important;flex-direction:column!important;gap:16px!important}
 .community-layout>.feed{width:100%!important;order:0}
 .community-layout>.community-side{width:100%!important;order:1}
 .feedhead{gap:8px!important}
 .pr24-filterbar{display:flex!important;flex-wrap:wrap!important}
 .pr24-feed-tabs{width:100%;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .pr24-feed-tabs button{min-height:42px!important;padding:7px 4px!important;font-size:11px}
 .pr24-search{flex:1 1 100%!important;width:100%!important}
 .pr24-search input{width:100%!important}
 .pr25-reel-comments{top:auto!important;bottom:0!important;left:0!important;right:0!important;
  height:min(58dvh,570px)!important;max-height:calc(100dvh - 90px)!important;width:100%!important;
  max-width:100%!important;border:1px solid #8667aa!important;border-bottom:0!important;
  border-radius:20px 20px 0 0!important;box-shadow:0 -19px 55px #000a!important;
  transform:translateY(101%)!important}
 .pr25-reel-comments.is-open{transform:translateY(0)!important}
 .pr25-reel-comments form{padding-bottom:max(12px,env(safe-area-inset-bottom))!important}
 .pr25-reel-actions{bottom:calc(100px + env(safe-area-inset-bottom))!important}
 .pr25-reel-foot{bottom:calc(93px + env(safe-area-inset-bottom))!important}
 .pr27-sprite-cove{margin:7px 0}
}
@media(max-width:370px){
 .pr24-card-actions{grid-template-columns:minmax(0,1fr) 42px!important;gap:6px!important;padding:8px!important}
 .pr24-card-actions>.prism-comment-chip{grid-column:1/-1!important;grid-row:2!important}
 .pr24-card-actions>.pr24-bookmark{grid-column:1!important;grid-row:3!important;justify-self:stretch!important;text-align:center!important}
 .pr24-card-actions>.pr25-share-card{grid-column:2!important;grid-row:3!important}
 .pr24-card-actions .prism-card-reactions>.prism-social-pill{padding:6px 2px!important;font-size:11px!important}
 .pr27-sprite-cove img{width:37px;height:37px}.pr27-sprite-cove img:nth-child(2){display:none}
}
@media(prefers-reduced-motion:reduce){.pr25-mascot-row img,.pr27-sprite-cove img,.pr25-reel-actions button{animation:none!important;transition:none!important}}
