:root{--accent:#e6007a;--soft:#ffe6f3;--ink:#000;--sub:#333;--line:#e1e3e6;--bg:#fff;--page:#f0f2f5;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);color-scheme:light}
body .ui-toast-region{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
:root[data-theme="blue"]{--accent:#1366f0;--soft:#e6efff}
:root[data-theme="green"]{--accent:#0f766e;--soft:#dcf5f1}
:root[data-theme="purple"]{--accent:#6d28d9;--soft:#ede4fc}
:root[data-theme="amber"]{--accent:#b45309;--soft:#fdeedb}
*,*::before,*::after{box-sizing:inherit}
[hidden]{display:none!important}
html,body{margin:0}
body{background:var(--page);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none;text-align:inherit}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.bar{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:10px 16px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:22px;letter-spacing:-.4px;white-space:nowrap}
.logo img{display:block;width:34px;height:34px}
.brand{display:block;margin:0 auto 10px;width:150px;height:auto}
.search{flex:1;max-width:420px;margin-left:12px}
.search input{width:100%;border:0;background:var(--page);border-radius:999px;padding:11px 18px}
.search input::placeholder{color:var(--sub);opacity:1}
.themes{display:flex;gap:8px;margin-left:auto}
.themes button{width:28px;height:28px;border-radius:50%;border:3px solid var(--bg);box-shadow:0 0 0 1px var(--line)}
.themes button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--ink)}
.t-pink{background:#e6007a}.t-blue{background:#1366f0}.t-green{background:#0f766e}.t-purple{background:#6d28d9}.t-amber{background:#b45309}
.out{border:1px solid var(--line);border-radius:999px;padding:7px 16px;font-weight:500;background:var(--bg)}
.out:hover{background:var(--page)}
.av{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:600;font-size:18px}
.av.sm{width:34px;height:34px;font-size:14px}
.av.lg{width:72px;height:72px;font-size:30px;border:4px solid var(--bg)}
.wrap{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:260px minmax(0,640px) 320px;justify-content:center;gap:24px;padding:20px 16px 96px}
aside{position:sticky;top:84px;align-self:start;display:flex;flex-direction:column;gap:14px}
.card{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.mecard{display:flex;align-items:center;gap:12px;width:100%}
.mecard:hover{background:#fafafa}
.who{flex:1;min-width:0}
.who b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.who span{display:block;font-size:14px;color:var(--sub)}
.who a{text-decoration:none}
.who a:hover{text-decoration:underline}
.nav{padding:8px}
.nav button{display:flex;align-items:center;gap:14px;width:100%;padding:11px 12px;border-radius:12px;font-size:17px}
.nav button:hover{background:var(--page)}
.nav button.act{background:var(--soft);color:var(--accent);font-weight:500}
.nav svg{width:24px;height:24px;flex:none}
h3{margin:0 0 8px;font-size:17px;font-weight:600}
.stories{display:flex;gap:14px;overflow-x:auto;padding:2px 2px 16px;scrollbar-width:none}
.stories::-webkit-scrollbar{display:none}
.story{flex:none;width:76px;text-align:center;font-size:13px}
.story span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ring{width:70px;height:70px;border-radius:50%;padding:3px;margin:0 auto 6px;background:linear-gradient(45deg,color-mix(in srgb,var(--accent) 35%,#fff),var(--accent))}
.ring .av{width:100%;height:100%;border:3px solid var(--bg);font-size:24px}
.ring.add{background:var(--line)}
.ring.add .av{background:var(--bg)!important;color:var(--accent);font-size:32px;font-weight:300}
.compose{display:flex;gap:12px;align-items:flex-start}
.compose textarea{flex:1;border:0;background:var(--page);border-radius:22px;padding:12px 18px;resize:none;min-height:50px}
.compose textarea::placeholder{color:var(--sub);opacity:1}
.cbar{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;font-weight:500;background:var(--soft);color:var(--accent);cursor:pointer}
#count{font-size:14px;color:var(--sub)}
.btn{margin-left:auto;background:var(--accent);color:#fff;font-weight:600;padding:10px 26px;border-radius:999px}
.btn:disabled{opacity:.4;cursor:not-allowed}
.preview{position:relative;margin-top:12px}
.preview img{display:block;width:100%;max-height:420px;object-fit:cover;border-radius:12px}
.pv{position:relative}
.preview.multi{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.preview.multi img{aspect-ratio:1/1;max-height:none}
.x{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;background:#000;color:#fff;font-size:20px;line-height:1;text-align:center}
.post{padding:0;margin-bottom:16px;overflow:hidden}
.ph{display:flex;align-items:center;gap:12px;padding:14px 16px 8px}
.more{width:40px;height:40px;border-radius:50%;display:grid;place-items:center}
.more:hover{background:var(--page)}
.more svg{width:20px;height:20px}
.txt{padding:4px 16px 14px;white-space:pre-wrap;overflow-wrap:anywhere}
.txt.big{font-size:20px;line-height:1.45}
.pimg{display:block;width:100%;max-height:640px;object-fit:cover;background:var(--page)}
.pgal{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.pgal .pimg{aspect-ratio:1/1;max-height:none;height:100%}
.pgal.n3 .pimg:first-child{grid-column:1/-1;aspect-ratio:2/1}
.acts{display:flex;align-items:center;gap:2px;padding:6px 10px}
.acts button{display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;font-size:15px}
.acts button:hover{background:var(--page)}
.acts svg{width:24px;height:24px}
.acts .on{color:var(--accent)}
.acts .on svg{fill:var(--accent)}
.acts .sv{margin-left:auto}
.acts .sv.on{color:var(--ink)}
.acts .sv.on svg{fill:var(--ink)}
.coms{padding:6px 16px 16px;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line)}
.com{display:flex;gap:10px;margin-top:6px}
.com div{background:var(--page);border-radius:16px;padding:8px 14px;overflow-wrap:anywhere}
.com b{display:block;font-weight:600;font-size:14px}
.reps{margin-left:38px;padding-left:10px;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:2px}
.crep{display:block;margin-top:4px;padding:2px 0;background:none;border:0;color:var(--sub);font-weight:600;font-size:13px;cursor:pointer}
.rbar{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--sub);padding:0 6px}
.rbar button{color:var(--accent);font-weight:600;padding:4px 8px;background:none;border:0;cursor:pointer}
.pwr{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0;font-size:12px;color:var(--sub)}
.pwr img{display:block;height:28px;width:auto}
.cin{display:flex;gap:8px;align-items:center}
.cin input{flex:1;min-width:0;border:0;background:var(--page);border-radius:999px;padding:10px 16px}
.cin input::placeholder{color:var(--sub);opacity:1}
.cin button{color:var(--accent);font-weight:600;padding:0 8px}
.cin .btn{color:#fff;padding:0 18px}
.sug{display:flex;align-items:center;gap:12px;padding:8px 0}
.fol{padding:6px 16px;border-radius:999px;font-weight:500;font-size:14px;border:1px solid var(--accent);color:var(--accent)}
.fol:hover{background:var(--soft)}
.fol.is{background:var(--page);border-color:var(--line);color:var(--ink)}
.empty{text-align:center;padding:36px 16px}
.phead{padding:0;overflow:hidden;margin-bottom:16px}
.cover{height:96px;background:linear-gradient(120deg,var(--accent),color-mix(in srgb,var(--accent) 30%,#fff))}
.pbody{display:flex;gap:14px;align-items:flex-start;padding:0 16px 16px;margin-top:-36px}
.pbody .who{padding-top:42px;padding-bottom:2px}
.pbody .pact{margin-top:42px}
.pbody .who b{font-size:20px}
.authwrap{max-width:440px;margin:40px auto;padding:0 14px}
.auth h2{margin:0 0 14px;font-size:24px;font-weight:600}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.tabs button{padding:10px;border-radius:12px;font-weight:500;border:1px solid var(--line);text-align:center}
.tabs button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.auth input{display:block;width:100%;margin-bottom:10px;border:0;background:var(--page);border-radius:12px;padding:13px 16px}
.auth input::placeholder{color:var(--sub);opacity:1}
.err{color:#b00020;min-height:22px;margin:0 0 8px}
.btn.full{width:100%;margin:0;text-align:center}
.bottom{display:none}
@media (max-width:1100px){.wrap{grid-template-columns:240px minmax(0,640px)}.right{display:none}}
@media (max-width:820px){
.wrap{grid-template-columns:minmax(0,1fr);padding:12px 10px 96px;gap:0}
.left{display:none}
.bar{flex-wrap:wrap;gap:10px;padding:10px 12px}
.search{order:3;flex-basis:100%;max-width:none;margin:0}
.card{border-radius:14px}
.bottom{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;background:var(--bg);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));z-index:30}
.bottom button{display:grid;justify-items:center;gap:2px;padding:6px 0;font-size:12px;text-align:center}
.bottom button.act{color:var(--accent);font-weight:500}
.bottom svg{width:26px;height:26px}
}
.mecard .av.lg{width:52px;height:52px;font-size:22px;border:0}
.ftabs{display:flex;flex-wrap:wrap;gap:6px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:4px;margin-bottom:16px}
.ftabs button{flex:1 1 auto;min-width:0;padding:9px 12px;border-radius:999px;text-align:center;font-weight:500;white-space:nowrap}
.ftabs button[aria-pressed="true"]{background:var(--accent);color:#fff}
.badge{margin-left:auto;background:var(--accent);color:#fff;font-style:normal;font-size:12px;font-weight:600;padding:1px 8px;border-radius:999px}
.bottom button{position:relative}
.bottom .badge{position:absolute;top:0;left:calc(50% + 4px);margin:0;padding:0 6px}
.more-btn{display:block;margin:0 auto 16px}
.txt a{color:var(--accent);text-decoration:underline;overflow-wrap:anywhere}
.pimg{cursor:zoom-in}
#lb{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:60;display:grid;place-items:center;padding:16px;cursor:zoom-out}
#lb img{max-width:100%;max-height:100%;border-radius:8px}
.note{display:flex;gap:12px;align-items:flex-start;padding:10px;border-radius:12px;text-decoration:none;margin-bottom:2px}
.note:hover{background:var(--page)}
.note.new{background:var(--soft)}
.note small{display:block;font-size:13px;color:var(--sub)}
.note b{font-weight:600}
.skip{position:absolute;left:-999px;top:8px;background:#000;color:#fff;padding:10px 16px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
.legal{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--sub);padding:0 6px}
.auth .legal{padding:12px 0 0}
.legal a{color:var(--sub)}
.bio{margin:0;padding:0 16px 14px;overflow-wrap:anywhere}
.pedit{padding:0 16px 16px;display:flex;flex-direction:column;gap:8px}
.pedit textarea{border:0;background:var(--page);border-radius:12px;padding:12px 14px;resize:vertical}
.prow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.prow .btn{margin:0}
.danger{margin-left:auto;color:#b00020;border:1px solid #b00020;border-radius:999px;padding:6px 14px;font-size:14px}
.danger:hover{background:#fdecee}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.ok{background:var(--soft);border-radius:10px;padding:10px 14px;margin:0 0 10px}
.ok:empty{display:none}
.link{display:block;width:100%;text-align:center;color:var(--accent);padding:12px 0 0}
.link[hidden]{display:none}
.vbar{margin-bottom:16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:var(--soft);border-color:transparent}
.vbar button{color:var(--accent);font-weight:600;text-decoration:underline}
.pedit label{font-weight:500}
.pedit input{border:0;background:var(--page);border-radius:12px;padding:12px 14px}
.pact{display:flex;gap:8px;flex-wrap:wrap}
.convo{width:100%;text-align:left;align-items:center}
.convo>span{flex:1;min-width:0}
.convo small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chead{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.chead button{width:36px;height:36px;border-radius:50%;display:grid;place-items:center}
.chead button:hover{background:var(--page)}
.chead svg{width:24px;height:24px}
.msgs{display:flex;flex-direction:column;gap:6px;min-height:260px;max-height:min(58vh,560px);overflow-y:auto;padding:14px 4px}
.bub{max-width:78%;padding:9px 14px;border-radius:18px;overflow-wrap:anywhere;white-space:pre-wrap}
.bub small{display:block;font-size:11px;margin-top:2px;opacity:.85}
.bub.me{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:6px}
.bub.them{align-self:flex-start;background:var(--page);border-bottom-left-radius:6px}
.chatin{padding-top:12px;border-top:1px solid var(--line)}
.chatin .btn{margin:0;padding:10px 20px}
img.av{object-fit:cover;background:var(--page)}
.sub{font-size:14px;color:var(--sub);margin:0 0 8px}
.pill{margin-left:auto;font-size:13px;font-weight:600;background:var(--page);border-radius:999px;padding:3px 12px;white-space:nowrap}
.pill.hot{background:#fdecee;color:#b00020}
.rmeta{display:flex;flex-direction:column;gap:2px;padding:10px 16px;font-size:14px;color:var(--sub);overflow-wrap:anywhere;border-top:1px solid var(--line)}
.rbtn{padding:0 16px 16px}
.rbtn .danger{margin-left:0}
.rep .ph .pill{flex:none}
.fol.full{display:block;width:100%;text-align:center;margin-bottom:8px;padding:10px 16px}
.dlg{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:70;display:grid;place-items:center;padding:16px}
.dlg .card{width:100%;max-width:340px}
.pedit .sug{padding:4px 0}
/* ===== Mobile / handheld refinements ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body{overflow-x:hidden;overflow-wrap:break-word}
button,.chip,.fol,.tabs button,.ftabs button{touch-action:manipulation}
img,video{max-width:100%}
/* notches and landscape safe areas */
.bar,.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
/* 16px+ on form fields stops iOS zooming in on focus */
input,textarea,select{font-size:16px}
/* hover effects only where a real pointer exists */
@media (hover:none){
.nav button:hover,.mecard:hover,.out:hover,.fol:hover,.acts button:hover,.more:hover,.note:hover,.chead button:hover,.danger:hover{background:inherit}
.fol:hover{background:none}.fol.is:hover{background:var(--page)}
.note.new:hover{background:var(--soft)}
}
/* bigger touch targets on touch screens */
@media (pointer:coarse){
.themes{gap:6px}
.themes button{width:36px;height:36px}
.fol,.danger{min-height:40px;padding:8px 18px}
.out{min-height:40px}
.acts button{min-height:44px}
.more{width:44px;height:44px}
.chead button{width:44px;height:44px}
.cin button{min-height:44px;padding:0 12px}
.x{width:40px;height:40px}
.link{padding:14px 0 4px}
.tabs button,.ftabs button{min-height:44px}
}
/* phones and small tablets */
@media (max-width:820px){
header{position:static}
.bar{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
.wrap{--gl:max(10px,env(safe-area-inset-left,0px));--gr:max(10px,env(safe-area-inset-right,0px));padding-left:var(--gl);padding-right:var(--gr)}
.bar{padding-top:10px;padding-bottom:10px}
.logo{font-size:20px}
.out{margin-left:0}
.themes{margin-left:auto}
.post{margin-bottom:12px}
.txt.big{font-size:19px}
.pimg{max-height:70vh;max-height:70dvh}
.phead .pbody{flex-wrap:wrap;align-items:flex-start}
.phead .pbody .pact{margin-top:0}
.phead .pbody .who{flex:1 1 150px}
.phead .pact,.phead>.pbody>.fol{flex:1 0 100%}
.phead .pact .fol{flex:1 1 0;text-align:center}
.phead>.pbody>#editp{flex:1 0 100%;text-align:center}
.prow{gap:8px}
.prow .btn,.prow .fol,.prow .danger{flex:1 1 auto;text-align:center}
.prow .danger{margin-left:0}
.pedit input,.pedit textarea,.auth input,.cin input,.compose textarea,.search input{font-size:16px}
.cbar{flex-wrap:wrap}
.cbar .btn{padding:10px 24px}
body .ui-toast-region{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
.vbar{font-size:15px}
.authwrap{margin:16px auto}
.rmeta{padding:10px 14px}
/* chat fills the screen instead of a fixed box */
.card.chat{padding:12px}
.msgs{min-height:200px;max-height:calc(100vh - 330px);max-height:calc(100dvh - 330px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.bub{max-width:86%}
.chatin{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom,0px));background:var(--bg)}
.stories{margin:0 calc(-1*var(--gr)) 0 calc(-1*var(--gl));padding:2px var(--gr) 14px var(--gl);scroll-snap-type:x proximity}
.story{scroll-snap-align:start}
.bottom{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
.bottom button{min-height:52px;justify-content:center}
.dlg{align-items:end;padding:0}
.dlg .card{max-width:none;border-radius:20px 20px 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
}
/* narrow phones (iPhone SE, small Androids) */
@media (max-width:400px){
.logo span{display:none}
.wrap{--gl:max(8px,env(safe-area-inset-left,0px));--gr:max(8px,env(safe-area-inset-right,0px))}
.card{padding:14px}
.card.post,.card.phead{padding:0}
.av.lg{width:64px;height:64px;font-size:26px}
.bottom button{font-size:11px}
.bottom svg{width:24px;height:24px}
.acts button{padding:8px 9px}
.ph{padding:12px 12px 6px}
.txt{padding:4px 12px 12px}
.acts{padding:4px 6px}
.coms{padding:6px 12px 14px}
.btn{padding:10px 20px}
}
@media (max-width:340px){
.bottom button{font-size:10px}
.themes button{width:30px;height:30px}
.out{padding:7px 12px}
}
/* short landscape phones: keep content visible above the bar */
@media (max-height:480px) and (orientation:landscape){
.bottom button{min-height:44px;grid-auto-flow:column;gap:6px;font-size:12px}
.bottom svg{width:22px;height:22px}
.msgs{max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px)}
body .ui-toast-region{bottom:calc(56px + env(safe-area-inset-bottom,0px))}
}
/* tablets: use the sidebar layout in landscape and a roomier single column in portrait */
@media (min-width:821px) and (max-width:1100px){
.wrap{grid-template-columns:220px minmax(0,1fr);gap:20px}
}
@media (min-width:600px) and (max-width:820px){
.wrap{max-width:720px}
.dlg{align-items:center;padding:16px}
.dlg .card{max-width:380px;border-radius:16px;padding-bottom:16px}
}
/* foldables and very wide screens */
@media (min-width:1500px){.wrap{max-width:1400px}}
/* ===== reactions, mentions, chat media ===== */
.rxe{font-size:22px;line-height:1}
.acts .rxcaret{padding:8px 6px;margin-left:-10px}
.acts .rxcaret svg{width:16px;height:16px}
.rxline{padding:0 16px 2px;font-size:15px;letter-spacing:2px}
.rxpick{display:flex;gap:2px;margin:0 12px 10px;padding:4px 6px;background:var(--bg);border:1px solid var(--line);border-radius:999px;box-shadow:0 4px 16px rgba(0,0,0,.12);width:max-content;max-width:calc(100% - 24px);overflow-x:auto}
.rxpick button{font-size:26px;line-height:1;min-width:46px;min-height:46px;border-radius:50%;text-align:center;transition:transform .1s}
.rxpick button:hover{transform:scale(1.18)}
.rxpick button.on{background:var(--soft)}
.txt a.mention,.mention{color:var(--accent);font-weight:500;text-decoration:none}
.mm{position:fixed;z-index:80;width:min(320px,calc(100vw - 16px));background:var(--bg);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:4px;max-height:240px;overflow:auto}
.mm button{display:flex;gap:10px;align-items:center;width:100%;padding:8px 10px;border-radius:10px;min-height:48px}
.mm button:hover{background:var(--page)}
.mm b{display:block;font-size:15px;font-weight:600}
.mm small{color:var(--sub);font-size:13px}
.iconbtn{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--accent);cursor:pointer}
.iconbtn:hover{background:var(--soft)}
.iconbtn svg{width:24px;height:24px}
.mimg{display:block;width:240px;max-width:100%;max-height:320px;border-radius:12px;cursor:zoom-in;margin-bottom:4px;background:var(--page);object-fit:cover}
.bub audio{display:block;width:230px;max-width:100%;height:40px;margin:2px 0 4px}
.recbar{padding-top:12px;border-top:1px solid var(--line);align-items:center}
.recbar .recnote{flex:1;color:var(--sub)}
.recbar .btn{margin:0;padding:10px 20px}
.recdot{flex:none;width:12px;height:12px;border-radius:50%;background:#d00;animation:rpulse 1s infinite}
@keyframes rpulse{50%{opacity:.25}}
.chatprev{margin-top:8px}
.chatprev img{width:auto;max-height:160px}
@media (max-width:400px){.mimg{width:200px}.bub audio{width:200px}}
/* ===== Stories ===== */
.story{position:relative}
.story .ring{display:block;width:70px;height:70px;border-radius:50%;padding:3px;margin:0 auto 6px;cursor:pointer}
.ring.seen{background:var(--line)}
.splus{position:absolute;right:calc(50% - 38px);top:44px;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;border:3px solid var(--bg);font-weight:700;font-size:16px;line-height:1;display:grid;place-items:center;text-align:center}
#sv{position:fixed;inset:0;z-index:65;background:#000;display:grid;place-items:center}
.svbox{position:relative;width:100%;max-width:480px;height:100vh;height:100dvh;background:#111;color:#fff;overflow:hidden}
.svimg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.svbars{position:absolute;left:10px;right:10px;top:calc(10px + env(safe-area-inset-top,0px));display:flex;gap:4px;z-index:3}
.svbars span{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.35);overflow:hidden}
.svbars span.done i{width:100%}
.svbars i{display:block;height:100%;width:0;background:#fff}
.svbars span.cur i{animation:svfill 5s linear forwards}
.svbox.paused .svbars span.cur i{animation-play-state:paused}
@keyframes svfill{from{width:0}to{width:100%}}
.svhead{position:absolute;left:0;right:0;top:calc(22px + env(safe-area-inset-top,0px));display:flex;align-items:center;gap:10px;padding:8px 12px;z-index:4;background:linear-gradient(rgba(0,0,0,.55),transparent)}
.svhead .who b{color:#fff}.svhead .who span{color:#ddd}
.svbtn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:30px;line-height:1;text-align:center}
.svbtn svg{width:22px;height:22px}
.svzone{position:absolute;top:110px;bottom:90px;z-index:2;background:none}
.svprev{left:0;width:35%}.svnext{right:0;width:65%}
.svcap{position:absolute;left:0;right:0;bottom:84px;padding:14px 16px;text-align:center;z-index:3;background:linear-gradient(transparent,rgba(0,0,0,.65));overflow-wrap:anywhere;pointer-events:none}
.svfoot{position:absolute;left:0;right:0;bottom:0;padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));display:flex;gap:8px;z-index:4;background:linear-gradient(transparent,rgba(0,0,0,.6))}
.svfoot input{flex:1;min-width:0;border:1px solid rgba(255,255,255,.6);background:rgba(0,0,0,.35);color:#fff;border-radius:999px;padding:11px 16px;font-size:16px}
.svfoot input::placeholder{color:#ddd;opacity:1}
.svsend,.svseen{color:#fff;font-weight:600;padding:0 14px;min-height:44px;border-radius:999px}
.svseen{border:1px solid rgba(255,255,255,.6);background:rgba(0,0,0,.35)}
.svlist{position:absolute;inset:0;z-index:6;display:grid;align-items:end;background:rgba(0,0,0,.5)}
.svlist .card{color:#000;border-radius:20px 20px 0 0;max-height:70%;overflow:auto;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
.sprev{display:block;width:100%;max-height:50vh;object-fit:contain;background:#000;border-radius:12px;margin-bottom:10px}
.dlg .card input{display:block;width:100%;border:0;background:var(--page);border-radius:12px;padding:12px 14px;margin-bottom:8px}
@media (max-width:480px){.svbox{max-width:none}}
@media (prefers-reduced-motion:reduce){.svbars span.cur i{animation-duration:12s!important;animation:svfill 12s linear forwards!important}}
/* ===== Groups ===== */
.gcard{display:flex;align-items:center;gap:8px;padding:12px 14px}
.gmain{display:flex;gap:12px;align-items:center;flex:1;min-width:0;text-align:left;padding:0}
.gmain .who{min-width:0}
.gmain .who>span{display:block}
.gdesc{margin-top:2px;color:inherit;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.gsearch{display:block;width:100%;border:0;background:var(--page);border-radius:999px;padding:12px 16px;margin:10px 0}
.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chips button{flex:none;border:1px solid var(--line);border-radius:999px;padding:8px 14px;min-height:40px;font-weight:500}
.chips button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.gact{padding:0 16px 16px;flex-wrap:wrap}
.btn.sm{padding:8px 14px}
.sug .btn.sm,.sug .fol{margin-left:6px;flex:none}
.sug{flex-wrap:wrap}
.gform label{display:block;margin:10px 0 4px;font-weight:600;font-size:14px}
.gform input:not([type=radio]),.gform textarea,.gform select{display:block;width:100%;border:0;background:var(--page);border-radius:12px;padding:12px 14px;font-size:16px;color:inherit}
.gform .radio{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:8px 0}
.gform .radio input{margin-top:5px;flex:none}
.gform .radio b{display:block}
.dlg .gform{max-height:92vh;max-height:92dvh;overflow:auto}
/* ===== Prayer requests and events ===== */
.onbints .chip[aria-pressed="true"]{background:var(--accent);color:#fff}
button.chip{border:0;font:inherit;cursor:pointer}
.prayhead{padding:2px 16px 0;font-weight:600;color:var(--accent)}
.ans{display:inline-block;margin-left:6px;background:#e6f7ec;color:#0a7a35;border-radius:999px;padding:1px 10px;font-size:13px}
.prayrow{display:flex;gap:8px;flex-wrap:wrap;padding:4px 16px 10px}
.praybtn{border:1px solid var(--line);border-radius:999px;padding:8px 16px;min-height:44px;font-weight:600}
.praybtn.on{background:var(--soft);border-color:var(--accent);color:var(--accent)}
.ftabs.seg{margin-bottom:12px}
.evcard{padding:14px 16px}
.evtop{display:flex;gap:14px;align-items:flex-start}
.evdate{flex:none;width:56px;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-align:center;background:var(--bg)}
.evdate span{display:block;background:var(--accent);color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;padding:2px 0}
.evdate b{display:block;font-size:24px;line-height:1.5}
.evtop .who span{display:block}
.evdesc{margin:10px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.evmeta{margin:10px 0;color:var(--sub);font-size:14px}
.evact{flex-wrap:wrap;gap:8px}
.evact .danger{margin-left:0}
.mbar{background:#fdecee;color:#7a0016}
.urow .pill,.rep .pill{flex:none}
.urow .ph{flex-wrap:wrap}
.logrow .txt small{display:block;color:var(--sub);font-size:13px;margin-top:2px}
.dlg .card label{display:block;font-size:14px;font-weight:600;margin:8px 0 4px}
.dlg .card select{display:block;width:100%;border:0;background:var(--page);border-radius:12px;padding:12px 14px;margin-bottom:8px;font:inherit}
.mctx{padding:8px 16px;display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line)}
.mline{background:var(--page);border-radius:12px;padding:8px 12px;overflow-wrap:anywhere;font-size:14px}
.mline.hit{background:#fdecee;border:1px solid #b00020}
.mline small{display:block;color:var(--sub);font-size:12px}
.mline .mimg{display:block;max-height:120px;border-radius:8px;margin:4px 0}
.mrep{display:inline-block;margin-left:8px;min-height:0;padding:0;opacity:.6;vertical-align:middle}
.mrep svg{width:13px;height:13px}
.tfa{display:flex;flex-direction:column;gap:8px}
.tfa .sub{margin:0}
.qr{background:#fff;border-radius:12px;padding:4px;width:200px;max-width:100%;align-self:flex-start}
.qr svg{display:block;width:100%;height:auto}
.key{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:15px;letter-spacing:.06em;background:var(--page);border-radius:10px;padding:10px 12px;word-break:break-all;user-select:all}
.codes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.codes code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:16px;background:var(--page);border-radius:10px;padding:10px;text-align:center;user-select:all}
.mkgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}
@media(min-width:700px){.mkgrid{grid-template-columns:repeat(3,1fr)}}
.mkcard{padding:0;overflow:hidden;display:flex;flex-direction:column}
.mkimg{position:relative;display:block;width:100%;aspect-ratio:1/1;background:var(--page);padding:0}
.mkimg img{width:100%;height:100%;object-fit:cover;display:block}
.mktag{position:absolute;left:8px;top:8px;background:#b3261e;color:#fff;font-size:12px;font-weight:700;border-radius:999px;padding:2px 10px}
.mkcard.sold .mkimg img{opacity:.55}
.mkbody{padding:10px 12px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.mkprice{font-size:17px}.mkprice.big{font-size:24px;display:block;margin:4px 0}
.mktitle{text-align:left;padding:0;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mkdetail{padding:0;overflow:hidden}
.mkgal{display:flex;gap:2px;overflow-x:auto;scroll-snap-type:x mandatory;background:var(--page)}
.mkphoto{flex:none;width:100%;max-height:420px;object-fit:contain;scroll-snap-align:center;cursor:zoom-in;background:var(--page)}
.mkinfo{padding:16px}
.mkseller{display:flex;align-items:center;gap:10px;margin:12px 0}
.mkpics{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.mkp{position:relative;width:64px;height:64px}
.mkp img{width:100%;height:100%;object-fit:cover;border-radius:10px}
.mkp button{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border-radius:50%;background:#111;color:#fff;font-size:16px;line-height:1}
.row2{display:grid;grid-template-columns:2fr 1fr;gap:10px}
.ftabs.seg button{flex:1}
.chip svg{width:20px;height:20px;flex:none}
#mkpl{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px;cursor:pointer}
.vbadge{display:inline-block;vertical-align:-3px;margin-left:5px;color:#1d9bf0}
.vbadge svg{width:18px;height:18px;display:block}.vbadge.big svg{width:22px;height:22px}
.av.sq{border-radius:14px}img.av.lg{border-radius:14px}
.pgcard{cursor:pointer}
.pgcontact{display:flex;flex-direction:column;gap:4px;padding:6px 16px 4px;font-size:15px;overflow-wrap:anywhere}
.vbox{border-left:4px solid var(--accent)}.vbox.ok{border-left-color:#1d9bf0}
.vbox p{margin:4px 0 8px}
.pgcomp textarea{display:block;width:100%;border:0;background:var(--page);border-radius:12px;padding:12px 14px;font:inherit;margin-bottom:8px;resize:vertical}
.pgpost .pimg{display:block;width:100%;max-height:70vh;object-fit:cover}
.who b .vbadge,.vbadge{display:inline-block;color:#1d9bf0;font-size:0;line-height:0}
.ftabs.seg button{padding:9px 4px;font-size:14px}
:root{--r:18px;--shadow:0 1px 2px rgba(16,24,40,.04),0 4px 14px rgba(16,24,40,.06);--shadow-h:0 2px 4px rgba(16,24,40,.06),0 10px 28px rgba(16,24,40,.1);--ease:cubic-bezier(.2,.7,.2,1);--page:#f4f5f8;--line:#e8eaee;--sub:#5b6270}
body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:-.005em;background:linear-gradient(180deg,var(--page),#eceef3) fixed}
button,a,input,textarea{transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease),transform .12s var(--ease)}
header{background:rgba(255,255,255,.82);-webkit-backdrop-filter:saturate(180%) blur(16px);backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid rgba(0,0,0,.06)}
.logo{font-weight:800;letter-spacing:-.6px}
.search input{background:#eef0f4;border:1px solid transparent;padding:11px 20px}
.search input:focus{background:var(--bg);border-color:var(--accent);box-shadow:0 0 0 4px var(--soft);outline:0}
.card{border:1px solid rgba(16,24,40,.06);border-radius:var(--r);box-shadow:var(--shadow)}
.post{transition:box-shadow .2s var(--ease),transform .2s var(--ease)}
.post:hover{box-shadow:var(--shadow-h)}
.ph{padding:14px 16px 6px}
.who b{font-weight:650}
.txt{line-height:1.55}
.btn{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 78%,#000));box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 35%,transparent);padding:11px 28px}
.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 40%,transparent)}
.btn:active:not(:disabled){transform:translateY(0)}
.fol{border-width:1.5px;font-weight:600}
.fol:hover{background:var(--accent);color:#fff}
.fol.is:hover{background:var(--page);color:var(--ink)}
.acts{padding:4px 10px 8px;border-top:1px solid var(--line);margin-top:6px}
.acts button{color:var(--sub)}
.acts button:hover{background:var(--soft);color:var(--accent)}
.acts button:active{transform:scale(.94)}
.acts .on{color:var(--accent)}
.nav button{font-weight:550;color:var(--sub)}
.nav button:hover{background:var(--soft);color:var(--accent)}
.nav button[aria-current],.nav button.on,.nav button[aria-pressed="true"]{background:var(--soft);color:var(--accent);font-weight:650}
.av{box-shadow:0 0 0 2px var(--bg),0 0 0 3px rgba(16,24,40,.08)}
.authwrap{margin:6vh auto}
.auth{padding:28px 26px;border-radius:24px;box-shadow:var(--shadow-h)}
.auth h2{font-size:26px;font-weight:750;letter-spacing:-.02em;text-align:center}
.auth input{background:#f1f3f7;border:1.5px solid transparent;padding:14px 16px}
.auth input:focus{background:var(--bg);border-color:var(--accent);box-shadow:0 0 0 4px var(--soft);outline:0}
.tabs{background:#f1f3f7;padding:4px;border-radius:14px;gap:4px}
.tabs button{border:0;border-radius:11px;font-weight:600;color:var(--sub)}
.tabs button[aria-pressed="true"]{background:var(--bg);color:var(--accent);box-shadow:0 1px 4px rgba(16,24,40,.12)}
#fcapw label{font-weight:600;font-size:15px;color:var(--ink)}
#fcapw input{text-align:center;font-weight:600;letter-spacing:.1em}
.btn.full{padding:14px}
textarea,.cin input{border-radius:14px}
.cin input{background:#f1f3f7;border:1.5px solid transparent;padding:10px 14px}
.cin input:focus{background:var(--bg);border-color:var(--accent);outline:0;box-shadow:0 0 0 3px var(--soft)}
.dlg .card{box-shadow:0 24px 60px rgba(16,24,40,.28)}
.post img,.gal img{border-radius:0}
.bp-tag{font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding-top:12px}
.bp-btn{border-color:var(--line);color:var(--sub)}
.bp-btn:hover{background:var(--soft);border-color:var(--accent);color:var(--accent)}
::selection{background:var(--soft)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media (max-width:700px){.card{border-radius:16px}.auth{padding:22px 18px}.authwrap{margin:3vh auto}header{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)}}
.av.xl{width:104px;height:104px;font-size:42px;border:4px solid var(--bg)}
img.av.xl{border-radius:50%}
.onb .sub{margin:0 0 16px;color:var(--sub)}
.onb label{display:block;font-weight:500;margin:4px 0 6px}
.onb textarea{display:block;width:100%;border:0;background:var(--page);border-radius:12px;padding:13px 16px;resize:vertical;margin-bottom:4px}
.onb textarea::placeholder{color:var(--sub);opacity:1}
.onbav{display:flex;flex-direction:column;align-items:center;gap:10px;margin:4px 0 16px}
.onbav .chip{cursor:pointer}
.onbcount{text-align:right;font-size:13px;color:var(--sub);margin-bottom:8px}
.onb .link{display:block;width:100%;margin-top:10px;text-align:center}
.bio.ploc{margin-top:4px;color:var(--sub)}
.onbints .chip[aria-pressed="true"]{background:var(--accent);color:#fff}
.onbsteps{display:flex;gap:6px;margin-bottom:16px}
.onbsteps i{flex:1;height:5px;border-radius:999px;background:var(--soft)}
.onbsteps i.on{background:var(--accent)}
.onbints{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 12px}
.onbints .chip{padding:8px 14px}
.onbnav{display:flex;align-items:center;gap:10px}
.onbnav .btn{margin-left:auto}
#onbsugs .sug{padding:10px 0}
.pints{display:flex;flex-wrap:wrap;gap:6px;padding:4px 16px 0}
.pint{background:var(--soft);color:var(--accent);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:500}
.ico{flex:none;pointer-events:none}
.onb .btn,.onb .fol,.onb .link,.onb .chip,.pact .fol,.pedit .btn,.pedit .fol,.pedit .danger,.pedit .chip,.sug .fol{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.onb .btn.full,.onb .link{display:flex;width:100%}
.cover{background-size:cover;background-position:center}
.cover.has{height:150px}
.plinks{display:flex;flex-wrap:wrap;gap:8px 16px;padding:8px 16px 0}
.plink{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:500;font-size:14px;word-break:break-all}
.plink:hover{text-decoration:underline}
.pollbox,.schedbox{display:flex;flex-direction:column;gap:8px;padding:0 16px 12px}
.pollbox input,.schedbox input,.pollbox select{border:0;background:var(--page);border-radius:12px;padding:12px 14px;font-size:16px;color:inherit;width:100%}
.pollbox label,.schedbox label{font-weight:500;font-size:14px}
.poll{display:flex;flex-direction:column;gap:8px;padding:4px 16px 12px}
.popt{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:10px 14px;border-radius:12px;border:2px solid var(--soft);background:transparent;color:inherit;text-align:left;font-weight:500;overflow:hidden}
.popt.vote{cursor:pointer;color:var(--accent);border-color:var(--accent)}
.popt.vote:hover{background:var(--soft)}
.popt.res .pbar{position:absolute;left:0;top:0;bottom:0;background:var(--soft);z-index:0}
.popt.res.mine{border-color:var(--accent)}
.popt.res.mine .pbar{background:color-mix(in srgb,var(--accent) 25%,transparent)}
.popt .plab,.popt .ppc{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px}
.popt .ppc{font-weight:600}
.pmeta{font-size:13px;color:var(--sub)}
.trow{display:flex;align-items:center;gap:10px;padding:8px 0;color:inherit}
.trow .ico{color:var(--accent)}
.trow .tn{font-weight:600}
.trow .tc{margin-left:auto;font-size:13px;color:var(--sub)}
.schedlist{display:flex;flex-direction:column;gap:12px;margin:8px 0 14px;max-height:55vh;overflow-y:auto}
.sitem{background:var(--page);border-radius:12px;padding:12px}
.swhen{display:flex;align-items:center;gap:6px;font-weight:600;font-size:14px;margin-bottom:4px}
.sbody{margin-bottom:8px;word-break:break-word}
.sitem .prow{display:flex;gap:8px;flex-wrap:wrap}
#pollTog,#schedTog,#schedList,#post{display:inline-flex;align-items:center;gap:8px}
.chip[id=pollTog][aria-pressed="true"],.chip[id=schedTog][aria-pressed="true"]{background:var(--accent);color:#fff}
/* ===== UI polish pass (v32) ===== */
:root{--ink:#14161a;--sub:#5b6270;--r:18px}
/* Header: calmer, tighter, theme dots grouped */
.bar{padding:10px 20px;gap:16px}
.logo{font-size:21px}
.search{max-width:460px}
.search input{padding:11px 20px 11px 44px;background:#eef0f4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%235b6270' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 16px 50%}
.search input:focus{background-color:var(--bg)}
.themes{gap:6px;padding:4px;background:var(--page);border-radius:999px}
.themes button{width:22px;height:22px;border:2px solid var(--bg);box-shadow:none}
.themes button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--ink)}
.out{color:var(--sub);background:transparent;border-color:transparent;padding:7px 14px}
.out:hover{background:var(--page);color:var(--ink)}
/* Sidebar: clearer active state, quieter profile card */
.mecard{padding:14px}
.mecard:hover{background:var(--bg);box-shadow:var(--shadow-h)}
.nav{padding:8px}
.nav button{position:relative;font-size:16px;padding:11px 14px}
.nav button.act{background:var(--soft);color:var(--accent);font-weight:650}
.nav button.act::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}
.nav .badge{min-width:22px;text-align:center}
/* Email-verify / info banner: slim and calm */
.vbar{padding:10px 16px;font-size:14px;gap:6px 12px;border-radius:14px}
.vbar button{font-weight:600;text-decoration:underline;text-underline-offset:3px;padding:2px 0}
/* Stories: don't waste a whole row on a lone "add" bubble */
.stories{padding:2px 2px 12px;gap:12px}
.story{width:68px;font-size:12px;color:var(--sub)}
.story .ring,.ring{width:60px;height:60px}
.ring.add .av{font-size:28px}
.splus{top:36px;right:calc(50% - 34px);width:22px;height:22px;font-size:14px}
/* Composer: toolbar wraps cleanly, Post button can never escape the card */
#composer{padding:14px 16px 12px}
.compose textarea{min-height:48px;padding:12px 18px;line-height:1.45;background:#f1f3f7;border:1.5px solid transparent}
.compose textarea:focus{background:var(--bg);border-color:var(--accent);box-shadow:0 0 0 4px var(--soft);outline:0}
.cbar{flex-wrap:wrap;gap:8px;row-gap:10px;margin-top:12px;padding-top:12px}
.cbar .chip{padding:8px 14px;font-size:14px;font-weight:600;white-space:nowrap;line-height:1.3}
.cbar .chip svg{width:18px;height:18px}
.cbar #count{margin-left:auto;font-size:13px;color:var(--sub);font-variant-numeric:tabular-nums}
.cbar .btn{margin-left:0;padding:10px 24px}
.btn:disabled{box-shadow:none}
/* Feed switcher: smaller, segmented */
.ftabs{padding:4px;gap:4px;box-shadow:var(--shadow)}
.ftabs button{padding:9px 14px;font-weight:600;color:var(--sub)}
.ftabs button:hover:not([aria-pressed="true"]){background:var(--soft);color:var(--accent)}
.ftabs button[aria-pressed="true"]{color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 35%,transparent)}
/* Posts: easier to read, quieter chrome */
.post{margin-bottom:14px}
.ph{padding:14px 16px 4px;align-items:center}
.who span{font-size:13.5px}
.txt{padding:6px 16px 14px;font-size:16px;line-height:1.6}
.txt.big{font-size:18.5px;line-height:1.5;letter-spacing:-.01em}
.txt a,.txt a.mention{text-underline-offset:3px}
.txt a[data-tag]{text-decoration:none;font-weight:500}
.txt a[data-tag]:hover{text-decoration:underline}
.more{color:var(--sub);opacity:.75}
.more:hover{opacity:1;background:var(--soft);color:var(--accent)}
.more[aria-label^="Delete"]:hover{background:#fdecee;color:#b00020}
.more svg{width:19px;height:19px}
.rxline{padding:2px 16px 6px;letter-spacing:0;font-size:14px}
.acts{padding:4px 8px 6px;margin-top:0;gap:0}
.acts button{padding:8px 12px;font-weight:600;font-size:14px;color:var(--sub)}
.acts svg{width:22px;height:22px}
.acts .rxe{font-size:21px}
.acts .on{color:var(--accent)}
.coms{background:#fafbfc;padding:12px 16px 16px}
.com div{background:#eef0f4}
.cin input{background:#eef0f4}
.cin button{font-weight:650}
/* Right rail: tidier lists */
h3{font-size:16px;font-weight:700;letter-spacing:-.01em;margin-bottom:6px}
.sug{padding:9px 0}
.sug .who a{color:inherit}
.trow{padding:9px 6px;border-radius:10px;text-decoration:none}
.trow:hover{background:var(--soft)}
.trow .tn,.trow a{text-decoration:none;font-weight:650}
#trend a,.trow a{text-decoration:none;color:var(--ink)}
.trow .tc{text-decoration:none}
.trow .tc,.trow a.tc{color:var(--sub)}
.fol{padding:6px 14px;font-size:13.5px}
/* Auth: fix the broken legal line and soften the card */
.auth .legal{display:block;text-align:center;line-height:1.6;padding:14px 0 0}
.auth .legal a{text-underline-offset:2px}
.auth .brand{width:140px}
.auth .tabs button{min-height:42px}
.auth .link{padding:14px 0 0;font-weight:600}
/* Floating things */
.bottom{background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px)}
.bottom button{color:var(--sub);font-weight:550}
.bottom button.act{color:var(--accent);font-weight:700}
@media (max-width:820px){
  .bar{padding:8px 12px;gap:8px 10px}
  .themes{padding:3px}
  .search input{padding-top:10px;padding-bottom:10px}
  #composer{padding:12px}
  .cbar .chip{padding:7px 12px;font-size:13.5px}
  .cbar .btn{flex:1 0 100%;justify-content:center;margin-top:2px}
  .txt.big{font-size:18px}
  .vbar{font-size:13.5px;padding:10px 14px}
}
@media (max-width:400px){
  .cbar .chip{padding:7px 11px}
  .acts button{padding:8px 8px}
}
@media (pointer:coarse){
  .themes button{width:26px;height:26px}
}
/* Onboarding footer: buttons never wrap their labels */
.onbnav{flex-wrap:nowrap;gap:10px}
.onbnav .btn,.onbnav .fol{white-space:nowrap;flex:none}
.onbnav .fol{padding:11px 18px;font-size:15px;min-height:46px}
.onbnav .btn{flex:1 1 auto;margin-left:0;padding:12px 20px;min-height:46px;font-size:15px}
.onb .link{font-weight:600}
@media (max-width:400px){.onbnav .btn{padding:12px 14px;font-size:14px}.onbnav .fol{padding:11px 14px}}
/* Names: wrap to two lines instead of cutting off ("Christian Yaw...", "Christian Yaw...") */
.sug .who b,.gmain .who b,.mm b,.convo .who b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;line-height:1.3}
.sug .who{min-width:0}
.sug .fol,.sug .btn.sm{white-space:nowrap}
/* Tab bars inside cards get even spacing; very small screens scroll instead of cramming */
.card>.ftabs{margin:12px 0 0;box-shadow:none}
@media (max-width:420px){
  .ftabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .ftabs::-webkit-scrollbar{display:none}
  .ftabs button{flex:1 0 auto;padding:9px 14px}
}
/* Buttons in action rows never break their labels */
.prow .btn,.prow .fol,.pact .fol,.evact .fol,.gact .fol,.gact .btn,.praybtn,.danger{white-space:nowrap}
.prow h3{white-space:nowrap;flex:0 0 auto!important}
.prow h3+.btn{margin-left:auto}
@media (max-width:360px){.prow .btn{padding:10px 16px}}
/* Prayer chip: same line-icon treatment as Photo / Poll / Schedule */
#prayTog{display:inline-flex;align-items:center;gap:8px}
#prayTog[aria-pressed="true"]{background:var(--accent);color:#fff}
#prayTog .ico{width:18px;height:18px}
/* Icons added to text buttons (icons.js) */
:is(.btn,.fol,.danger,.link,.praybtn,.out,.more-btn).has-ico{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.link.has-ico,.btn.full.has-ico,.fol.full.has-ico{display:flex;width:100%}
.bi{flex:none;width:18px;height:18px}
.vbar button.has-ico{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.vbar button .bi{margin-top:-1px}
@media (max-width:820px){.prow .btn.has-ico,.prow .fol.has-ico,.prow .danger.has-ico{flex:1 1 auto}}
.prayhead{display:flex;align-items:center;gap:8px}
.praybtn{display:inline-flex;align-items:center;gap:8px}
/* ===== Spacing system (v37) =====
   One rhythm: 14px between cards in the main column (12px on phones),
   12px between stacked controls inside a card. */
:root{--gap:14px;--gap-in:12px}
main{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
main>*,#feed>*{margin-top:0!important;margin-bottom:0!important}
#feed{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
#feed:empty{display:none}
.stories{padding-bottom:2px}
.wrap{gap:28px;padding-top:24px}
aside{gap:var(--gap)}
.left .legal{padding:4px 8px}
/* Inside cards */
.card{padding:18px}
.card.post,.card.phead,.card.mkdetail,.card.mkcard{padding:0}
.card>h3,.card>.prow:first-child{margin-bottom:var(--gap-in)}
.card>.prow{align-items:center}
.card>*+.gsearch,.gsearch{margin:var(--gap-in) 0}
.card>.ftabs,.ftabs.seg{margin:var(--gap-in) 0 0}
.ftabs.seg+.chips,.ftabs+.chips,.gsearch+.ftabs{margin-top:var(--gap-in)}
.chips{margin-top:var(--gap-in);padding:2px 2px 6px}
.card>.chips:last-child{padding-bottom:2px}
.sub{margin:0 0 var(--gap-in)}
.compose+.preview,.compose+.pollbox,.preview+.pollbox{margin-top:var(--gap-in)}
.pollbox,.schedbox{padding:var(--gap-in) 0 0}
.composer .pollbox,#composer .pollbox,#composer .schedbox{padding:var(--gap-in) 0 0}
/* Lists inside cards: a clear separator rhythm instead of everything touching */
.sug{padding:10px 0}
.sug+.sug{border-top:1px solid var(--line)}
.trow{padding:10px 8px;margin:0 -8px}
.note{padding:12px;margin-bottom:4px}
.gcard,.evcard{padding:16px 18px}
.mkgrid{gap:var(--gap)}
.mkbody{padding:12px 14px 14px}
.pbody{padding:0 18px 18px}
.bio{padding:0 18px 14px}
.pints,.plinks{padding-left:18px;padding-right:18px}
.pedit{padding:4px 18px 18px;gap:12px}
.ph{padding:16px 18px 6px}
.txt{padding:6px 18px 16px}
.rxline{padding:2px 18px 8px}
.acts{padding:6px 10px 8px}
.coms{padding:14px 18px 18px;gap:12px}
.com{margin-top:0}
.prayrow{padding:4px 18px 12px}
.prayhead{padding:4px 18px 0}
.poll{padding:6px 18px 14px;gap:10px}
.vbar{padding:12px 18px}
.dlg .card{padding:20px}
.dlg .card h3{margin-bottom:12px}
.dlg .card input,.dlg .card select{margin-bottom:12px}
.gform label{margin:14px 0 6px}
.prow{gap:10px}
.cbar{gap:10px}
@media (max-width:820px){
  :root{--gap:12px;--gap-in:10px}
  .wrap{padding-top:12px;gap:0}
  .card{padding:16px}
  .card.post,.card.phead,.card.mkdetail,.card.mkcard{padding:0}
  .ph{padding:14px 14px 4px}
  .txt{padding:6px 14px 14px}
  .coms{padding:12px 14px 16px}
  .rxline,.prayrow,.poll{padding-left:14px;padding-right:14px}
  .pbody{padding:0 14px 16px}
  .bio,.pints,.plinks{padding-left:14px;padding-right:14px}
  .gcard,.evcard{padding:14px 16px}
}
.pill:has(>.ico){display:inline-flex;align-items:center;gap:6px}
.pill .ico{width:15px;height:15px}
.pill-ok{color:var(--accent);background:var(--soft)}
/* Icons inside tab bars */
.ftabs button.has-ico{display:flex;align-items:center;justify-content:center;gap:7px}
.ftabs .bi{width:17px;height:17px;opacity:.9}
@media (max-width:480px){.ftabs .bi{width:16px;height:16px}.ftabs button.has-ico{gap:5px;padding-left:10px;padding-right:10px}}
@media (max-width:480px){.ftabs button{flex:0 0 auto}.ftabs{justify-content:flex-start}.ftabs.seg button,.ftabs:not(.seg) button{flex:1 0 auto}}
@media (max-width:360px){.ftabs .bi{display:none}}
/* Fallback so icons are spaced and centred even if the has-ico class is missing */
.bi{margin-right:7px;vertical-align:-3px}
.has-ico>.bi{margin-right:0;vertical-align:baseline}
.pill .ico{margin-right:6px;vertical-align:-2px}
.pill:has(>.ico) .ico{margin-right:0}
.ftabs button.has-ico{line-height:1.2}
/* Verified badge: a true circle */
.vbadge svg{border-radius:50%;overflow:hidden}
.vbadge{border-radius:50%;line-height:0}
.dlg .gform textarea{margin-bottom:18px;min-height:120px;resize:vertical;line-height:1.5}
.dlg .gform .prow{margin-top:4px;gap:12px;align-items:stretch;justify-content:flex-end}
.dlg .gform .prow .btn,.dlg .gform .prow .fol{min-height:46px;padding:0 22px;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0;flex:1 1 0}
.dlg .gform .prow .btn{box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 28%,transparent)}
.stories:not(:has(*)){display:none}
.phead>.vbox{margin:0 18px 18px;border:0;border-left:4px solid var(--accent);border-radius:12px;background:var(--page);box-shadow:none;padding:14px 16px}
.phead>.vbox.ok{border-left-color:#1d9bf0}
.phead>.vbox .fol{margin-top:2px}
@media (max-width:480px){.phead>.vbox{margin:0 14px 14px}}
.vbar{margin-bottom:0}
#composer{margin-bottom:0!important}
@media (min-width:821px){
.bar{position:relative}
.search{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;flex:none;width:min(460px,calc(100% - 560px));max-width:none}
}
.left .nav{padding:14px 12px;display:flex;flex-direction:column;gap:6px}
.left .nav button{padding:12px 16px;border-radius:14px;gap:16px}
.left .nav button.act::before{left:0;top:14px;bottom:14px}
.phead .pints{padding-top:10px;padding-bottom:4px}
.phead .pints+.plinks,.phead .plinks{padding-top:10px}
.phead>.vbox{margin-top:16px}
.phead>.pints:last-child,.phead>.plinks:last-child{padding-bottom:16px}
.lhead{background:var(--bg);border-bottom:1px solid var(--line)}
.lbar{max-width:1040px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px}
.lhead .logo,.lfoot .logo{color:var(--ink);text-decoration:none}
.lfoot .logo{font-size:18px;justify-content:center}
.llinks{display:flex;gap:6px;flex-wrap:wrap}
.llinks a{padding:8px 14px;border-radius:999px;color:var(--sub);font-weight:600;text-decoration:none}
.llinks a:hover{background:var(--soft);color:var(--accent)}
.llinks a[aria-current]{background:var(--soft);color:var(--accent)}
.lfoot{max-width:720px;margin:8px auto 0;padding:24px 16px 40px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.lfoot .llinks{justify-content:center}
.lfoot p{margin:0;color:var(--sub);font-size:13px}
@media (max-width:480px){.lbar{padding:10px 12px}.lhead .logo span{display:none}.llinks a{padding:8px 11px}}
.modebtn{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--page);color:var(--ink);flex:none}
.modebtn svg{width:18px;height:18px}
.modebtn .sun{display:none}
:root[data-mode="dark"] .modebtn .sun{display:block}
:root[data-mode="dark"] .modebtn .moon{display:none}
.modebtn+.out,.themes+.modebtn{margin-left:0}
:root[data-mode="dark"]{color-scheme:dark;--ink:#e9ebef;--sub:#a4abb8;--line:#2b313c;--bg:#171b23;--page:#0e1117;--shadow:0 1px 2px rgba(0,0,0,.4),0 4px 14px rgba(0,0,0,.35);--shadow-h:0 2px 4px rgba(0,0,0,.45),0 10px 28px rgba(0,0,0,.45);--field:#222834}
:root[data-mode="dark"][data-theme="pink"]{--accent:#ff3d9a}
:root[data-mode="dark"][data-theme="blue"]{--accent:#4d8dff}
:root[data-mode="dark"][data-theme="green"]{--accent:#14a898}
:root[data-mode="dark"][data-theme="purple"]{--accent:#ac8cfb}
:root[data-mode="dark"][data-theme="amber"]{--accent:#dd7a12}
:root[data-mode="dark"]{--soft:color-mix(in srgb,var(--accent) 20%,var(--bg))}
:root[data-mode="dark"] body{background:linear-gradient(180deg,var(--page),#0a0d12) fixed;color:var(--ink)}
:root[data-mode="dark"] header,:root[data-mode="dark"] .lhead{background:rgba(23,27,35,.86);border-bottom-color:var(--line)}
:root[data-mode="dark"] .bottom{background:rgba(23,27,35,.94)}
:root[data-mode="dark"] .card{border-color:var(--line)}
:root[data-mode="dark"] .search input,:root[data-mode="dark"] .auth input,:root[data-mode="dark"] .cin input,:root[data-mode="dark"] .compose textarea,:root[data-mode="dark"] .gform input:not([type=radio]),:root[data-mode="dark"] .gform textarea,:root[data-mode="dark"] .gform select,:root[data-mode="dark"] .dlg .card input,:root[data-mode="dark"] .dlg .card select,:root[data-mode="dark"] .pedit input,:root[data-mode="dark"] .pedit textarea,:root[data-mode="dark"] textarea,:root[data-mode="dark"] select{background-color:var(--field);color:var(--ink)}
:root[data-mode="dark"] .search input:focus,:root[data-mode="dark"] .cin input:focus,:root[data-mode="dark"] .auth input:focus{background-color:var(--bg)}
:root[data-mode="dark"] input::placeholder,:root[data-mode="dark"] textarea::placeholder{color:var(--sub);opacity:1}
:root[data-mode="dark"] .tabs,:root[data-mode="dark"] .com div,:root[data-mode="dark"] .coms{background:var(--field)}
:root[data-mode="dark"] .coms{background:var(--page)}
:root[data-mode="dark"] .mecard:hover{background:var(--field)}
:root[data-mode="dark"] .danger:hover,:root[data-mode="dark"] .more[aria-label^="Delete"]:hover{background:#3a1820;color:#ff8a98}
:root[data-mode="dark"] .pill.hot,:root[data-mode="dark"] .mbar,:root[data-mode="dark"] .mline.hit{background:#3a1820;color:#ff9aa7}
:root[data-mode="dark"] .mline.hit{border-color:#a3293c}
:root[data-mode="dark"] .ans{background:#12301f;color:#6fdc98}
:root[data-mode="dark"] .svlist .card{color:var(--ink)}
:root[data-mode="dark"] .themes{background:var(--field)}
:root[data-mode="dark"] .themes button{border-color:var(--bg)}
:root[data-mode="dark"] .modebtn{background:var(--field)}
:root[data-mode="dark"] .nav button,:root[data-mode="dark"] .llinks a{color:var(--sub)}
:root[data-mode="dark"] .nav button:hover,:root[data-mode="dark"] .nav button.act,:root[data-mode="dark"] .llinks a:hover,:root[data-mode="dark"] .llinks a[aria-current]{color:var(--accent)}
:root[data-mode="dark"] .logo,:root[data-mode="dark"] .lhead .logo,:root[data-mode="dark"] .lfoot .logo{color:var(--ink)}
:root[data-mode="dark"] a{color:inherit}
:root[data-mode="dark"] .chip,:root[data-mode="dark"] .fol{color:var(--accent)}
:root[data-mode="dark"] .fol.is{color:var(--ink)}
:root[data-mode="dark"] img.mimg,:root[data-mode="dark"] .qr{background:#fff}
:root[data-mode="dark"] .vbox,:root[data-mode="dark"] .phead>.vbox{border-left-color:var(--accent)}
:root[data-mode="dark"] .vbox.ok,:root[data-mode="dark"] .phead>.vbox.ok{border-left-color:#1d9bf0}
.atabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;border-radius:999px}
.atabs::-webkit-scrollbar{display:none}
.atabs button{flex:none}
.tn{font-style:normal;font-size:12px;font-weight:600;margin-left:4px;padding:1px 7px;border-radius:999px;background:var(--soft);color:var(--accent)}
.atabs button[aria-pressed="true"] .tn{background:rgba(255,255,255,.25);color:#fff}
.abanner{display:flex;flex-direction:column;gap:2px;border-left:4px solid var(--accent)}
.abanner.ok{border-left-color:#16a34a}
.abanner .sub{margin:0}
.sgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sgrid.inner{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:12px}
.stile,.stat{display:flex;flex-direction:column;gap:2px;text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:0 1px 2px rgba(0,0,0,.05);min-height:44px}
.stat{box-shadow:none;background:var(--page);border-color:transparent}
.stile{cursor:pointer;transition:border-color .15s,transform .15s}
.stile:hover{border-color:var(--accent);transform:translateY(-1px)}
.stile.hot .sv{color:var(--accent)}
.sv{font-size:28px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}
.sl{font-weight:600}
.ss{font-size:13px;color:var(--sub)}
.ah{margin:18px 0 8px;font-size:14px;color:var(--sub);font-weight:600}
.ahead{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ahead h3{margin:0}
.spark{display:flex;align-items:flex-end;gap:8px;height:96px}
.sb{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}
.sb i{display:block;width:100%;max-width:36px;background:var(--accent);border-radius:6px 6px 2px 2px;opacity:.85}
.sb small{font-size:11px;color:var(--sub)}
@media (min-width:700px){.sgrid:not(.inner){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.stile{transition:none}}
.abanner{background:var(--bg)}
.abanner:not(.ok){background:var(--soft)}
.sgrid.inner{grid-template-columns:repeat(2,minmax(0,1fr))}
.sgrid.inner .stat:last-child:nth-child(odd){grid-column:span 2}
@media (min-width:700px){
.sgrid.inner{grid-template-columns:repeat(6,minmax(0,1fr))}
.sgrid.inner .stat{grid-column:span 2}
.sgrid.inner .stat:nth-child(-n+2){grid-column:span 3}
.sgrid.inner .stat:last-child:nth-child(odd){grid-column:span 2}
}
.abar{border-left:4px solid var(--accent);background:var(--soft);font-weight:500;overflow-wrap:anywhere}
.swrow{display:flex;gap:12px;align-items:flex-start;padding:10px 0;cursor:pointer}
.swrow input{width:22px;height:22px;margin-top:2px;flex:none;accent-color:var(--accent)}
.swrow span{display:flex;flex-direction:column}
.swrow small{color:var(--sub);font-size:13px;font-weight:400}
.urow+.urow{margin-top:0}
a.fol{display:inline-block;text-decoration:none}
.gform label.swrow,label.swrow{display:flex;flex-direction:row;align-items:flex-start;gap:12px;margin:0}
.gform label.swrow input[type=checkbox]{width:22px;min-width:22px;height:22px;margin:2px 0 0;padding:0}
.chart{display:block;width:100%;height:auto;overflow:visible}
.chart .gl{stroke:var(--line);stroke-width:1}
.chart .gt{fill:var(--sub);font-size:11px}
.ch{margin:0 0 8px;font-size:16px}
.lg{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 8px;font-size:13px;color:var(--sub)}
.lg span{display:inline-flex;align-items:center;gap:6px}
.lg i{width:10px;height:10px;border-radius:3px;display:inline-block}
.lg b{color:var(--ink)}
.hb{display:flex;flex-direction:column;gap:10px}
.hbr{display:grid;grid-template-columns:minmax(70px,30%) 1fr auto;gap:10px;align-items:center;font-size:14px}
.hbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize}
.hbt{height:10px;background:var(--page);border-radius:999px;overflow:hidden}
.hbt i{display:block;height:100%;background:var(--accent);border-radius:999px}
.pb{margin:0 0 14px}
.pbh{display:flex;justify-content:space-between;font-size:14px;margin-bottom:4px}
.pbt{height:10px;background:var(--page);border-radius:999px;overflow:hidden}
.pbt i{display:block;height:100%;background:var(--accent);border-radius:999px}
.pb small{color:var(--sub);font-size:12px}
.sgrid>.stat.card{background:var(--bg);border:1px solid var(--line);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.chips+.chart,.card>.chips{margin-bottom:4px}
.abar p{margin:0}
.abar p+p{margin-top:8px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}
.annt{white-space:pre-wrap;overflow-wrap:anywhere;padding:4px 0 8px}
.ann .ph{align-items:flex-start}
.dlg .gform>.ph{padding:0 0 8px}
.dlg .gform .rmeta{padding:0 0 4px}
.dlg .gform .ah{margin:16px 0 6px}
.dlg .gform .sub{margin:0 0 8px}
.dlg .gform .prow{flex-wrap:wrap;margin-bottom:8px}
.dlg .gform .prow .btn,.dlg .gform .prow .fol,.dlg .gform .prow .danger{flex:1 1 140px}
.dlg .gform input:disabled{opacity:.6}
.adcard{padding:0;overflow:hidden}
.adtag{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--sub);padding:10px 16px 0}
.adimg{display:block;width:100%;max-height:300px;object-fit:cover;margin-top:8px}
.adbody{padding:12px 16px 16px}
.adbody b{display:block;font-size:16px}
.adbody p{margin:6px 0 12px;color:var(--sub);line-height:1.45;overflow-wrap:anywhere}
.adcta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;margin:0;text-decoration:none}
.adside .adimg{max-height:180px}
#adSide{display:grid;gap:12px;margin-bottom:12px}
#adSide[hidden]{display:none}
.adthumb{width:44px;height:44px;border-radius:10px;object-fit:cover;flex:none}
.adrow .rmeta span{overflow-wrap:anywhere}
.sinfo{display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:center;font-size:13px;color:var(--sub);margin:10px 0 0}.sinfo a{color:inherit}.left .sinfo{justify-content:flex-start;padding:0 14px}.mnote{background:var(--soft);color:var(--ink);border-radius:12px;padding:10px 14px;margin:0 0 12px;font-size:14px;line-height:1.45}
.rcheck{display:flex;align-items:center;gap:10px;padding:12px 16px 0;font-size:14px;font-weight:600;cursor:pointer}.rcheck input{width:20px;height:20px;margin:0;accent-color:var(--accent)}.rbulk{margin-top:12px}.rbulk button:disabled{opacity:.5}
body.adm-on>header,body.adm-on .bottom,body.adm-on .left,body.adm-on .right,body.adm-on #stories,body.adm-on #composer,body.adm-on #vbar,body.adm-on #mbar{display:none!important}
body.adm-on .wrap{display:block;max-width:none;margin:0;padding:calc(88px + env(safe-area-inset-top,0px)) 32px 56px 296px}
body.adm-on #main{max-width:1180px;margin:0 auto}
#admshell[hidden],#app[hidden]~#admshell{display:none}
.adm-side{position:fixed;z-index:30;top:0;bottom:0;left:0;width:264px;display:flex;flex-direction:column;background:var(--bg);border-right:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.adm-brand{display:flex;align-items:center;gap:12px;height:64px;padding:0 20px;box-sizing:border-box;border-bottom:1px solid var(--line);flex:none}
.adm-brand img{border-radius:8px;flex:none}
.adm-brand b{display:block;font-size:15px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px}
.adm-brand span{display:block;font-size:12px;color:var(--sub);line-height:1.25}
.adm-nav{flex:1;overflow-y:auto;padding:6px 12px 16px}
.adm-grp{padding:18px 10px 6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sub)}
.adm-nav button,.adm-foot button{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:10px;font-weight:500;color:var(--ink);text-align:left}
.adm-nav button svg,.adm-foot button svg{width:20px;height:20px;flex:none;color:var(--sub)}
.adm-nav button:hover,.adm-foot button:hover{background:var(--page)}
.adm-nav button.act{background:var(--soft);color:var(--accent);font-weight:600}
.adm-nav button.act svg{color:var(--accent)}
.adm-nav .badge{margin-left:auto;min-width:22px;text-align:center}
.adm-foot{flex:none;border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}
.adm-foot .pwr{margin:8px 0 0}
.adm-top{position:fixed;z-index:25;top:env(safe-area-inset-top,0px);left:264px;right:0;height:64px;display:flex;align-items:center;gap:12px;padding:0 32px;box-sizing:border-box;background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.adm-title{min-width:0;margin-right:auto}
.adm-crumb{display:block;font-size:12px;color:var(--sub);line-height:1.2}
.adm-title h1{margin:0;font-size:20px;line-height:1.3;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adm-search{position:relative;width:300px;max-width:34vw;margin:0}
.adm-search svg{position:absolute;left:12px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--sub);pointer-events:none}
.adm-search input{width:100%;border:1px solid var(--line);background:var(--page);border-radius:10px;padding:9px 12px 9px 38px}
.adm-ibtn,.adm-burger{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;color:var(--sub);flex:none}
.adm-ibtn svg,.adm-burger svg{width:20px;height:20px}
.adm-ibtn:hover,.adm-burger:hover{background:var(--page);color:var(--ink)}
.adm-me{display:flex;align-items:center;gap:10px;padding:4px 12px 4px 4px;border-radius:999px;flex:none}
.adm-me:hover{background:var(--page)}
.adm-me b{display:block;font-size:14px;line-height:1.2}
.adm-me small{display:block;font-size:12px;color:var(--sub);line-height:1.2}
.adm-burger{display:none}
.adm-scrim{display:none}
@media (max-width:820px){
.adm-side{width:284px;transform:translateX(-100%);transition:transform .22s ease;box-shadow:0 12px 40px rgba(0,0,0,.28)}
body.adm-open .adm-side{transform:none}
body.adm-open .adm-scrim{display:block;position:fixed;inset:0;z-index:28;background:rgba(0,0,0,.45)}
.adm-top{left:0;padding:0 14px;gap:8px}
.adm-burger{display:grid}
.adm-search,.adm-me span{display:none}
.adm-me{padding:4px}
body.adm-on .wrap{padding:calc(80px + env(safe-area-inset-top,0px)) 14px 40px}
}
@media (min-width:821px) and (max-width:1100px){.adm-search{width:220px}body.adm-on .wrap{padding-right:20px}}
@media (prefers-reduced-motion:reduce){.adm-side{transition:none}}
body.adm-on .ui-toast-region{bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px))}
:root[data-mode="dark"] .ftabs button[aria-pressed="true"],
:root[data-mode="dark"] .badge,
:root[data-mode="dark"] .bub.me,
:root[data-mode="dark"] .splus,
:root[data-mode="dark"] .chips button[aria-pressed="true"],
:root[data-mode="dark"] .onbints .chip[aria-pressed="true"],
:root[data-mode="dark"] .evdate span,
:root[data-mode="dark"] .fol:hover,
:root[data-mode="dark"] .chip[id=pollTog][aria-pressed="true"],
:root[data-mode="dark"] .chip[id=schedTog][aria-pressed="true"],
:root[data-mode="dark"] #prayTog[aria-pressed="true"]{background:color-mix(in srgb,var(--accent) 76%,#000)}
:root[data-mode="dark"] .btn{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 76%,#000),color-mix(in srgb,var(--accent) 58%,#000))}
:root[data-mode="dark"] .tabs button[aria-pressed="true"],:root[data-mode="dark"] .chips button[aria-pressed="true"]{border-color:color-mix(in srgb,var(--accent) 76%,#000)}

:root[data-mode="dark"]{--accent-on:color-mix(in srgb,var(--accent) 72%,#000)}
:root[data-mode="dark"] .btn{background:linear-gradient(135deg,var(--accent-on),color-mix(in srgb,var(--accent-on) 78%,#000))}
:root[data-mode="dark"] .ftabs button[aria-pressed="true"],:root[data-mode="dark"] .badge,:root[data-mode="dark"] .bub.me,:root[data-mode="dark"] .splus,:root[data-mode="dark"] .chips button[aria-pressed="true"],:root[data-mode="dark"] .onbints .chip[aria-pressed="true"],:root[data-mode="dark"] .evdate span,:root[data-mode="dark"] .fol:hover,:root[data-mode="dark"] .chip[id=pollTog][aria-pressed="true"],:root[data-mode="dark"] .chip[id=schedTog][aria-pressed="true"],:root[data-mode="dark"] #prayTog[aria-pressed="true"]{background:var(--accent-on)}

.seen{font-size:13px;color:var(--sub,#555)}
.seen.on{color:#1a9c4b;font-weight:600}
.seen.on::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#1a9c4b;margin-right:6px;vertical-align:middle}
.hseen{display:flex;align-items:center;gap:8px;margin:10px 0}
.hseen input{width:auto}

.mfile{display:flex;align-items:center;gap:10px;padding:8px 10px;margin:2px 0 4px;border-radius:12px;background:rgba(0,0,0,.08);color:inherit;text-decoration:none;max-width:260px}
.bub.me .mfile{background:rgba(255,255,255,.2)}
.mfile:hover{filter:brightness(.95)}
.mfic{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:rgba(0,0,0,.12)}
.mfn{min-width:0;display:flex;flex-direction:column}
.mfn b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}
.mfn small{margin:0!important}
.mfile.pend{background:var(--page);color:var(--ink);max-width:none;position:relative;padding-right:36px}
.mfx{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:0;background:transparent;font-size:20px;cursor:pointer;color:inherit}

.vprev{display:flex;align-items:center;gap:8px;position:relative;padding:6px 40px 6px 0}
.vprev audio{flex:1;min-width:0;max-width:320px;height:40px}
.vprev small{color:var(--sub)}

.mvid{display:block;width:260px;max-width:100%;max-height:340px;border-radius:12px;background:#000;margin-bottom:4px}
.vprev .mvid{width:200px;max-height:200px;margin:0}
.livev{transform:scaleX(-1);width:200px;max-height:200px;object-fit:cover}
@media (max-width:400px){.mvid{width:220px}}

.mdel{display:inline-block;margin-left:8px;min-height:0;padding:0;opacity:.6;vertical-align:middle;background:none;border:0;color:inherit;cursor:pointer}
.mdel:hover{opacity:1}
.mdel svg{width:13px;height:13px}
.bub.gone{opacity:.65;font-style:italic}

.rcpt{align-self:flex-end;text-align:right;font-size:11px;color:var(--sub);margin:-2px 8px 6px}
.rcpt.rd{color:var(--accent);font-weight:600}

.callline{align-self:center;display:flex;align-items:center;gap:8px;background:var(--page);border-radius:999px;padding:6px 14px;font-size:13px;max-width:90%}.callline b{font-weight:600}.callline small{opacity:.7;font-size:11px}.callline .callic{display:grid;place-items:center;width:18px;height:18px}.callline .callic svg{width:16px;height:16px}.callline.miss,.callline.miss .callic{color:#e5484d}.misscall{color:#e5484d}

.tagcard .tagchip{display:inline-block;margin:4px 6px 0 0;padding:4px 10px;border-radius:999px;background:var(--page);color:var(--accent);font-weight:600;text-decoration:none}.tagcard .fol{margin-top:10px}

#mentionbox{position:fixed;z-index:9999;min-width:220px;max-width:min(320px,92vw);background:var(--card,#fff);color:inherit;border:1px solid rgba(128,128,128,.35);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.2);overflow:hidden}#mentionbox button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:0;background:none;color:inherit;text-align:left;cursor:pointer;font:inherit}#mentionbox button.on,#mentionbox button:hover{background:var(--page)}#mentionbox span{display:flex;flex-direction:column;min-width:0}#mentionbox small{opacity:.7}

.pedit textarea{width:100%;box-sizing:border-box;font:inherit;padding:10px;border-radius:10px;border:1px solid rgba(128,128,128,.4);background:var(--page);color:inherit;resize:vertical}.pedit .prow{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}
#recentbox{position:fixed;z-index:9998;background:var(--card,#fff);color:inherit;border:1px solid rgba(128,128,128,.35);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.2);overflow:hidden}#recentbox .rhead{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px}#recentbox .rhead button{border:0;background:none;color:var(--accent);font:inherit;cursor:pointer}#recentbox .ritem{display:flex;align-items:center}#recentbox .rgo{flex:1;display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;min-width:0}#recentbox .rgo span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#recentbox .rx{border:0;background:none;color:inherit;font-size:20px;padding:6px 14px;cursor:pointer;opacity:.7}#recentbox .rgo:hover,#recentbox .ritem:hover{background:var(--page)}

.acts .discount{font-size:13px;min-width:0;padding:0 6px}.acts [data-act=dislike].on{color:#e5484d}.ctime{opacity:.6;margin-left:6px}
#dismodal{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.5);display:grid;place-items:center;padding:16px}#dismodal .dmbox{background:var(--card,#fff);color:inherit;border-radius:14px;width:min(420px,100%);max-height:80vh;display:flex;flex-direction:column;overflow:hidden}#dismodal .dmh{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(128,128,128,.25)}#dismodal .dmh button{border:0;background:none;color:inherit;font-size:24px;cursor:pointer}#dismodal .dml{overflow:auto}
.dmu{display:flex;align-items:center;gap:10px;padding:10px 16px;color:inherit;text-decoration:none}.dmu:hover{background:var(--page)}.dmu span{display:flex;flex-direction:column;min-width:0}.dmu small{opacity:.7}.srchbar .dmu{padding-left:0;padding-right:0}

.actl{font-weight:400;opacity:.9}.actl .actt{font-weight:600;color:inherit;text-decoration:none}#actbox{padding:8px 0}#actbox .chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}#actbox .chip[aria-pressed=true]{background:var(--accent);color:#fff}.actrow{display:flex;gap:8px;align-items:center}.actrow input{flex:1;min-width:0;padding:9px 12px;border-radius:10px;border:1px solid rgba(128,128,128,.4);background:var(--page);color:inherit;font:inherit}
