/* Ringa v0.2 social expansion */
:root{--ringa-v02-accent:#ff5a55;--ringa-v02-accent2:#ff7a21;--ringa-v02-glass:rgba(18,18,25,.86);--ringa-v02-line:rgba(255,255,255,.09)}

/* Feed actions: free-floating rather than one enclosing bubble. */
.ringa-card-body.ringa-actions-zone{background:transparent!important;border:0!important;box-shadow:none!important;padding:8px 12px 12px!important}
.ringa-actions,.ringa-actions-left{background:transparent!important;border:0!important;box-shadow:none!important}
.ringa-actions-left{display:flex;gap:22px;align-items:center}
.ringa-actions .ringa-action-btn{background:transparent!important;border:0!important;border-radius:0!important;padding:5px 2px!important;box-shadow:none!important;min-width:0!important}
.ringa-actions .ringa-action-btn:hover,.ringa-actions .ringa-action-btn:active{background:transparent!important;transform:scale(.96)}
.ringa-actions .ringa-action-btn .ringa-svg-icon{width:25px;height:25px}
.ringa-actions .ringa-action-btn .count{font-size:13px}

/* Reaction cloud */
.ringa-actions-left,.ringa-reel-action-wrap{position:relative}
.ringa-reactions-picker{position:absolute!important;left:0;bottom:44px;z-index:1003000;display:none;align-items:center;gap:2px;padding:7px 8px;background:rgba(18,16,22,.97);border:1px solid rgba(255,255,255,.12);border-radius:999px;box-shadow:0 14px 40px rgba(0,0,0,.46);backdrop-filter:blur(18px);animation:ringaReactionPop .16s ease-out}
.ringa-reel-action-wrap .ringa-reactions-picker{left:auto;right:48px;bottom:4px}
.ringa-reactions-picker button{display:grid;place-items:center;width:42px;height:42px;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;font-size:27px;line-height:1;transition:transform .15s ease,background .15s ease}
.ringa-reactions-picker button:hover,.ringa-reactions-picker button:active{transform:translateY(-5px) scale(1.22);background:rgba(255,255,255,.08)!important}
@keyframes ringaReactionPop{from{opacity:0;transform:translateY(6px) scale(.94)}to{opacity:1;transform:none}}

/* Stories */
.ringa-stories{padding:12px 0 10px;border-bottom:1px solid var(--ringa-v02-line);margin-bottom:4px;overflow:hidden}
.ringa-stories-head{display:flex;align-items:center;justify-content:space-between;padding:0 20px 9px}.ringa-stories-head strong{font-size:17px}.ringa-stories-head a{font-size:13px;color:#ff7a39;text-decoration:none;font-weight:800}
.ringa-stories-rail{display:flex;gap:10px;overflow-x:auto;padding:0 14px 5px;scrollbar-width:none;scroll-snap-type:x proximity}.ringa-stories-rail::-webkit-scrollbar{display:none}
.ringa-story-card{appearance:none;border:0;background:transparent;color:#fff;width:78px;min-width:78px;padding:0;display:flex;flex-direction:column;align-items:center;gap:6px;scroll-snap-align:start;cursor:pointer;font:inherit}
.ringa-story-thumb{width:66px;height:66px;display:grid;place-items:center;position:relative;border-radius:50%;padding:3px;background:linear-gradient(135deg,#ff315f,#ff8127);box-shadow:0 5px 18px rgba(255,90,50,.16)}
.ringa-story-thumb:before{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--ringa-story-bg,rgba(255,255,255,.07)) center/cover no-repeat}
.ringa-story-thumb img{position:relative;z-index:1;width:58px!important;height:58px!important;object-fit:cover;border-radius:50%;border:2px solid #11131a}
.ringa-story-card.is-seen .ringa-story-thumb{background:rgba(255,255,255,.18);box-shadow:none}
.ringa-story-card-add .ringa-story-thumb{background:rgba(255,255,255,.13)}.ringa-story-card-add .ringa-story-thumb:before{background:#171820}
.ringa-story-card-add .ringa-story-thumb i{position:absolute;z-index:3;right:-1px;bottom:0;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ff315f,#ff8127);border:2px solid #0e1016;font-style:normal;font-size:18px;font-weight:900;line-height:1}
.ringa-story-name{width:100%;font-size:11px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;color:rgba(255,255,255,.86)}

.ringa-story-viewer{position:fixed;z-index:2000000;inset:0;background:#050609;color:#fff;overflow:hidden}
.ringa-story-viewer-media{position:absolute;inset:0;display:grid;place-items:center;background:#050609}.ringa-story-viewer-media img,.ringa-story-viewer-media video{width:100%;height:100%;object-fit:contain;background:#050609}
.ringa-story-viewer-head{position:absolute;z-index:6;left:0;right:0;top:0;padding:calc(env(safe-area-inset-top,0px) + 24px) 16px 12px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(0,0,0,.72),transparent)}
.ringa-story-viewer-author{display:flex;align-items:center;gap:9px}.ringa-story-viewer-author img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.85)}.ringa-story-viewer-author div{display:flex;flex-direction:column}.ringa-story-viewer-author strong{font-size:14px}.ringa-story-viewer-author small{font-size:11px;color:rgba(255,255,255,.7)}
#ringaStoryViewerClose{appearance:none;border:0;background:rgba(0,0,0,.34);color:#fff;width:42px;height:42px;border-radius:50%;font-size:30px;line-height:1}
.ringa-story-viewer-progress{position:absolute;z-index:8;top:calc(env(safe-area-inset-top,0px) + 9px);left:10px;right:10px;display:flex;gap:4px}.ringa-story-viewer-progress span{height:3px;flex:1;background:rgba(255,255,255,.3);border-radius:9px;overflow:hidden}.ringa-story-viewer-progress i{display:block;height:100%;width:0;background:#fff}.ringa-story-viewer-progress span.is-done i{width:100%}.ringa-story-viewer-progress span.is-current i{animation:ringaStoryProgress 5s linear forwards}@keyframes ringaStoryProgress{to{width:100%}}
.ringa-story-viewer-caption{position:absolute;z-index:6;left:16px;right:16px;bottom:calc(34px + env(safe-area-inset-bottom,0px));padding:12px 14px;background:rgba(0,0,0,.42);border-radius:15px;backdrop-filter:blur(8px);font-size:14px;line-height:1.4}.ringa-story-viewer-caption:empty{display:none}
.ringa-story-nav{position:absolute;z-index:5;top:88px;bottom:74px;width:35%;appearance:none;border:0;background:transparent}.ringa-story-prev{left:0}.ringa-story-next{right:0}
body.ringa-story-open{overflow:hidden!important}

/* Drawer reliability + new menu destinations */
.ringa-drawer-backdrop{z-index:1000800!important}.ringa-app-drawer{z-index:1000900!important;pointer-events:none}.ringa-drawer-open .ringa-app-drawer{pointer-events:auto!important}
.ringa-drawer-nav a .ringa-svg-icon:first-child{width:22px;height:22px;color:#ff7740}.ringa-drawer-nav a{touch-action:manipulation}

/* Reels: edge-to-edge 9:16/full-phone experience. */
body.page-template-page-videos{background:#000!important;overflow:hidden!important}
body.page-template-page-videos .ringa-app{max-width:none!important;width:100%!important;background:#000!important}
body.page-template-page-videos .ringa-bottom-nav{background:linear-gradient(to top,rgba(0,0,0,.86),rgba(0,0,0,.28),transparent)!important;border:0!important;backdrop-filter:none!important}
.ringa-reels{position:fixed!important;inset:0!important;background:#000!important;z-index:10!important;overflow:hidden!important;padding:0!important;margin:0!important}
.ringa-reels-snap{height:100%;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior-y:contain}.ringa-reels-snap::-webkit-scrollbar{display:none}
.ringa-reel{position:relative!important;width:100%!important;height:calc(var(--ringa-vh,1vh)*100)!important;min-height:calc(var(--ringa-vh,1vh)*100)!important;scroll-snap-align:start;scroll-snap-stop:always;background:#000;overflow:hidden;border:0!important;border-radius:0!important;margin:0!important}
.ringa-reel-media{position:absolute;inset:0;background:#000;overflow:hidden}
.ringa-reel-media::before{content:"";position:absolute;inset:-5%;background-image:var(--ringa-reel-backdrop,none);background-position:center;background-size:cover;background-repeat:no-repeat;filter:blur(24px) brightness(.48) saturate(.9);transform:scale(1.08);opacity:0;transition:opacity .18s ease;pointer-events:none}
.ringa-reel-media.has-ringa-reel-backdrop::before{opacity:1}
.ringa-reel-video,.ringa-reel-media iframe{width:100%!important;height:100%!important;border:0}
.ringa-reel-video{position:relative;z-index:1;object-fit:contain!important;object-position:center center!important;background:transparent!important}
.ringa-reel-media iframe{object-fit:contain!important;background:#000}
.ringa-reel-gradient{position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.18) 0%,transparent 20%,transparent 54%,rgba(0,0,0,.76) 100%)}
.ringa-reels-topglass{position:fixed;z-index:1000050;top:calc(env(safe-area-inset-top,0px) + 12px);left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;text-shadow:0 2px 10px rgba(0,0,0,.65)}.ringa-reels-topglass strong{font-size:20px}.ringa-reels-topglass a{pointer-events:auto;color:#fff;text-decoration:none;font-size:13px;font-weight:800;background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.18);padding:8px 13px;border-radius:999px;backdrop-filter:blur(12px)}
.ringa-reel-actions{position:absolute!important;z-index:5!important;right:10px!important;bottom:calc(105px + env(safe-area-inset-bottom,0px))!important;display:flex!important;flex-direction:column!important;gap:15px!important;align-items:center!important;background:transparent!important;border:0!important}
.ringa-reel-action,.ringa-reel-author-avatar{width:50px;min-height:50px;border:0;background:transparent;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-shadow:0 2px 9px rgba(0,0,0,.72);font:inherit;text-decoration:none}.ringa-reel-action .ringa-svg-icon{width:29px;height:29px;filter:drop-shadow(0 2px 5px rgba(0,0,0,.65))}.ringa-reel-action span{font-size:10px;font-weight:800}.ringa-reel-action.is-reacted{color:#ff5b54}.ringa-reel-action.is-saved{color:#ff8b31}
.ringa-reel-author-avatar{width:48px;height:48px;border-radius:50%;padding:2px;background:linear-gradient(135deg,#ff365c,#ff8a20)}.ringa-reel-author-avatar img{width:44px!important;height:44px!important;border-radius:50%;object-fit:cover;border:2px solid #070707}
.ringa-reel-meta{position:absolute;z-index:4;left:16px;right:76px;bottom:calc(88px + env(safe-area-inset-bottom,0px));color:#fff;text-shadow:0 2px 9px rgba(0,0,0,.78)}
.ringa-reel-author-line{display:flex;align-items:center;gap:10px;margin-bottom:7px}.ringa-reel-author-line>a{font-weight:900;color:#fff;text-decoration:none}.ringa-reel-author-line .ringa-follow-btn{min-height:30px!important;padding:5px 11px!important;font-size:12px!important}
.ringa-reel-caption{position:relative;max-height:3.2em;overflow:hidden;font-size:14px;line-height:1.45;padding-right:42px}.ringa-reel-caption .ringa-caption-more{display:block!important;position:absolute;right:0;bottom:0;border:0;background:transparent;color:#fff;font-weight:900;padding:0;text-shadow:inherit}
.ringa-reel-sound{position:absolute;z-index:6;right:16px;top:64px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.34);color:#fff;backdrop-filter:blur(8px)}
.ringa-reel-empty{display:grid;place-items:center;text-align:center;color:#fff}.ringa-reel-empty>div{padding:30px}.ringa-reel-empty strong{font-size:28px}.ringa-reel-empty p{color:rgba(255,255,255,.65)}

/* Create destination switch + Story composer */
.ringa-create-destination-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;margin:12px 24px 8px;border:1px solid rgba(255,255,255,.1);background:rgba(22,22,29,.72);border-radius:999px}.ringa-create-destination-tab{appearance:none;border:0;background:transparent;color:rgba(255,255,255,.58);font:inherit;font-weight:900;padding:10px;border-radius:999px}.ringa-create-destination-tab.is-active{color:#fff;background:linear-gradient(135deg,#ff315f,#ff8127);box-shadow:0 5px 20px rgba(255,82,55,.22)}
.ringa-story-create-panel{margin:14px 24px 120px;display:flex;flex-direction:column;gap:14px}.ringa-story-create-panel[hidden]{display:none!important}
.ringa-story-create-intro{display:flex;gap:12px;align-items:center;padding:4px 2px}.ringa-story-create-intro>div{display:flex;flex-direction:column}.ringa-story-create-intro small{color:rgba(255,255,255,.56);margin-top:2px}.ringa-story-create-orb{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font-size:28px;background:linear-gradient(135deg,#ff315f,#ff8127)}
.ringa-story-dropzone{min-height:300px;border:1px dashed rgba(255,124,56,.5);border-radius:28px;background:radial-gradient(circle at 50% 20%,rgba(255,89,47,.12),transparent 45%),rgba(20,21,28,.7);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;padding:28px;cursor:pointer}.ringa-story-camera{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;font-size:36px;background:rgba(255,255,255,.07);color:#ff7a38}.ringa-story-dropzone small{color:rgba(255,255,255,.52)}
.ringa-story-create-preview{height:min(62vh,560px);border-radius:28px;overflow:hidden;background:#000;border:1px solid rgba(255,255,255,.09)}.ringa-story-create-preview img,.ringa-story-create-preview video{width:100%;height:100%;object-fit:contain;background:#000}
.ringa-story-create-progress{position:relative;height:38px;border-radius:12px;background:rgba(255,255,255,.07);overflow:hidden}.ringa-story-create-progress i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,rgba(255,49,95,.55),rgba(255,129,39,.65))}.ringa-story-create-progress span{position:relative;z-index:1;display:grid;place-items:center;height:100%;font-size:12px;font-weight:800}
#ringaStoryCaption{width:100%;min-height:86px;resize:none;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(20,21,28,.85);color:#fff;padding:14px;font:inherit;outline:none}#ringaStoryCaption:focus{border-color:rgba(255,123,55,.58)}.ringa-story-create-actions{display:flex;gap:10px}.ringa-story-create-actions .is-primary{flex:1}

/* Profile v0.2 */
.ringa-profile-v02{padding-top:0!important}.ringa-profile-hero{position:relative;border-bottom:1px solid var(--ringa-v02-line);padding-bottom:16px;background:transparent!important;border-radius:0!important;box-shadow:none!important}
.ringa-profile-cover{height:200px;position:relative;background:radial-gradient(circle at 35% 20%,rgba(255,91,51,.28),transparent 38%),linear-gradient(135deg,#21161a,#101117 64%);background-image:var(--ringa-cover),radial-gradient(circle at 35% 20%,rgba(255,91,51,.28),transparent 38%),linear-gradient(135deg,#21161a,#101117 64%);background-size:cover;background-position:center}
.ringa-cover-upload{position:absolute;right:16px;bottom:14px;display:flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(5,6,9,.58);backdrop-filter:blur(12px);color:#fff;padding:8px 12px;font:inherit;font-size:12px;font-weight:800}.ringa-cover-upload .ringa-svg-icon{width:17px;height:17px}
.ringa-profile-identity-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:12px;padding:0 18px;margin-top:-48px;position:relative;z-index:2}.ringa-profile-avatar-wrap{align-self:start}.ringa-profile-avatar-button{position:relative;appearance:none;border:0;background:transparent;padding:0;width:112px;height:112px;border-radius:50%}.ringa-profile-avatar-img{width:112px!important;height:112px!important;border-radius:50%;object-fit:cover;border:5px solid #0d0f14;box-shadow:0 9px 28px rgba(0,0,0,.4)}.ringa-profile-camera{position:absolute;inset:0;margin:auto;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(10,11,16,.68);border:1px solid rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(8px)}.ringa-profile-camera .ringa-svg-icon{width:22px;height:22px}
.ringa-profile-nameblock{min-width:0;padding-bottom:7px}.ringa-profile-nameblock h1{margin:0;font-size:25px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ringa-profile-nameblock>span{display:block;margin-top:5px;color:rgba(255,255,255,.57);font-size:13px}.ringa-profile-tools{display:flex;gap:6px;align-items:center;padding-bottom:5px}.ringa-profile-tool{width:42px;height:42px;border:1px solid rgba(255,255,255,.12);border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.035)}.ringa-profile-tool .ringa-svg-icon{width:21px;height:21px}
.ringa-profile-statline{display:grid;grid-template-columns:repeat(4,1fr);margin:16px 16px 0;border-top:1px solid rgba(255,255,255,.07);padding-top:14px}.ringa-profile-statline>a,.ringa-profile-statline>span{text-decoration:none;color:#fff;display:flex;flex-direction:column;align-items:center;gap:2px}.ringa-profile-statline strong{font-size:19px}.ringa-profile-statline span span,.ringa-profile-statline a span{font-size:11px;color:rgba(255,255,255,.52)}
.ringa-profile-tabs{position:sticky;top:var(--ringa-topbar-h,74px);z-index:20;display:flex;gap:6px;overflow-x:auto;padding:10px 14px;background:rgba(10,11,16,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--ringa-v02-line);scrollbar-width:none}.ringa-profile-tabs::-webkit-scrollbar{display:none}.ringa-profile-tabs a{flex:0 0 auto;min-width:100px;text-align:center;padding:9px 13px;border-radius:999px;color:rgba(255,255,255,.58);font-weight:850;text-decoration:none;font-size:13px}.ringa-profile-tabs a.is-active{color:#fff;background:linear-gradient(135deg,rgba(255,49,95,.72),rgba(255,129,39,.74));box-shadow:0 7px 18px rgba(255,94,48,.13)}
.ringa-profile-feed{padding-top:8px!important}.ringa-profile-about{margin:14px 18px 110px;padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:rgba(18,19,25,.7)}.ringa-profile-about h2{margin-top:0}.ringa-about-row{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.07)}.ringa-about-row>span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#ff7a39;font-weight:900}.ringa-about-row p{margin:5px 0 0;color:rgba(255,255,255,.8)}
.ringa-avatar-sheet-backdrop{position:fixed;z-index:1800000;inset:0;background:rgba(0,0,0,.62)}.ringa-avatar-sheet{position:fixed;z-index:1800001;left:10px;right:10px;bottom:calc(12px + env(safe-area-inset-bottom,0px));background:#171820;border:1px solid rgba(255,255,255,.12);border-radius:26px;padding:10px 12px 14px;box-shadow:0 20px 60px rgba(0,0,0,.55)}.ringa-avatar-sheet .ringa-sheet-handle{width:42px;height:4px;border-radius:8px;background:rgba(255,255,255,.22);margin:0 auto 10px}.ringa-avatar-sheet>strong{display:block;padding:7px 10px 10px}.ringa-avatar-sheet button{width:100%;text-align:left;border:0;border-top:1px solid rgba(255,255,255,.07);background:transparent;color:#fff;padding:15px 10px;font:inherit;font-weight:750}.ringa-avatar-lightbox{position:fixed;z-index:1900000;inset:0;background:rgba(0,0,0,.96);display:grid;place-items:center}.ringa-avatar-lightbox[hidden]{display:none}.ringa-avatar-lightbox img{max-width:100%;max-height:100%;object-fit:contain}.ringa-avatar-lightbox button{position:absolute;top:calc(18px + env(safe-area-inset-top,0px));right:18px;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:30px}

/* RC wallet, leaderboard, achievements */
.ringa-page-title{padding:28px 22px 18px}.ringa-page-title .ringa-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#ff7a38;font-weight:950}.ringa-page-title h1{font-size:34px;line-height:1.05;margin:8px 0 10px}.ringa-page-title p{margin:0;color:rgba(255,255,255,.61);line-height:1.55}
.ringa-rc-card{margin:6px 18px 18px;padding:24px;border:1px solid rgba(255,255,255,.1);border-radius:28px;background:radial-gradient(circle at 12% 0%,rgba(255,111,42,.24),transparent 42%),linear-gradient(145deg,#251719,#15161e 70%);box-shadow:0 18px 45px rgba(0,0,0,.23);position:relative}.ringa-rc-card>div:first-child{display:flex;flex-direction:column}.ringa-rc-card>div:first-child span{font-size:11px;font-weight:900;letter-spacing:.12em;color:rgba(255,255,255,.55)}.ringa-rc-card>div:first-child strong{font-size:48px;margin-top:8px}.ringa-rc-mark{position:absolute;right:22px;top:25px;padding:8px 10px;border:1px solid rgba(255,255,255,.13);border-radius:999px;font-weight:900;color:#ff7d36}.ringa-rc-card p{color:rgba(255,255,255,.6);font-size:13px;line-height:1.5}.ringa-rc-actions{display:flex;gap:10px}.ringa-rc-actions .ringa-pill{flex:1;text-align:center}.ringa-wallet-info{padding:4px 18px 110px}.ringa-wallet-grid{display:grid;gap:10px}.ringa-wallet-grid article{padding:17px;border:1px solid rgba(255,255,255,.07);border-radius:20px;background:rgba(255,255,255,.025)}.ringa-wallet-grid p{color:rgba(255,255,255,.58);margin-bottom:0}
.ringa-weekly-winner{margin:5px 18px 17px;padding:18px;border-radius:25px;border:1px solid rgba(255,141,48,.28);background:radial-gradient(circle at 10% 0%,rgba(255,134,35,.22),transparent 44%),rgba(20,20,27,.82);display:grid;grid-template-columns:auto auto 1fr;gap:12px;align-items:center}.ringa-crown{font-size:31px}.ringa-winner-avatar img{width:58px;height:58px;object-fit:cover;border-radius:50%;border:2px solid #ff8730}.ringa-weekly-winner>div:last-child{display:flex;flex-direction:column}.ringa-weekly-winner small{font-size:9px;letter-spacing:.13em;color:#ff8b36;font-weight:950}.ringa-weekly-winner strong{font-size:19px}.ringa-weekly-winner span{color:rgba(255,255,255,.56);font-size:11px}.ringa-top10{margin:0 14px 20px}.ringa-top10-head{display:flex;align-items:center;justify-content:space-between;padding:10px 5px}.ringa-top10-head h2{font-size:18px}.ringa-top10-head span{font-size:11px;color:rgba(255,255,255,.5)}.ringa-leader-row{display:grid;grid-template-columns:34px 48px minmax(0,1fr) auto;align-items:center;gap:9px;color:#fff;text-decoration:none;padding:11px 8px;border-bottom:1px solid rgba(255,255,255,.07)}.ringa-leader-row img{width:44px;height:44px;border-radius:50%;object-fit:cover}.ringa-rank{text-align:center;font-weight:950}.ringa-leader-name{display:flex;min-width:0;flex-direction:column}.ringa-leader-name strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ringa-leader-name small{font-size:10px;color:rgba(255,255,255,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ringa-leader-row>b{font-size:14px;color:#ff8536}.ringa-leaderboard-note{margin:0 20px 115px;color:rgba(255,255,255,.45);font-size:11px;line-height:1.5}
.ringa-achievement-grid{display:grid;gap:12px;padding:0 18px 115px}.ringa-achievement-grid article{padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:rgba(255,255,255,.025)}.ringa-achievement-grid article>span{font-size:30px}.ringa-achievement-grid strong{display:block;margin-top:8px}.ringa-achievement-grid p{color:rgba(255,255,255,.55);margin-bottom:0}

@media(max-width:390px){.ringa-story-card{width:72px;min-width:72px}.ringa-story-thumb{width:61px;height:61px}.ringa-story-thumb img{width:53px!important;height:53px!important}.ringa-profile-identity-row{grid-template-columns:auto minmax(0,1fr)}.ringa-profile-tools{grid-column:2;justify-self:start}.ringa-profile-statline{margin-inline:10px}.ringa-profile-statline strong{font-size:17px}}


/* =========================================================
   Ringa v0.4 polish
   ========================================================= */

/* Stories: the rail is the heading. No redundant Stories/Create row. */
.ringa-stories{padding:18px 0 12px!important}
.ringa-stories-head{display:none!important}
.ringa-stories-rail{padding:0 16px 5px!important;gap:12px!important}

/* Reaction tray: custom vector reactions with motion instead of platform emoji glyphs. */
.ringa-reactions-picker{
  gap:4px!important;padding:8px 9px 9px!important;
  background:rgba(13,14,20,.94)!important;border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 18px 54px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06)!important;
  transform:translateY(7px) scale(.92);opacity:0;transform-origin:left bottom;
  transition:opacity .16s ease,transform .18s cubic-bezier(.2,.85,.2,1.2)!important;
}
.ringa-reel-action-wrap .ringa-reactions-picker{transform-origin:right center}
.ringa-reactions-picker.is-open{opacity:1;transform:translateY(0) scale(1)}
.ringa-reactions-picker button{position:relative!important;width:48px!important;height:52px!important;overflow:visible!important;transform:translateY(8px) scale(.72);opacity:0;transition:transform .18s cubic-bezier(.2,.85,.2,1.35),opacity .16s ease!important}
.ringa-reactions-picker.is-open button{transform:translateY(0) scale(1);opacity:1}
.ringa-reactions-picker.is-open button:nth-child(2){transition-delay:.025s!important}.ringa-reactions-picker.is-open button:nth-child(3){transition-delay:.05s!important}.ringa-reactions-picker.is-open button:nth-child(4){transition-delay:.075s!important}.ringa-reactions-picker.is-open button:nth-child(5){transition-delay:.10s!important}.ringa-reactions-picker.is-open button:nth-child(6){transition-delay:.125s!important}
.ringa-reactions-picker button:hover,.ringa-reactions-picker button:active{transform:translateY(-8px) scale(1.2)!important;background:transparent!important}
.ringa-reaction-art{display:block;width:43px;height:43px;filter:drop-shadow(0 7px 9px rgba(0,0,0,.3));will-change:transform}
.ringa-reaction-art svg{display:block;width:100%;height:100%;overflow:visible}
.rx-disc{stroke:rgba(255,255,255,.18);stroke-width:1}.rx-like{fill:#ff6b2d}.rx-love{fill:#f33f65}.rx-face{fill:#ffd655}.rx-angry{fill:#f4514e}.rx-white,.rx-teeth{fill:#fff}.rx-dark,.rx-mouth{fill:#4b2a1f;stroke:#4b2a1f}.rx-tear{fill:#56b9f2}
.ringa-reaction-label{position:absolute;left:50%;bottom:-17px;transform:translateX(-50%) translateY(3px);opacity:0;pointer-events:none;padding:3px 6px;border-radius:7px;background:#050609;color:#fff;font-size:8px!important;line-height:1!important;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.35);transition:.12s ease}
.ringa-reactions-picker button:hover .ringa-reaction-label,.ringa-reactions-picker button:active .ringa-reaction-label{opacity:1;transform:translateX(-50%) translateY(0)}
.ringa-reactions-picker button[data-reaction="like"] .ringa-reaction-art{animation:ringaRxLike 1.8s ease-in-out infinite}.ringa-reactions-picker button[data-reaction="love"] .ringa-reaction-art{animation:ringaRxLove 1.25s ease-in-out infinite}.ringa-reactions-picker button[data-reaction="laugh"] .ringa-reaction-art{animation:ringaRxLaugh 1.25s ease-in-out infinite}.ringa-reactions-picker button[data-reaction="wow"] .ringa-reaction-art{animation:ringaRxWow 1.6s ease-in-out infinite}.ringa-reactions-picker button[data-reaction="sad"] .ringa-reaction-art{animation:ringaRxSad 1.9s ease-in-out infinite}.ringa-reactions-picker button[data-reaction="angry"] .ringa-reaction-art{animation:ringaRxAngry 1.15s ease-in-out infinite}
@keyframes ringaRxLike{0%,100%{transform:rotate(-3deg) scale(1)}45%{transform:rotate(7deg) scale(1.08)}70%{transform:rotate(-1deg) scale(1.02)}}
@keyframes ringaRxLove{0%,100%{transform:scale(1)}20%{transform:scale(1.12)}36%{transform:scale(.98)}52%{transform:scale(1.10)}70%{transform:scale(1)}}
@keyframes ringaRxLaugh{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-2px) rotate(-5deg)}50%{transform:translateY(1px) rotate(5deg)}75%{transform:translateY(-1px) rotate(-3deg)}}
@keyframes ringaRxWow{0%,100%{transform:scale(1)}50%{transform:scale(1.07) translateY(-2px)}}
@keyframes ringaRxSad{0%,100%{transform:translateY(0)}50%{transform:translateY(2px)}}
@keyframes ringaRxAngry{0%,100%{transform:translateX(0)}30%{transform:translateX(-1.5px) rotate(-2deg)}60%{transform:translateX(1.5px) rotate(2deg)}}

/* Reel double-tap feedback. */
.ringa-reel-tap-burst{position:absolute;z-index:7;left:50%;top:48%;width:116px;height:116px;margin:-58px 0 0 -58px;pointer-events:none;display:grid;place-items:center;opacity:0;transform:scale(.35) rotate(-12deg)}
.ringa-reel-tap-burst svg{width:100%;height:100%;filter:drop-shadow(0 12px 30px rgba(0,0,0,.42))}
.ringa-reel-tap-burst.is-like svg{fill:#ff6038;stroke:#fff;stroke-width:1.4}.ringa-reel-tap-burst.is-unlike svg{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.9);stroke-width:2.4}
.ringa-reel-tap-burst.is-like.is-animate{animation:ringaReelHeartIn .72s cubic-bezier(.18,.9,.2,1) forwards}.ringa-reel-tap-burst.is-unlike.is-animate{animation:ringaReelHeartOut .58s ease forwards}
@keyframes ringaReelHeartIn{0%{opacity:0;transform:scale(.3) rotate(-14deg)}30%{opacity:1;transform:scale(1.18) rotate(5deg)}58%{opacity:1;transform:scale(.94) rotate(-2deg)}75%{opacity:1;transform:scale(1.02)}100%{opacity:0;transform:scale(1.22)}}
@keyframes ringaReelHeartOut{0%{opacity:.9;transform:scale(1)}35%{opacity:.65;transform:scale(.84)}100%{opacity:0;transform:scale(.25)}}

/* Profile: three social stats only; wallet/analytics live in the profile navigation. */
.ringa-profile-statline{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:520px;margin-left:auto!important;margin-right:auto!important}
.ringa-profile-tabs{display:block!important;padding:10px 0!important;overflow-x:auto!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ringa-profile-tabs::-webkit-scrollbar{display:none}
.ringa-profile-tabs-track{display:flex;align-items:center;justify-content:center;gap:6px;width:max-content;min-width:100%;padding:0 14px;box-sizing:border-box;scroll-snap-type:x proximity}
.ringa-profile-tabs-track::-webkit-scrollbar{display:none}
.ringa-profile-tabs a{display:grid!important;place-items:center;flex:0 0 auto!important;min-width:104px!important;min-height:42px!important;padding:9px 14px!important;scroll-snap-align:center}
.ringa-profile-wallet,.ringa-profile-analytics{padding:20px 18px 120px;max-width:720px;margin:0 auto;width:100%}
.ringa-profile-wallet-card{padding:22px;border:1px solid rgba(255,255,255,.09);border-radius:26px;background:radial-gradient(circle at 15% 0%,rgba(255,105,42,.22),transparent 42%),rgba(20,21,28,.78);box-shadow:0 18px 44px rgba(0,0,0,.2)}
.ringa-profile-wallet-card>span,.ringa-analytics-intro>span{font-size:10px;letter-spacing:.14em;font-weight:900;color:#ff7a38}.ringa-profile-wallet-card>strong{display:block;font-size:38px;margin:8px 0}.ringa-profile-wallet-card>strong small{font-size:14px;color:#ff7a38}.ringa-profile-wallet-card>p,.ringa-analytics-intro p{color:rgba(255,255,255,.58);line-height:1.55}.ringa-profile-wallet-card>div{display:flex;gap:10px;margin-top:16px}.ringa-profile-wallet-card .ringa-pill{flex:1;text-align:center}
.ringa-analytics-intro h2{margin:6px 0 8px;font-size:24px}.ringa-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.ringa-analytics-grid article{position:relative;overflow:hidden;padding:17px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(255,255,255,.025)}.ringa-analytics-grid article>span{display:block;font-size:11px;color:rgba(255,255,255,.53)}.ringa-analytics-grid article>strong{display:block;font-size:27px;margin:4px 0 15px}.ringa-analytics-grid article>i{display:block;width:var(--metric,8%);height:4px;border-radius:999px;background:linear-gradient(90deg,#ff3d61,#ff8127);box-shadow:0 0 15px rgba(255,91,44,.28)}
@media(max-width:390px){.ringa-profile-tabs-track{padding-inline:12px}.ringa-profile-tabs a{min-width:96px!important}.ringa-analytics-grid{grid-template-columns:1fr 1fr}.ringa-profile-wallet-card>div{flex-direction:column}}


/* =========================================================
   Ringa v0.5 reactions, presence and story reliability polish (legacy overrides)
   ========================================================= */

/* Dimensional reaction tray. SVG faces use radial light, rim, depth and gloss. */
.ringa-reactions-picker{padding:10px 10px 12px!important;gap:5px!important;background:linear-gradient(180deg,rgba(28,29,38,.97),rgba(10,11,16,.98))!important;box-shadow:0 22px 58px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.13),inset 0 -8px 18px rgba(0,0,0,.22)!important}
.ringa-reactions-picker button{width:52px!important;height:56px!important;perspective:300px}
.ringa-reaction-art{width:48px!important;height:50px!important;filter:drop-shadow(0 10px 8px rgba(0,0,0,.34)) drop-shadow(0 2px 2px rgba(0,0,0,.25))!important;transform-style:preserve-3d}
.ringa-reaction-art svg{overflow:visible!important}
.rx-depth{fill:rgba(0,0,0,.40);transform:translate(1.8px,2.8px)}
.rx-disc3d{stroke:rgba(255,255,255,.38);stroke-width:.75}
.rx-gloss{fill:rgba(255,255,255,.27);transform:rotate(-16deg);transform-origin:center}
.rx-rim{fill:none;stroke:rgba(0,0,0,.2);stroke-width:1.3;stroke-linecap:round}
.rx-hand-shadow,.rx-heart-shadow,.rx-eye-shadow,.rx-mouth-shadow,.rx-tear-shadow{fill:rgba(0,0,0,.27);transform:translate(1.2px,1.6px)}
.rx-white,.rx-teeth{fill:#fff}.rx-dark,.rx-mouth{fill:#43261f;stroke:#43261f}.rx-tear{fill:#5bc7ff}.rx-hand-hi,.rx-heart-glint{fill:none;stroke:rgba(255,255,255,.75);stroke-width:1.5;stroke-linecap:round}.rx-dark-line{fill:none;stroke:#43261f;stroke-width:2.6;stroke-linecap:round}.rx-brow{stroke-width:3}.rx-mouth-gloss{fill:rgba(255,255,255,.2)}.rx-angry-glow{fill:none;stroke:rgba(255,255,255,.13);stroke-width:1.7;stroke-linecap:round}
.ringa-reactions-picker.is-open button .ringa-reaction-art{animation-duration:1.6s}
.ringa-reactions-picker button:active .ringa-reaction-art{filter:drop-shadow(0 5px 4px rgba(0,0,0,.3))!important}

/* Instant button feedback while the idempotent AJAX sync catches up. */
.ringa-react-btn{will-change:transform,color}.ringa-react-btn.ringa-react-pop{animation:ringaReactButtonPop .31s cubic-bezier(.17,.9,.22,1.35)}
@keyframes ringaReactButtonPop{0%{transform:scale(1)}42%{transform:scale(1.28) rotate(-4deg)}72%{transform:scale(.94) rotate(1deg)}100%{transform:scale(1)}}

/* Dimensional double-tap heart, with depth, specular shine, halo and particles. */
.ringa-reaction-burst{position:absolute;z-index:30;left:50%;top:48%;width:150px;height:150px;margin:-75px 0 0 -75px;pointer-events:none;opacity:0;display:grid;place-items:center;transform:scale(.34) rotate(-7deg)}
.ringa-burst-halo{position:absolute;width:122px;height:122px;border-radius:50%;background:radial-gradient(circle,rgba(255,132,75,.4) 0,rgba(255,75,73,.12) 48%,transparent 72%);filter:blur(2px);transform:scale(.6)}
.ringa-burst-heart{position:relative;width:78px;height:70px;filter:drop-shadow(0 16px 16px rgba(0,0,0,.42)) drop-shadow(0 4px 3px rgba(0,0,0,.28));transform:rotate(-1deg)}
.ringa-burst-heart:before,.ringa-burst-heart:after{content:"";position:absolute;top:9px;width:43px;height:62px;border-radius:43px 43px 13px 13px;background:radial-gradient(circle at 30% 18%,#ffd9c7 0 5%,#ff8a60 18%,#ff4d54 56%,#cc1f38 100%);box-shadow:inset 4px 5px 8px rgba(255,255,255,.18),inset -7px -10px 11px rgba(109,0,22,.24)}
.ringa-burst-heart:before{left:38px;transform:rotate(-45deg);transform-origin:0 100%}.ringa-burst-heart:after{left:0;transform:rotate(45deg);transform-origin:100% 100%}
.ringa-burst-heart i{position:absolute;z-index:2;left:23px;top:12px;width:22px;height:8px;border-radius:50%;background:rgba(255,255,255,.52);filter:blur(.4px);transform:rotate(-25deg)}
.ringa-reaction-burst>b{position:absolute;width:9px;height:9px;border-radius:50%;background:linear-gradient(145deg,#fff2be,#ff7b4c);box-shadow:0 4px 8px rgba(0,0,0,.26);opacity:0}.ringa-reaction-burst .p1{left:23px;top:45px}.ringa-reaction-burst .p2{right:21px;top:50px}.ringa-reaction-burst .p3{left:37px;bottom:24px}.ringa-reaction-burst .p4{right:39px;bottom:20px}.ringa-reaction-burst .p5{left:68px;top:9px}.ringa-reaction-burst .p6{right:57px;top:20px}
.ringa-reaction-burst.is-like.is-animate{animation:ringaBurst3D .86s cubic-bezier(.17,.92,.19,1) forwards}.ringa-reaction-burst.is-like.is-animate .ringa-burst-halo{animation:ringaBurstHalo .72s ease-out forwards}.ringa-reaction-burst.is-like.is-animate>b{animation:ringaBurstParticle .68s ease-out forwards}
.ringa-reaction-burst.is-unlike .ringa-burst-heart:before,.ringa-reaction-burst.is-unlike .ringa-burst-heart:after{background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.045));box-shadow:inset 0 0 0 3px rgba(255,255,255,.7)}.ringa-reaction-burst.is-unlike .ringa-burst-heart i{display:none}.ringa-reaction-burst.is-unlike.is-animate{animation:ringaBurstUnlike .56s ease forwards}
@keyframes ringaBurst3D{0%{opacity:0;transform:scale(.28) rotate(-11deg)}28%{opacity:1;transform:scale(1.16) rotate(4deg)}52%{opacity:1;transform:scale(.94) rotate(-1deg)}72%{opacity:1;transform:scale(1.03)}100%{opacity:0;transform:scale(1.22)}}
@keyframes ringaBurstHalo{0%{opacity:0;transform:scale(.4)}35%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.5)}}
@keyframes ringaBurstParticle{0%,20%{opacity:0;transform:translate(0,0) scale(.5)}45%{opacity:1}100%{opacity:0;transform:translate(var(--dx,12px),var(--dy,-18px)) scale(1.25)}}
.ringa-reaction-burst .p1{--dx:-24px;--dy:-12px}.ringa-reaction-burst .p2{--dx:26px;--dy:-16px}.ringa-reaction-burst .p3{--dx:-17px;--dy:23px}.ringa-reaction-burst .p4{--dx:20px;--dy:24px}.ringa-reaction-burst .p5{--dx:-7px;--dy:-25px}.ringa-reaction-burst .p6{--dx:15px;--dy:-25px}
@keyframes ringaBurstUnlike{0%{opacity:.92;transform:scale(1)}35%{opacity:.65;transform:scale(.84)}100%{opacity:0;transform:scale(.22) rotate(8deg)}}

/* Presence indicators, matching the proven PF online/offline behavior. */
.ringa-avatar-presence,.ringa-profile-avatar-wrap{position:relative!important;overflow:visible!important}
.ringa-presence-badge{position:absolute;z-index:6;right:-1px;bottom:-1px;display:grid;place-items:center;min-width:15px;height:15px;padding:0 3px;border-radius:999px;border:2px solid #0c0e14;background:#717681;color:#fff;font-size:7px;font-weight:900;line-height:1;box-shadow:0 3px 8px rgba(0,0,0,.35)}
.ringa-presence-badge.is-online{background:#13d77a;box-shadow:0 0 0 2px rgba(19,215,122,.12),0 0 14px rgba(19,215,122,.48);animation:ringaPresencePulse 2s ease-out infinite}
.ringa-presence-badge.is-offline.has-time{right:-4px;bottom:-2px;min-width:23px;height:17px;border-radius:8px;background:#4f545e;color:rgba(255,255,255,.88);font-size:7px;letter-spacing:.02em}
.ringa-profile-avatar-wrap>.ringa-presence-badge{right:4px;bottom:4px;min-width:18px;height:18px;border-width:3px}.ringa-profile-avatar-wrap>.ringa-presence-badge.is-offline.has-time{right:-3px;bottom:3px;min-width:29px;height:20px;font-size:8px}
.ringa-reel-author-avatar>.ringa-presence-badge{right:-2px;bottom:-2px;border-color:#050607}
@keyframes ringaPresencePulse{0%{box-shadow:0 0 0 0 rgba(19,215,122,.5),0 0 11px rgba(19,215,122,.35)}70%{box-shadow:0 0 0 7px rgba(19,215,122,0),0 0 15px rgba(19,215,122,.45)}100%{box-shadow:0 0 0 0 rgba(19,215,122,0),0 0 10px rgba(19,215,122,.35)}}

/* Retire the older flat double-tap SVG feedback now replaced by the 3D burst. */
.ringa-reel-tap-burst{display:none!important}

/* =========================================================
   Ringa v0.6 interaction + Story polish
   ========================================================= */

/* Story composer is its own natural scroll surface inside the fixed Create shell. */
.ringa-story-create-panel{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-y:contain!important;
  margin:0!important;
  padding:14px 24px calc(110px + env(safe-area-inset-bottom,0px))!important;
  scroll-behavior:smooth!important;
}
.ringa-story-create-panel.has-media .ringa-story-dropzone{display:none!important}
.ringa-story-create-panel.has-media .ringa-story-create-intro{margin-bottom:2px!important}
.ringa-story-create-preview{
  height:min(52vh,500px)!important;
  min-height:260px!important;
  flex:0 0 auto!important;
}
.ringa-story-create-preview img,.ringa-story-create-preview video{object-fit:contain!important}
.ringa-story-create-actions{position:relative!important;z-index:4!important;padding-bottom:4px!important}
@media(max-width:520px){
  .ringa-story-create-panel{padding:12px 18px calc(120px + env(safe-area-inset-bottom,0px))!important}
  .ringa-story-create-preview{height:min(46vh,430px)!important;min-height:240px!important;border-radius:22px!important}
  .ringa-story-dropzone{min-height:270px!important}
}

/* Soft, app-like reaction artwork. The assets themselves are images, not font emoji. */
.ringa-reactions-picker{
  padding:8px 9px 9px!important;
  gap:3px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:rgba(18,19,25,.96)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.42)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08)!important;
  backdrop-filter:blur(18px) saturate(1.08)!important;
}
.ringa-reactions-picker button{
  width:50px!important;
  height:54px!important;
  padding:1px!important;
  background:transparent!important;
  border:0!important;
  overflow:visible!important;
}
.ringa-reaction-art{
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  filter:none!important;
  transform-origin:50% 85%!important;
}
.ringa-reaction-art img{
  display:block!important;
  width:48px!important;
  height:48px!important;
  object-fit:contain!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
  filter:drop-shadow(0 5px 5px rgba(0,0,0,.24))!important;
  will-change:transform!important;
}
.ringa-reactions-picker.is-open button:nth-child(1) .ringa-reaction-art{animation:ringaRxLike .78s cubic-bezier(.2,.9,.24,1.22) both}
.ringa-reactions-picker.is-open button:nth-child(2) .ringa-reaction-art{animation:ringaRxLove .88s cubic-bezier(.2,.9,.24,1.22) .035s both}
.ringa-reactions-picker.is-open button:nth-child(3) .ringa-reaction-art{animation:ringaRxLaugh .92s cubic-bezier(.2,.9,.24,1.18) .07s both}
.ringa-reactions-picker.is-open button:nth-child(4) .ringa-reaction-art{animation:ringaRxWow .82s cubic-bezier(.2,.9,.24,1.22) .105s both}
.ringa-reactions-picker.is-open button:nth-child(5) .ringa-reaction-art{animation:ringaRxSad .9s cubic-bezier(.2,.9,.24,1.12) .14s both}
.ringa-reactions-picker.is-open button:nth-child(6) .ringa-reaction-art{animation:ringaRxAngry .78s cubic-bezier(.2,.9,.24,1.14) .175s both}
.ringa-reactions-picker button:hover .ringa-reaction-art,
.ringa-reactions-picker button:focus-visible .ringa-reaction-art{transform:translateY(-7px) scale(1.16)!important}
.ringa-reactions-picker button:active .ringa-reaction-art{transform:translateY(-2px) scale(.93)!important}
.ringa-reaction-label{display:none!important}
@keyframes ringaRxLike{0%{opacity:0;transform:translateY(16px) scale(.4) rotate(-10deg)}45%{opacity:1;transform:translateY(-6px) scale(1.12) rotate(5deg)}70%{transform:translateY(-2px) scale(.97) rotate(-2deg)}100%{opacity:1;transform:none}}
@keyframes ringaRxLove{0%{opacity:0;transform:translateY(16px) scale(.42)}42%{opacity:1;transform:translateY(-7px) scale(1.16)}62%{transform:translateY(-2px) scale(.94)}78%{transform:translateY(-3px) scale(1.07)}100%{opacity:1;transform:none}}
@keyframes ringaRxLaugh{0%{opacity:0;transform:translateY(16px) scale(.42) rotate(-7deg)}40%{opacity:1;transform:translateY(-7px) scale(1.13) rotate(8deg)}56%{transform:translateY(-4px) scale(1.03) rotate(-8deg)}72%{transform:translateY(-2px) scale(1.04) rotate(5deg)}100%{opacity:1;transform:none}}
@keyframes ringaRxWow{0%{opacity:0;transform:translateY(17px) scale(.3)}48%{opacity:1;transform:translateY(-8px) scale(1.2)}70%{transform:translateY(-1px) scale(.93)}100%{opacity:1;transform:none}}
@keyframes ringaRxSad{0%{opacity:0;transform:translateY(15px) scale(.4)}44%{opacity:1;transform:translateY(-4px) scale(1.08)}70%{transform:translateY(2px) scale(.98) rotate(3deg)}100%{opacity:1;transform:none}}
@keyframes ringaRxAngry{0%{opacity:0;transform:translateY(16px) scale(.42)}44%{opacity:1;transform:translateY(-6px) scale(1.12) rotate(-4deg)}57%{transform:translateY(-4px) rotate(5deg)}68%{transform:translateY(-4px) rotate(-4deg)}79%{transform:translateY(-2px) rotate(3deg)}100%{opacity:1;transform:none}}

/* Double-tap feedback is Ringa orange and deliberately soft, not metallic. */
.ringa-reaction-burst{width:138px!important;height:128px!important;margin:-64px 0 0 -69px!important;top:48%!important}
.ringa-burst-heart{
  width:92px!important;
  height:84px!important;
  background:url('images/reactions/heart-orange.svg') center/contain no-repeat!important;
  filter:none!important;
}
.ringa-burst-heart:before,.ringa-burst-heart:after,.ringa-burst-heart i{display:none!important}
.ringa-burst-halo{width:112px!important;height:112px!important;background:radial-gradient(circle,rgba(255,112,43,.25),rgba(255,112,43,.08) 48%,transparent 72%)!important}
.ringa-reaction-burst>b{background:#ff7b35!important;box-shadow:none!important;width:7px!important;height:7px!important}
.ringa-reaction-burst.is-unlike .ringa-burst-heart{opacity:.72;filter:grayscale(.2) saturate(.6)!important}

/* The orange avatar ring is a consistent identity treatment across Ringa. */
.ringa-avatar-presence:not(.ringa-reel-author-avatar){
  padding:2px!important;
  border:0!important;
  overflow:visible!important;
  background:linear-gradient(145deg,rgba(255,77,66,.72),rgba(255,132,37,.88))!important;
  box-shadow:0 6px 18px rgba(0,0,0,.25),0 0 0 1px rgba(255,111,40,.13)!important;
}
.ringa-avatar-presence:not(.ringa-reel-author-avatar)>img{
  border-radius:inherit!important;
  border:2px solid #0c0e14!important;
  background:#0c0e14!important;
}
.ringa-reel-author-avatar{background:linear-gradient(145deg,rgba(255,72,67,.76),rgba(255,133,36,.9))!important;padding:2px!important}

/* Presence dot: smaller and centered directly on the avatar circumference. */
.ringa-presence-badge{
  min-width:10px!important;
  width:10px!important;
  height:10px!important;
  padding:0!important;
  right:1px!important;
  bottom:1px!important;
  border-width:2px!important;
  box-shadow:none!important;
  font-size:0!important;
}
.ringa-presence-badge.is-online{box-shadow:0 0 0 2px rgba(18,215,119,.10),0 0 8px rgba(18,215,119,.28)!important;animation:ringaPresenceSoft 2.1s ease-out infinite!important}
.ringa-reel-author-avatar>.ringa-presence-badge{right:2px!important;bottom:2px!important;width:10px!important;height:10px!important;border:2px solid #050607!important}
.ringa-profile-avatar-wrap>.ringa-presence-badge{right:11px!important;bottom:11px!important;width:12px!important;height:12px!important;min-width:12px!important;border-width:2px!important}
.ringa-presence-badge.is-offline.has-time{
  width:auto!important;
  min-width:20px!important;
  height:14px!important;
  right:-2px!important;
  bottom:0!important;
  padding:0 4px!important;
  border-radius:8px!important;
  font-size:6px!important;
}
@keyframes ringaPresenceSoft{0%{box-shadow:0 0 0 0 rgba(18,215,119,.35),0 0 6px rgba(18,215,119,.22)}70%{box-shadow:0 0 0 5px rgba(18,215,119,0),0 0 8px rgba(18,215,119,.26)}100%{box-shadow:0 0 0 0 rgba(18,215,119,0),0 0 6px rgba(18,215,119,.2)}}

/* Comments are free-floating text rows, not speech bubbles. */
.ringa-comment>.bubble,
.ringa-comment .bubble{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:2px 0 4px!important;
  box-shadow:none!important;
}
.ringa-comment .text{font-size:14px!important;line-height:1.38!important;color:rgba(255,255,255,.9)!important}
.ringa-comment .meta{margin-bottom:3px!important}
.ringa-comment-vote.is-active{background:transparent!important}

/* Reels caption disclosure is only a tiny ellipsis. */
.ringa-reel-caption{padding-right:20px!important}
.ringa-reel-caption .ringa-caption-more{
  right:1px!important;
  bottom:1px!important;
  width:18px!important;
  height:18px!important;
  padding:0!important;
  font-size:15px!important;
  line-height:14px!important;
  letter-spacing:0!important;
  font-weight:900!important;
  color:rgba(255,255,255,.86)!important;
}

/* Custom Ringa delete confirmation sheet. */
.ringa-delete-confirm-backdrop{
  position:fixed!important;
  z-index:2147483600!important;
  inset:0!important;
  display:grid!important;
  align-items:end!important;
  background:rgba(0,0,0,.62)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  backdrop-filter:blur(8px)!important;
  opacity:0!important;
  transition:opacity .18s ease!important;
}
.ringa-delete-confirm-backdrop.is-open{opacity:1!important}
.ringa-delete-confirm-sheet{
  width:min(100% - 20px,520px)!important;
  margin:0 auto calc(12px + env(safe-area-inset-bottom,0px))!important;
  padding:18px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:26px!important;
  background:rgba(18,20,27,.98)!important;
  box-shadow:0 22px 70px rgba(0,0,0,.56)!important;
  transform:translateY(24px) scale(.985)!important;
  transition:transform .22s cubic-bezier(.2,.86,.22,1.08)!important;
}
.ringa-delete-confirm-backdrop.is-open .ringa-delete-confirm-sheet{transform:none!important}
.ringa-delete-confirm-icon{width:48px!important;height:48px!important;border-radius:16px!important;display:grid!important;place-items:center!important;margin-bottom:12px!important;background:rgba(255,91,45,.12)!important;color:#ff7135!important}
.ringa-delete-confirm-icon svg{width:24px!important;height:24px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.ringa-delete-confirm-sheet h3{margin:0 0 6px!important;font-size:20px!important;color:#fff!important}
.ringa-delete-confirm-sheet p{margin:0!important;color:rgba(255,255,255,.62)!important;font-size:14px!important;line-height:1.4!important}
.ringa-delete-confirm-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:18px!important}
.ringa-delete-confirm-actions button{min-height:48px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.10)!important;font:inherit!important;font-weight:850!important;color:#fff!important;background:rgba(255,255,255,.045)!important}
.ringa-delete-confirm-actions .is-delete{border:0!important;background:linear-gradient(135deg,#ff3d5f,#ff772b)!important}
.ringa-reel-action.ringa-react-btn.is-reacted,
.ringa-reel-action.ringa-react-btn[aria-pressed="true"]{color:#ff702f!important}


/* =========================================================
   Ringa v0.7 readiness, animated reactions and Story actions
   ========================================================= */
/* Explicit 0-100 Story upload feedback. */
.ringa-story-create-progress{height:44px!important;display:grid!important;grid-template-columns:1fr auto;align-items:center;padding:0 12px!important;gap:10px!important}
.ringa-story-create-progress[hidden]{display:none!important}
.ringa-story-create-progress i{z-index:0!important;transition:width .14s linear!important}
.ringa-story-create-progress span,.ringa-story-create-progress strong{position:relative!important;z-index:1!important}
.ringa-story-create-progress span{display:block!important;height:auto!important;font-size:12px!important;font-weight:800!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ringa-story-create-progress strong{font-size:12px;color:#fff;font-weight:950;font-variant-numeric:tabular-nums}
#ringaStoryShare:disabled,.ringa-create-submit:disabled{opacity:.38!important;filter:saturate(.55)!important;cursor:not-allowed!important;box-shadow:none!important}
#ringaStoryShare.is-ready{opacity:1!important;filter:none!important}

/* Story viewer controls live above the caption and disappear on the creator's own Story where appropriate. */
.ringa-story-viewer-actions{position:absolute;z-index:9;right:14px;bottom:calc(24px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:auto}
.ringa-story-action{appearance:none;border:0;background:rgba(7,8,12,.46);color:#fff;width:48px;min-height:48px;border-radius:50%;display:grid;place-items:center;text-decoration:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 7px 22px rgba(0,0,0,.24)}
.ringa-story-action .ringa-svg-icon{width:25px;height:25px}.ringa-story-action>span{font-size:9px;font-weight:900;line-height:1;margin-top:-7px}
.ringa-story-like.is-liked{color:#ff762c}.ringa-story-like.is-pop{animation:ringaStoryHeartPop .45s cubic-bezier(.2,.9,.25,1.4)}
.ringa-story-follow{appearance:none;border:1px solid rgba(255,255,255,.24);background:linear-gradient(135deg,#ff3d67,#ff7d25);color:#fff;min-width:76px;height:34px;border-radius:999px;padding:0 12px;font-weight:900;font-size:11px;box-shadow:0 8px 22px rgba(255,94,48,.2)}
.ringa-story-follow.is-following{background:rgba(10,11,15,.52);box-shadow:none}
.ringa-story-viewer-caption{right:82px!important;bottom:calc(28px + env(safe-area-inset-bottom,0px))!important;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.16))!important;border-radius:12px!important}
.ringa-story-viewer-progress span.is-current i{animation:none!important;transition:width .08s linear!important}
@keyframes ringaStoryHeartPop{0%{transform:scale(.72)}45%{transform:scale(1.28) rotate(-5deg)}75%{transform:scale(.94) rotate(2deg)}100%{transform:scale(1)}}

/* Animated reaction image assets have their own internal motion. Keep the outer shell subtle. */
.ringa-reactions-picker.is-open .ringa-reaction-art img{animation:ringaReactionFloat 1.8s ease-in-out infinite!important}
.ringa-reactions-picker.is-open button:nth-child(2) .ringa-reaction-art img{animation-delay:-.22s!important}.ringa-reactions-picker.is-open button:nth-child(3) .ringa-reaction-art img{animation-delay:-.44s!important}.ringa-reactions-picker.is-open button:nth-child(4) .ringa-reaction-art img{animation-delay:-.66s!important}.ringa-reactions-picker.is-open button:nth-child(5) .ringa-reaction-art img{animation-delay:-.88s!important}.ringa-reactions-picker.is-open button:nth-child(6) .ringa-reaction-art img{animation-delay:-1.1s!important}
@keyframes ringaReactionFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.035)}}

/* Reels sound control uses vector app icons, not platform emoji glyphs. */
.ringa-reel-sound .ringa-svg-icon{width:23px;height:23px}.ringa-reel-sound .ringa-sound-on-icon,.ringa-reel-sound .ringa-sound-off-icon{display:inline-flex;align-items:center;justify-content:center}.ringa-reel-sound .ringa-sound-off-icon{display:none}.ringa-reel-sound.is-muted .ringa-sound-on-icon{display:none}.ringa-reel-sound.is-muted .ringa-sound-off-icon{display:inline-flex}

/* The ellipsis exists only when JS confirms real truncation. */
.ringa-reel-caption .ringa-caption-more{display:none!important}
.ringa-reel-caption.is-truncated .ringa-caption-more{display:block!important}

/* =========================================================
   Ringa v0.8 reliability + PassionFairy Story parity
   ========================================================= */
/* Keep feed/profile content from ghosting through the sticky header. */
body:not(.page-template-page-videos) .ringa-topbar{
  background:#0b0d12!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:0 1px 0 rgba(255,255,255,.06)!important;
}

/* PassionFairy-style Story preview cards: media is the card, avatar sits over it. */
.ringa-stories{padding:12px 0 12px!important;background:linear-gradient(180deg,rgba(41,21,21,.38),rgba(11,13,18,.04))!important}
.ringa-stories-rail{gap:10px!important;padding:0 14px 6px!important;align-items:stretch!important}
.ringa-story-card{width:92px!important;min-width:92px!important;height:142px!important;display:block!important;position:relative!important;border-radius:20px!important;overflow:hidden!important;text-align:left!important}
.ringa-story-preview-card{position:relative!important;display:block!important;width:100%!important;height:100%!important;border-radius:20px!important;overflow:hidden!important;background:var(--ringa-story-bg,rgba(255,255,255,.06)) center/cover no-repeat!important;border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 8px 22px rgba(0,0,0,.22)!important}
.ringa-story-card.has-unseen .ringa-story-preview-card{border-color:rgba(255,118,42,.72)!important;box-shadow:0 0 0 1px rgba(255,71,74,.44),0 8px 24px rgba(255,92,35,.14)!important}
.ringa-story-card.is-seen .ringa-story-preview-card{filter:saturate(.86)!important}
.ringa-story-preview-shade{position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(0,0,0,.04) 34%,rgba(0,0,0,.74) 100%)!important}
.ringa-story-avatar-ring{position:absolute!important;z-index:3!important;left:8px!important;top:8px!important;width:40px!important;height:40px!important;border-radius:50%!important;padding:2px!important;background:linear-gradient(135deg,#ff465b,#ff8b22)!important;box-shadow:0 3px 13px rgba(0,0,0,.32)!important}
.ringa-story-card.is-seen .ringa-story-avatar-ring{background:rgba(255,255,255,.48)!important}
.ringa-story-avatar-ring img{display:block!important;width:36px!important;height:36px!important;border-radius:50%!important;object-fit:cover!important;border:2px solid #101218!important}
.ringa-story-avatar-ring i{position:absolute!important;right:-4px!important;bottom:-3px!important;width:20px!important;height:20px!important;border-radius:50%!important;background:linear-gradient(135deg,#ff3b62,#ff8526)!important;border:2px solid #101218!important;color:#fff!important;font:900 16px/16px system-ui,sans-serif!important;display:grid!important;place-items:center!important;font-style:normal!important}
.ringa-story-name{position:absolute!important;z-index:3!important;left:8px!important;right:7px!important;bottom:8px!important;width:auto!important;color:#fff!important;text-align:left!important;font-size:11px!important;font-weight:850!important;text-shadow:0 1px 7px rgba(0,0,0,.88)!important}
.ringa-story-card-add .ringa-story-preview-card{filter:none!important}
@media(max-width:390px){.ringa-story-card{width:86px!important;min-width:86px!important;height:134px!important}}

/* Full-screen Story viewer with a blurred media backdrop and clean interaction footer. */
.ringa-story-viewer{background:#050609!important}
.ringa-story-viewer-media{position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;overflow:hidden!important;background:#050609!important}
.ringa-story-viewer-media:before{content:"";position:absolute;inset:-32px;background-image:var(--ringa-story-backdrop);background-position:center;background-size:cover;filter:blur(30px) brightness(.42) saturate(.85);transform:scale(1.12);opacity:.92}
.ringa-story-media-layer{position:absolute!important;z-index:2!important;inset:0!important;display:grid!important;place-items:center!important}
.ringa-story-media-layer img,.ringa-story-media-layer video{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;background:transparent!important}
.ringa-story-viewer-media:after{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.50) 0%,transparent 22%,transparent 67%,rgba(0,0,0,.72) 100%)}
.ringa-story-viewer-head{z-index:12!important;background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,.12),transparent)!important}
.ringa-story-viewer-author{display:flex!important;align-items:center!important;gap:9px!important;color:#fff!important;text-decoration:none!important;min-width:0!important}
.ringa-story-viewer-author img{flex:0 0 auto!important}
.ringa-story-viewer-head-actions{display:flex;align-items:center;gap:8px}
#ringaStoryViewerClose{position:relative!important;z-index:2!important}
.ringa-story-follow{position:relative!important;z-index:2!important;min-width:72px!important}
.ringa-story-nav{z-index:5!important;top:90px!important;bottom:104px!important;width:25%!important}
.ringa-story-viewer-caption{z-index:8!important;left:18px!important;right:18px!important;bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;padding:0!important;background:transparent!important;border-radius:0!important;backdrop-filter:none!important;text-shadow:0 2px 9px rgba(0,0,0,.9)!important}
.ringa-story-viewer-foot{position:absolute!important;z-index:13!important;left:14px!important;right:14px!important;bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;display:flex!important;align-items:center!important;gap:10px!important;pointer-events:auto!important}
.ringa-story-viewer-foot .ringa-story-action{flex:0 0 46px!important;width:46px!important;height:46px!important;min-height:46px!important;background:rgba(8,9,13,.44)!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:50%!important}
.ringa-story-message-bar{display:flex!important;align-items:center!important;gap:8px!important;flex:1 1 auto!important;height:46px!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:999px!important;background:rgba(6,7,11,.44)!important;padding:4px 5px 4px 15px!important;-webkit-backdrop-filter:blur(14px)!important;backdrop-filter:blur(14px)!important}
.ringa-story-message-bar[hidden]{display:none!important}
.ringa-story-message-bar input{min-width:0!important;flex:1!important;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;font:inherit!important;font-size:14px!important}
.ringa-story-message-bar input::placeholder{color:rgba(255,255,255,.70)!important}
.ringa-story-message-bar button{appearance:none!important;border:0!important;width:38px!important;height:38px!important;border-radius:50%!important;background:linear-gradient(135deg,#ff405f,#ff8124)!important;color:#fff!important;display:grid!important;place-items:center!important}
.ringa-story-message-bar button svg{width:20px;height:20px}
.ringa-story-delete{appearance:none;border:1px solid rgba(255,255,255,.18);background:rgba(8,9,13,.48);color:#fff;height:42px;border-radius:999px;padding:0 14px;font:inherit;font-size:12px;font-weight:850}
.ringa-story-pause-indicator{position:absolute;z-index:10;left:50%;top:50%;width:74px;height:74px;margin:-37px 0 0 -37px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.38);color:#fff;opacity:0;transform:scale(.76);transition:opacity .16s ease,transform .16s ease;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.ringa-story-pause-indicator.is-visible{opacity:1;transform:scale(1)}.ringa-story-pause-indicator svg{width:38px;height:38px;fill:currentColor}
.ringa-story-delete-sheet{position:absolute;z-index:30;inset:0}.ringa-story-delete-sheet[hidden]{display:none!important}.ringa-story-delete-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.60)}
.ringa-story-delete-card{position:absolute;left:14px;right:14px;bottom:calc(18px + env(safe-area-inset-bottom,0px));padding:18px;border-radius:24px;background:#171820;border:1px solid rgba(255,255,255,.13);box-shadow:0 25px 70px rgba(0,0,0,.58)}
.ringa-story-delete-card strong{font-size:18px}.ringa-story-delete-card p{margin:6px 0 18px;color:rgba(255,255,255,.62);font-size:13px}.ringa-story-delete-card>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ringa-story-delete-card button{min-height:46px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.04);color:#fff;font:inherit;font-weight:850}.ringa-story-delete-card button.is-danger{border:0;background:linear-gradient(135deg,#ff3c60,#ff782b)}

/* Upload readiness is always explicit. Never hide a completed 100% state. */
.ringa-upload-progress:not([hidden]){display:block!important;visibility:visible!important;opacity:1!important;margin:12px 0!important}
.ringa-story-create-progress:not([hidden]){display:grid!important;visibility:visible!important;opacity:1!important;margin:4px 0 2px!important;border:1px solid rgba(255,255,255,.08)!important}
.ringa-upload-progress-text{font-variant-numeric:tabular-nums!important}
#ringaSubmitPost:disabled,#ringaStoryShare:disabled{pointer-events:none!important;opacity:.38!important;filter:saturate(.48)!important}

/* Profile polish + reliable controls. */
.ringa-profile-statline{grid-template-columns:repeat(3,1fr)!important}
.ringa-avatar-sheet>strong{display:none!important}.ringa-avatar-sheet button:first-of-type{border-top:0!important}.ringa-avatar-sheet button.is-cancel{color:rgba(255,255,255,.62)!important}
.ringa-cover-upload:disabled{opacity:.62!important}
.ringa-profile-toast{position:fixed;z-index:2000100;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);max-width:min(88vw,420px);padding:11px 15px;border-radius:999px;background:#20222b;color:#fff;border:1px solid rgba(255,255,255,.14);box-shadow:0 12px 36px rgba(0,0,0,.42);font-size:12px;font-weight:800}.ringa-profile-toast.is-error{background:#35171c;border-color:rgba(255,78,91,.34)}.ringa-profile-toast[hidden]{display:none!important}
.ringa-connections-page{min-height:100vh}.ringa-connections-head{position:sticky;top:var(--ringa-topbar-h,74px);z-index:22;display:flex;align-items:center;gap:13px;padding:13px 17px;background:#0b0d12;border-bottom:1px solid rgba(255,255,255,.08)}.ringa-connections-back{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none;font-size:34px;line-height:1}.ringa-connections-head>div{display:flex;flex-direction:column}.ringa-connections-head strong{font-size:20px}.ringa-connections-head span{font-size:11px;color:rgba(255,255,255,.55)}
.ringa-connections-list{padding:8px 14px 110px}.ringa-connection-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 4px;border-bottom:1px solid rgba(255,255,255,.07)}.ringa-connection-person{display:flex;align-items:center;gap:11px;min-width:0;color:#fff;text-decoration:none}.ringa-connection-avatar{position:relative;flex:0 0 52px}.ringa-connection-avatar>img{width:52px!important;height:52px!important;border-radius:50%!important;object-fit:cover!important}.ringa-connection-person>span:last-child{display:flex;flex-direction:column;min-width:0}.ringa-connection-person strong,.ringa-connection-person small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ringa-connection-person small{color:rgba(255,255,255,.53);font-size:11px}.ringa-connection-actions .ringa-follow-btn{min-height:38px!important;padding:7px 12px!important;font-size:12px!important}

/* Reaction motion must be visible, not a microscopic float. */
.ringa-reactions-picker.is-open button[data-reaction="like"] .ringa-reaction-art img{animation:ringaV08Like 1.15s ease-in-out infinite!important}
.ringa-reactions-picker.is-open button[data-reaction="love"] .ringa-reaction-art img{animation:ringaV08Love .95s ease-in-out infinite!important}
.ringa-reactions-picker.is-open button[data-reaction="laugh"] .ringa-reaction-art img{animation:ringaV08Laugh .72s ease-in-out infinite!important}
.ringa-reactions-picker.is-open button[data-reaction="wow"] .ringa-reaction-art img{animation:ringaV08Wow 1.05s ease-in-out infinite!important}
.ringa-reactions-picker.is-open button[data-reaction="sad"] .ringa-reaction-art img{animation:ringaV08Sad 1.25s ease-in-out infinite!important}
.ringa-reactions-picker.is-open button[data-reaction="angry"] .ringa-reaction-art img{animation:ringaV08Angry .68s ease-in-out infinite!important}
@keyframes ringaV08Like{0%,100%{transform:translateY(0) rotate(0) scale(1)}45%{transform:translateY(-8px) rotate(-8deg) scale(1.12)}65%{transform:translateY(-3px) rotate(4deg) scale(1.04)}}
@keyframes ringaV08Love{0%,100%{transform:scale(1)}45%{transform:scale(1.18)}65%{transform:scale(.96)}80%{transform:scale(1.10)}}
@keyframes ringaV08Laugh{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-5px) rotate(-7deg)}50%{transform:translateY(0) rotate(7deg)}75%{transform:translateY(-4px) rotate(-5deg)}}
@keyframes ringaV08Wow{0%,100%{transform:scale(1)}50%{transform:translateY(-5px) scale(1.14)}}
@keyframes ringaV08Sad{0%,100%{transform:translateY(0)}55%{transform:translateY(5px) scale(.98)}}
@keyframes ringaV08Angry{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-3px) rotate(-4deg)}50%{transform:translateX(3px) rotate(4deg)}75%{transform:translateX(-2px) rotate(-3deg)}}
.ringa-cover-upload{z-index:8!important;pointer-events:auto!important;touch-action:manipulation!important}

/* =========================================================
   Ringa v0.10 Story upload visibility + larger media preview
   ========================================================= */
/* The Story upload indicator is a dedicated two-row component so it cannot
   collapse into the faint separator seen in v0.8. */
.ringa-story-upload-progress{
  position:relative!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-height:58px!important;
  padding:10px 12px 11px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:16px!important;
  background:rgba(20,21,28,.92)!important;
  overflow:hidden!important;
  flex:0 0 auto!important;
}
.ringa-story-upload-progress[hidden]{display:none!important}
.ringa-story-upload-progress-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:8px!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1.2!important;
}
.ringa-story-upload-progress-head span{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-weight:800!important;
  color:rgba(255,255,255,.82)!important;
}
.ringa-story-upload-progress-head strong{
  display:block!important;
  flex:0 0 auto!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:950!important;
  font-variant-numeric:tabular-nums!important;
}
.ringa-story-upload-progress-track{
  display:block!important;
  width:100%!important;
  height:8px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.10)!important;
  overflow:hidden!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.35)!important;
}
.ringa-story-upload-progress-fill{
  display:block!important;
  height:100%!important;
  width:0;
  border-radius:inherit!important;
  background:linear-gradient(90deg,#ff3b63 0%,#ff6a39 52%,#ff8b25 100%)!important;
  box-shadow:0 0 14px rgba(255,102,48,.28)!important;
  transition:width .16s linear!important;
}
.ringa-story-upload-progress[aria-valuenow="100"] .ringa-story-upload-progress-fill{
  box-shadow:0 0 18px rgba(255,119,42,.42)!important;
}

/* Roughly 25% more vertical room than the v0.8 selected-media preview.
   Media itself keeps its native aspect ratio, so the extra size never stretches it. */
.ringa-story-create-preview{
  width:100%!important;
  height:min(65vh,625px)!important;
  min-height:325px!important;
  align-self:center!important;
  flex:0 0 auto!important;
}
.ringa-story-create-preview img,
.ringa-story-create-preview video{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media(max-width:520px){
  .ringa-story-create-panel{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .ringa-story-create-preview{
    width:100%!important;
    height:min(57.5vh,538px)!important;
    min-height:300px!important;
    border-radius:22px!important;
  }
}

/* Story rail cards: ~25% larger in both height and width, preserving the
   approved card proportions rather than stretching only one dimension. */
.ringa-story-card{
  width:115px!important;
  min-width:115px!important;
  height:178px!important;
}
.ringa-story-preview-card{border-radius:22px!important}
@media(max-width:390px){
  .ringa-story-card{
    width:108px!important;
    min-width:108px!important;
    height:168px!important;
  }
}

/* =========================================================
   Ringa v0.11 PassionFairy-parity Stories
   ========================================================= */
body.ringa-story-composer-open{overflow:hidden!important;touch-action:none}
.ringa-story-composer-v011{
  position:fixed!important;inset:0!important;z-index:2100000!important;margin:0!important;padding:0!important;
  background:#07080c!important;color:#fff!important;display:grid!important;grid-template-rows:auto 1fr auto auto!important;
  gap:0!important;overflow:hidden!important;min-height:100svh!important;
}
.ringa-story-composer-v011[hidden]{display:none!important}
.ringa-story-editor-head-v011{
  position:relative;z-index:10;display:grid;grid-template-columns:64px 1fr 96px;align-items:center;gap:8px;
  padding:calc(env(safe-area-inset-top,0px) + 14px) 18px 12px;background:linear-gradient(180deg,rgba(7,8,12,.96),rgba(7,8,12,.72),transparent);
}
.ringa-story-editor-close-v011,.ringa-story-change-media-v011,.ringa-story-tool-rail-v011 button,.ringa-story-preview-sound-v011{
  appearance:none;border:0;color:#fff;font:inherit;cursor:pointer;
}
.ringa-story-editor-close-v011{width:54px;height:54px;border-radius:50%;background:rgba(24,24,32,.76);font-size:34px;line-height:1;display:grid;place-items:center}
.ringa-story-editor-wordmark-v011{justify-self:center;font-size:18px;font-weight:900;letter-spacing:.02em}
.ringa-story-change-media-v011{justify-self:end;min-width:86px;height:44px;border-radius:999px;background:rgba(22,22,31,.74);border:1px solid rgba(255,255,255,.08)!important;font-size:14px;font-weight:850}
.ringa-story-canvas-v011{position:relative;min-height:0;overflow:hidden;display:grid;place-items:center;background:#050609}
.ringa-story-upload-v011{position:absolute!important;inset:0!important;min-height:0!important;border:0!important;border-radius:0!important;background:radial-gradient(circle at 50% 35%,rgba(255,120,45,.13),transparent 42%),#08090d!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:9px!important;color:#fff!important}
.ringa-story-upload-icon-v011{width:68px;height:68px;border-radius:24px;display:grid;place-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.07);font-size:38px;font-weight:300;color:#ff7c34}
.ringa-story-upload-v011 strong{font-size:20px!important;font-weight:900!important}
.ringa-story-compose-preview-v011{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;border:0!important;border-radius:0!important;background:#050609!important;overflow:hidden!important;display:grid!important;place-items:center!important}
.ringa-story-compose-preview-v011[hidden]{display:none!important}
.ringa-story-compose-backdrop-v011{position:absolute;inset:-34px;background-position:center;background-size:cover;filter:blur(28px) brightness(.62) saturate(.92);transform:scale(1.12);opacity:.95}
.ringa-story-compose-preview-v011>img,.ringa-story-compose-preview-v011>video{position:absolute;z-index:2;inset:0;width:100%!important;height:100%!important;object-fit:contain!important;background:transparent!important}
.ringa-story-compose-shade-v011{position:absolute;z-index:3;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10),transparent 35%,transparent 65%,rgba(0,0,0,.18));pointer-events:none}
.ringa-story-tool-rail-v011{position:absolute;z-index:8;right:18px;top:22px;display:flex;flex-direction:column;gap:10px}
.ringa-story-tool-rail-v011 button{width:54px;height:54px;border-radius:50%;background:rgba(24,24,33,.74);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 8px 28px rgba(0,0,0,.25)}
.ringa-story-tool-rail-v011 button span{font-size:22px;font-weight:900}
.ringa-story-preview-sound-v011 svg{width:23px;height:23px}.ringa-story-preview-sound-v011 .slash{display:none}.ringa-story-preview-sound-v011.is-muted .slash{display:block}.ringa-story-preview-sound-v011.is-muted .waves{display:none}
.ringa-story-compose-text-v011{position:absolute;z-index:7;left:7%;right:7%;bottom:18%;text-align:center;font-size:28px;line-height:1.15;font-weight:900;text-shadow:0 2px 12px rgba(0,0,0,.8);word-break:break-word;pointer-events:none}
.ringa-story-text-panel-v011{position:fixed;z-index:2100030;left:0;right:0;bottom:0;padding:14px 14px calc(16px + env(safe-area-inset-bottom,0px));background:rgba(15,16,23,.98);border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -24px 70px rgba(0,0,0,.48)}
.ringa-story-text-panel-v011[hidden]{display:none!important}.ringa-story-text-entry-v011{display:flex;gap:10px}.ringa-story-text-entry-v011 input{flex:1;min-width:0;height:48px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:#11131a;color:#fff;padding:0 14px;font:inherit;font-size:16px}.ringa-story-text-entry-v011 button{width:78px;border:0;border-radius:16px;background:linear-gradient(135deg,#ff405f,#ff8124);color:#fff;font:inherit;font-weight:900}.ringa-story-text-colors-v011{display:flex;gap:12px;padding-top:12px}.ringa-story-text-colors-v011 button{width:28px;height:28px;border-radius:50%;border:2px solid transparent;background:var(--swatch)}.ringa-story-text-colors-v011 button.is-active{box-shadow:0 0 0 2px #fff}
.ringa-story-upload-progress-v011{position:relative!important;z-index:12!important;margin:0!important;padding:8px 24px 7px!important;min-height:48px!important;border:0!important;border-radius:0!important;background:linear-gradient(180deg,rgba(10,11,16,.18),rgba(10,11,16,.82))!important}
.ringa-story-upload-progress-v011 .ringa-story-upload-progress-head{margin-bottom:6px!important}.ringa-story-upload-progress-v011 .ringa-story-upload-progress-head span,.ringa-story-upload-progress-v011 .ringa-story-upload-progress-head strong{font-size:11px!important;background:rgba(14,15,21,.78);padding:4px 10px;border-radius:999px}.ringa-story-upload-progress-v011 .ringa-story-upload-progress-track{height:4px!important;background:rgba(255,255,255,.16)!important}.ringa-story-upload-progress-v011 .ringa-story-upload-progress-fill{background:#fff!important;box-shadow:none!important;transition:width .12s linear!important}
.ringa-story-error-v011{position:absolute!important;z-index:20;left:18px;right:18px;bottom:92px;margin:0!important;border-radius:18px!important;background:rgba(72,18,25,.94)!important;border:1px solid rgba(255,81,92,.34)!important;color:#ffdce0!important}
.ringa-story-editor-foot-v011{position:relative;z-index:12;display:flex;align-items:center;gap:10px;padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,rgba(16,17,24,.74),#11131a);border-top:1px solid rgba(255,255,255,.06)}
.ringa-story-tool-chip-v011{appearance:none;border:0;height:50px;border-radius:999px;padding:0 18px;background:#232530;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:13px;font-weight:850;white-space:nowrap}.ringa-story-tool-chip-v011 svg{width:18px;height:18px}.ringa-story-dot-v011{width:9px;height:9px;border-radius:50%;background:#ff6d34;box-shadow:0 0 0 3px rgba(255,109,52,.12)}
.ringa-story-share-v011{appearance:none;border:0;margin-left:auto;min-width:118px;height:58px;border-radius:999px;background:linear-gradient(135deg,#ff405f,#ff8124);color:#fff;font:inherit;font-size:17px;font-weight:950;box-shadow:0 10px 30px rgba(255,88,42,.25)}.ringa-story-share-v011:disabled{opacity:.38!important;filter:saturate(.55);box-shadow:none}.ringa-story-share-v011.is-ready{animation:ringaStoryShareReady .35s ease both}@keyframes ringaStoryShareReady{0%{transform:scale(.97)}70%{transform:scale(1.025)}100%{transform:scale(1)}}
.ringa-story-sheet-v011{position:fixed;z-index:2100040;inset:0}.ringa-story-sheet-v011[hidden]{display:none!important}.ringa-story-sheet-backdrop-v011{position:absolute;inset:0;border:0;background:rgba(0,0,0,.58)}.ringa-story-mini-sheet-v011,.ringa-story-post-sheet-v011{position:absolute;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));max-height:min(70svh,620px);overflow:auto;border-radius:26px;background:#171820;border:1px solid rgba(255,255,255,.10);box-shadow:0 28px 90px rgba(0,0,0,.55);padding:18px}.ringa-story-mini-sheet-v011>strong{display:block;font-size:18px;margin-bottom:10px}.ringa-story-mini-sheet-v011>button{width:100%;min-height:50px;border:0;border-top:1px solid rgba(255,255,255,.06);background:transparent;color:#fff;display:flex;align-items:center;justify-content:space-between;font:inherit;font-weight:850}.ringa-story-mini-sheet-v011>button span{opacity:0}.ringa-story-mini-sheet-v011>button.is-active span{opacity:1;color:#ff7a32}.ringa-story-post-sheet-v011 header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.ringa-story-post-sheet-v011 header strong{font-size:18px}.ringa-story-post-sheet-v011 header button{border:0;background:transparent;color:#ff7950;font:inherit;font-weight:850}.ringa-story-post-choice-v011{width:100%;display:grid;grid-template-columns:52px 1fr 24px;align-items:center;gap:10px;min-height:68px;border:0;border-top:1px solid rgba(255,255,255,.06);background:transparent;color:#fff;text-align:left}.ringa-story-post-thumb-v011{width:52px;height:52px;border-radius:12px;overflow:hidden;background:#262833;display:grid;place-items:center}.ringa-story-post-thumb-v011 img{width:100%;height:100%;object-fit:cover}.ringa-story-post-copy-v011{display:flex;flex-direction:column;min-width:0}.ringa-story-post-copy-v011 b,.ringa-story-post-copy-v011 small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ringa-story-post-copy-v011 small{color:rgba(255,255,255,.52);font-size:11px;margin-top:3px}.ringa-story-post-choice-v011>i{font-style:normal;color:#ff7a32}.ringa-story-post-empty-v011{padding:18px 4px;color:rgba(255,255,255,.55)}

/* Viewer: mirror the mature PassionFairy story layout, without gifting. */
.ringa-story-viewer{background:#050609!important;isolation:isolate!important}
.ringa-story-viewer-progress{top:calc(env(safe-area-inset-top,0px) + 14px)!important;left:16px!important;right:16px!important;gap:3px!important}.ringa-story-viewer-progress span{height:3px!important;background:rgba(255,255,255,.30)!important}.ringa-story-viewer-progress i{background:#fff!important;box-shadow:0 0 10px rgba(255,255,255,.38)}
.ringa-story-viewer-head{top:0!important;padding:calc(env(safe-area-inset-top,0px) + 34px) 20px 14px!important;background:linear-gradient(180deg,rgba(5,6,9,.62),rgba(5,6,9,.14),transparent)!important}
.ringa-story-viewer-author img{width:42px!important;height:42px!important;border:2px solid rgba(255,255,255,.88)!important}.ringa-story-viewer-author strong{font-size:16px!important;font-weight:900!important}.ringa-story-viewer-author small{font-size:12px!important;font-weight:700!important;color:rgba(255,255,255,.82)!important}
.ringa-story-viewer-head-actions{gap:8px!important}.ringa-story-follow{height:42px!important;border-radius:999px!important;padding:0 16px!important;background:rgba(42,43,50,.62)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;box-shadow:none!important}.ringa-story-follow.is-primary{background:rgba(42,43,50,.62)!important}
#ringaStoryViewerClose,.ringa-story-sound{width:46px!important;height:46px!important;border-radius:50%!important;background:rgba(31,32,40,.58)!important;border:0!important;color:#fff!important;display:grid!important;place-items:center!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}.ringa-story-sound[hidden]{display:none!important}.ringa-story-sound svg{width:22px;height:22px}.ringa-story-sound .ringa-story-sound-slash{display:none}.ringa-story-sound.is-muted .ringa-story-sound-slash{display:block}.ringa-story-sound.is-muted .ringa-story-sound-waves{display:none}
.ringa-story-viewer-media:before{filter:blur(30px) brightness(.70) saturate(.9)!important;opacity:1!important}.ringa-story-media-layer img,.ringa-story-media-layer video{object-fit:contain!important}.ringa-story-viewer-media:after{background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 30%,transparent 70%,rgba(0,0,0,.12))!important}
.ringa-story-viewer-caption{left:18px!important;right:18px!important;bottom:calc(90px + env(safe-area-inset-bottom,0px))!important;font-size:14px!important;font-weight:700!important;text-shadow:0 2px 14px rgba(0,0,0,.8)!important}
.ringa-story-viewer-foot{left:18px!important;right:18px!important;bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;gap:12px!important;min-height:50px!important}
.ringa-story-viewer-foot .ringa-story-action{width:48px!important;height:48px!important;flex:0 0 48px!important;border:0!important;background:rgba(28,29,36,.62)!important;color:#fff!important}.ringa-story-viewer-foot .ringa-story-action svg{width:30px!important;height:30px!important}.ringa-story-viewer-foot .ringa-story-action.is-liked{color:#ff7b2f!important}.ringa-story-viewer-foot .ringa-story-action span{font-size:11px!important}
.ringa-story-message-bar{height:50px!important;background:rgba(41,42,52,.70)!important;border:0!important;padding:4px 5px 4px 18px!important}.ringa-story-message-bar input{font-size:15px!important}.ringa-story-message-bar button{background:linear-gradient(135deg,#ff405f,#ff8124)!important;width:40px!important;height:40px!important}
.ringa-story-linked-post{height:46px;border-radius:999px;padding:0 14px;display:inline-flex;align-items:center;gap:7px;background:rgba(31,32,40,.62);color:#fff;text-decoration:none;font-size:12px;font-weight:850;border:1px solid rgba(255,255,255,.10)}.ringa-story-linked-post[hidden]{display:none!important}.ringa-story-linked-post svg{width:18px;height:18px}
.ringa-story-view-count{margin-left:auto;color:#fff;font-size:12px;font-weight:900;white-space:nowrap}.ringa-story-view-count[hidden]{display:none!important}.ringa-story-delete{height:auto!important;padding:0!important;border:0!important;background:transparent!important;color:#ff7f54!important;font-size:12px!important;font-weight:900!important}
.ringa-story-pause-indicator{background:rgba(20,21,27,.55)!important}
@media(max-width:430px){.ringa-story-editor-head-v011{grid-template-columns:58px 1fr 84px;padding-left:14px;padding-right:14px}.ringa-story-editor-close-v011{width:50px;height:50px}.ringa-story-change-media-v011{min-width:80px;height:42px}.ringa-story-tool-rail-v011{right:14px}.ringa-story-editor-foot-v011{gap:8px;padding-left:12px;padding-right:12px}.ringa-story-tool-chip-v011{height:46px;padding:0 14px;font-size:12px}.ringa-story-share-v011{min-width:112px;height:54px}.ringa-story-viewer-head{padding-left:18px!important;padding-right:18px!important}}

/* v0.11 final Story parity pass: canvas-first full-screen composition, Ringa palette. */
.ringa-story-composer-v011{
  display:block!important;
  width:100%!important;height:100dvh!important;min-height:100dvh!important;
  max-height:100dvh!important;background:#050609!important;
}
.ringa-story-editor-head-v011{
  position:absolute!important;z-index:25!important;left:0!important;right:0!important;
  top:0!important;display:grid!important;grid-template-columns:54px 1fr 92px!important;
  align-items:center!important;gap:8px!important;
  padding:calc(max(10px,env(safe-area-inset-top,0px)) + 4px) 18px 12px!important;
  background:transparent!important;border:0!important;pointer-events:none!important;
}
.ringa-story-editor-head-v011>*{pointer-events:auto!important}
.ringa-story-editor-wordmark-v011{visibility:hidden!important;pointer-events:none!important}
.ringa-story-editor-close-v011{
  width:54px!important;height:54px!important;border-radius:50%!important;
  background:rgba(27,28,36,.58)!important;border:1px solid rgba(255,255,255,.06)!important;
  -webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important;
  font-size:30px!important;font-weight:500!important;box-shadow:0 8px 28px rgba(0,0,0,.16)!important;
}
.ringa-story-change-media-v011{
  justify-self:end!important;height:48px!important;min-width:96px!important;padding:0 18px!important;
  border-radius:999px!important;background:rgba(27,28,36,.62)!important;border:1px solid rgba(255,255,255,.06)!important;
  -webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important;
  font-size:14px!important;font-weight:900!important;
}
.ringa-story-canvas-v011{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important;background:#050609!important}
.ringa-story-upload-v011{z-index:1!important}
.ringa-story-compose-preview-v011{z-index:2!important}
.ringa-story-compose-preview-v011>img,.ringa-story-compose-preview-v011>video{object-fit:contain!important}
.ringa-story-compose-backdrop-v011{inset:-42px!important;filter:blur(34px) brightness(.68) saturate(.92)!important;transform:scale(1.15)!important}
.ringa-story-compose-shade-v011{background:linear-gradient(180deg,rgba(0,0,0,.18),transparent 24%,transparent 68%,rgba(0,0,0,.22))!important}
.ringa-story-tool-rail-v011{top:calc(max(10px,env(safe-area-inset-top,0px)) + 72px)!important;right:18px!important;z-index:26!important}
.ringa-story-tool-rail-v011 button{width:52px!important;height:52px!important;background:rgba(27,28,36,.60)!important;border:1px solid rgba(255,255,255,.06)!important;box-shadow:0 8px 28px rgba(0,0,0,.16)!important}
.ringa-story-upload-progress-v011{
  position:absolute!important;z-index:31!important;left:24px!important;right:24px!important;
  bottom:calc(87px + env(safe-area-inset-bottom,0px))!important;
  min-height:0!important;height:4px!important;margin:0!important;padding:0!important;
  background:rgba(255,255,255,.17)!important;border-radius:999px!important;overflow:visible!important;
}
.ringa-story-upload-progress-v011 .ringa-story-upload-progress-head{position:absolute!important;left:0!important;right:0!important;bottom:12px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;pointer-events:none!important}
.ringa-story-upload-progress-v011 .ringa-story-upload-progress-head span,.ringa-story-upload-progress-v011 .ringa-story-upload-progress-head strong{display:inline-flex!important;align-items:center!important;min-height:24px!important;padding:3px 10px!important;border-radius:999px!important;background:rgba(16,17,23,.68)!important;border:1px solid rgba(255,255,255,.08)!important;color:#fff!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;font-size:11px!important;line-height:1!important;font-weight:900!important}
.ringa-story-upload-progress-v011 .ringa-story-upload-progress-track{position:absolute!important;inset:0!important;width:100%!important;height:4px!important;border-radius:999px!important;background:transparent!important;overflow:hidden!important}
.ringa-story-upload-progress-v011 .ringa-story-upload-progress-fill{height:100%!important;border-radius:999px!important;background:#fff!important;box-shadow:none!important}
.ringa-story-editor-foot-v011{
  position:absolute!important;z-index:30!important;left:16px!important;right:16px!important;
  bottom:calc(14px + env(safe-area-inset-bottom,0px))!important;
  display:flex!important;align-items:center!important;gap:10px!important;padding:0!important;
  background:transparent!important;border:0!important;pointer-events:none!important;
}
.ringa-story-editor-foot-v011>*{pointer-events:auto!important}
.ringa-story-tool-chip-v011{height:50px!important;padding:0 17px!important;background:rgba(30,31,40,.68)!important;border:1px solid rgba(255,255,255,.06)!important;-webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important;font-size:13px!important}
.ringa-story-share-v011{height:56px!important;min-width:126px!important;padding:0 23px!important;font-size:17px!important;background:linear-gradient(135deg,#ff405f,#ff8124)!important;box-shadow:0 12px 32px rgba(255,88,42,.24)!important}
.ringa-story-error-v011{position:absolute!important;z-index:34!important;left:18px!important;right:18px!important;bottom:calc(120px + env(safe-area-inset-bottom,0px))!important;margin:0!important}
.ringa-story-text-panel-v011{z-index:2100050!important}

/* PassionFairy viewer geometry, with gifting deliberately omitted on Ringa. */
.ringa-story-viewer{padding:0!important;background:#050609!important}
.ringa-story-viewer-head{padding:calc(max(8px,env(safe-area-inset-top,0px)) + 28px) 20px 12px!important;background:linear-gradient(180deg,rgba(0,0,0,.40),rgba(0,0,0,.08) 62%,transparent)!important}
.ringa-story-viewer-progress{top:max(9px,env(safe-area-inset-top,0px))!important;left:16px!important;right:16px!important}
.ringa-story-viewer-author img{width:42px!important;height:42px!important}
#ringaStoryViewerClose{width:46px!important;height:46px!important;font-size:34px!important;line-height:1!important}
.ringa-story-viewer-foot{left:22px!important;right:22px!important;bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;align-items:center!important}
.ringa-story-viewer-foot .ringa-story-like{width:auto!important;height:48px!important;flex:0 0 auto!important;background:transparent!important;border:0!important;padding:0 3px!important;border-radius:0!important;box-shadow:none!important}
.ringa-story-viewer-foot .ringa-story-like svg{width:34px!important;height:34px!important;filter:none!important}
.ringa-story-viewer-foot .ringa-story-like span{font-size:11px!important;font-weight:850!important;margin-left:2px!important}
.ringa-story-message-bar{flex:1!important;min-width:0!important;max-width:none!important;height:48px!important;background:rgba(45,47,58,.70)!important;border:1px solid rgba(255,255,255,.04)!important;-webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important}
.ringa-story-view-count{margin-left:auto!important;font-size:12px!important;color:rgba(255,255,255,.92)!important}
.ringa-story-delete{margin-left:10px!important;color:#ff7394!important;font-size:12px!important}

@media(max-width:430px){
  .ringa-story-editor-head-v011{grid-template-columns:54px 1fr 92px!important;padding-left:18px!important;padding-right:18px!important}
  .ringa-story-editor-close-v011{width:54px!important;height:54px!important}
  .ringa-story-change-media-v011{min-width:92px!important;height:48px!important}
  .ringa-story-tool-rail-v011{right:18px!important}
  .ringa-story-editor-foot-v011{left:16px!important;right:16px!important;gap:9px!important}
  .ringa-story-tool-chip-v011{height:48px!important;padding:0 14px!important;font-size:12px!important}
  .ringa-story-share-v011{height:56px!important;min-width:122px!important}
  .ringa-story-viewer-head{padding-left:20px!important;padding-right:20px!important}
}


/* =========================================================
   Ringa v0.13 Create / Stories / Reels reliability pass
   ========================================================= */

/* Story text is a real movable overlay. Keep only the overlay itself touch-active
   so the rest of the full-screen composer retains its normal controls. */
.ringa-story-compose-text-v011{
  position:absolute!important;
  z-index:24!important;
  left:50%;top:50%;
  max-width:82%!important;
  width:max-content!important;
  padding:8px 12px!important;
  border-radius:12px!important;
  background:rgba(0,0,0,.18)!important;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  font-size:30px!important;line-height:1.12!important;font-weight:900!important;
  text-align:center!important;white-space:pre-wrap!important;word-break:break-word!important;
  text-shadow:0 2px 8px rgba(0,0,0,.72)!important;
  cursor:grab!important;pointer-events:auto!important;touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;
  transform-origin:center center!important;
}
.ringa-story-compose-text-v011.is-dragging{cursor:grabbing!important;outline:1px dashed rgba(255,255,255,.72)!important;background:rgba(0,0,0,.28)!important}
.ringa-story-text-size-v013{display:grid!important;grid-template-columns:1fr 1.25fr 1fr!important;gap:8px!important;margin-top:10px!important}
.ringa-story-text-size-v013 button{height:42px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:14px!important;background:rgba(255,255,255,.07)!important;color:#fff!important;font:inherit!important;font-weight:900!important}
.ringa-story-text-hint-v013{display:block!important;margin-top:8px!important;color:rgba(255,255,255,.62)!important;font-size:11px!important;text-align:center!important}

/* Published Story text uses the exact saved position/scale/color. */
.ringa-story-viewer-caption.is-overlay-v013{
  z-index:7!important;right:auto!important;bottom:auto!important;max-width:82%!important;width:max-content!important;
  padding:8px 12px!important;border-radius:12px!important;background:rgba(0,0,0,.18)!important;
  -webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important;
  font-size:30px!important;line-height:1.12!important;font-weight:900!important;text-align:center!important;
  white-space:pre-wrap!important;word-break:break-word!important;text-shadow:0 2px 8px rgba(0,0,0,.72)!important;
  pointer-events:none!important;transform-origin:center center!important;
}

/* Separate the Story heart from the message bar. It floats above the composer
   and becomes a brighter Ringa orange when selected. No gifting control exists. */
.ringa-story-viewer-foot{position:absolute!important}
.ringa-story-viewer-foot .ringa-story-like{
  position:absolute!important;right:0!important;top:-62px!important;width:50px!important;height:50px!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  border-radius:50%!important;background:rgba(8,9,13,.42)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;
}
.ringa-story-viewer-foot .ringa-story-like.is-liked{color:#ff861f!important;filter:drop-shadow(0 0 10px rgba(255,122,24,.42))!important}

/* Make selected post/reel reactions unmistakable and show the actual chosen
   reaction art instead of leaving the heart icon unchanged. */
.ringa-react-btn.is-reacted,.ringa-react-btn[aria-pressed="true"]{color:#ff861f!important}
.ringa-selected-reaction-art{display:inline-grid!important;place-items:center!important;width:30px!important;height:30px!important;margin:0!important;filter:drop-shadow(0 3px 7px rgba(255,116,20,.35))!important}
.ringa-reel-action .ringa-selected-reaction-art{width:32px!important;height:32px!important}
.ringa-selected-reaction-art img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important}

/* Free-floating sound control and pause-only seek bar. */
.ringa-reel-sound{position:absolute!important;right:16px!important;top:calc(env(safe-area-inset-top,0px) + 58px)!important;z-index:9!important;background:rgba(8,9,13,.38)!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 8px 24px rgba(0,0,0,.2)!important}
.ringa-reel-seek-v013{position:absolute!important;z-index:9!important;left:18px!important;right:18px!important;bottom:18px!important;width:calc(100% - 36px)!important;height:28px!important;margin:0!important;accent-color:#ff7b24!important;touch-action:none!important}
.ringa-reel-seek-v013[hidden]{display:none!important}
.ringa-reel-seek-v013::-webkit-slider-runnable-track{height:4px!important;border-radius:999px!important;background:rgba(255,255,255,.34)!important}
.ringa-reel-seek-v013::-webkit-slider-thumb{-webkit-appearance:none!important;appearance:none!important;width:15px!important;height:15px!important;border-radius:50%!important;background:#ff861f!important;margin-top:-5.5px!important;border:2px solid #fff!important;box-shadow:0 2px 8px rgba(0,0,0,.34)!important}
.ringa-reel-seek-v013::-moz-range-track{height:4px!important;border-radius:999px!important;background:rgba(255,255,255,.34)!important}
.ringa-reel-seek-v013::-moz-range-thumb{width:15px!important;height:15px!important;border-radius:50%!important;background:#ff861f!important;border:2px solid #fff!important;box-shadow:0 2px 8px rgba(0,0,0,.34)!important}

@media(max-width:430px){
  .ringa-story-compose-text-v011,.ringa-story-viewer-caption.is-overlay-v013{font-size:27px!important;max-width:86%!important}
}

/* =========================================================
   Ringa v0.15 mobile polish / Stories / Reels / Profile
   ========================================================= */

/* Story rail: remove the thin rectangular white frame reported on phone.
   Unseen stories keep a warm Ringa glow without a hard rectangular border. */
.ringa-story-card,
.ringa-story-card:focus,
.ringa-story-card:focus-visible{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
.ringa-story-preview-card{
  border:0!important;
  outline:0!important;
  box-shadow:0 8px 22px rgba(0,0,0,.22)!important;
}
.ringa-story-card.has-unseen .ringa-story-preview-card{
  border:0!important;
  box-shadow:0 8px 22px rgba(0,0,0,.22)!important;
}
.ringa-story-card-add .ringa-story-preview-card{
  border:0!important;
  box-shadow:0 8px 22px rgba(0,0,0,.22)!important;
}

/* Story composer progress is explicitly centered. */
.ringa-story-upload-progress-v011{
  left:50%!important;
  right:auto!important;
  width:calc(100% - 48px)!important;
  max-width:760px!important;
  transform:translateX(-50%)!important;
}
.ringa-story-upload-progress-v011 .ringa-story-upload-progress-track{
  left:0!important;right:0!important;width:100%!important;
}
.ringa-story-upload-progress-v011 .ringa-story-upload-progress-fill{
  background:linear-gradient(90deg,#ff5157,#ff8124)!important;
}

/* Inline app reactions: no selectable/downloadable image surface. */
.ringa-react-btn,.ringa-reactions-picker,.ringa-reactions-picker *{
  -webkit-touch-callout:none!important;
  -webkit-user-select:none!important;
  user-select:none!important;
}
.ringa-reaction-art{
  width:34px;height:34px;display:inline-grid;place-items:center;line-height:0;
  pointer-events:none!important;
}
.ringa-reaction-art svg{width:100%;height:100%;display:block;overflow:visible;pointer-events:none!important}
.ringa-reactions-picker button{touch-action:manipulation!important}
.ringa-reactions-picker button:hover,.ringa-reactions-picker button:active{
  transform:none!important;
}
.ringa-reaction-label{display:none!important}

/* The reaction itself moves. Whole-icon motion is secondary only. */
.ringa-reactions-picker.is-open .ringa-reaction-art-like .ringa-rx-like-hand{
  transform-origin:50% 70%;animation:ringaV014ThumbLike .72s ease-in-out infinite;
}
.ringa-reactions-picker.is-open .ringa-reaction-art-love .ringa-rx-heart{
  transform-origin:50% 55%;animation:ringaV014Heartbeat .78s ease-in-out infinite;
}
.ringa-reactions-picker.is-open .ringa-reaction-art-laugh .ringa-rx-laugh-eyes{
  transform-origin:center;animation:ringaV014LaughEyes .56s ease-in-out infinite;
}
.ringa-reactions-picker.is-open .ringa-reaction-art-laugh .ringa-rx-laugh-mouth{
  transform-origin:24px 31px;animation:ringaV014LaughMouth .56s ease-in-out infinite;
}
.ringa-reactions-picker.is-open .ringa-reaction-art-laugh .ringa-rx-laugh-tear{
  transform-origin:center;animation:ringaV014LaughTear .8s ease-in-out infinite;
}
.ringa-reactions-picker.is-open .ringa-reaction-art-wow .ringa-rx-wow-eyes{
  transform-origin:24px 19px;animation:ringaV014WowEyes 1s ease-in-out infinite;
}
.ringa-reactions-picker.is-open .ringa-reaction-art-wow .ringa-rx-wow-mouth{
  transform-origin:24px 31px;animation:ringaV014WowMouth 1s ease-in-out infinite;
}
.ringa-reactions-picker.is-open .ringa-reaction-art-wow .ringa-rx-wow-brows{
  transform-origin:24px 14px;animation:ringaV014WowBrows 1s ease-in-out infinite;
}
.ringa-reactions-picker.is-open .ringa-reaction-art-sad .ringa-rx-sad-brows{
  transform-origin:24px 17px;animation:ringaV014SadBrows 1.15s ease-in-out infinite;
}
.ringa-reactions-picker.is-open .ringa-reaction-art-sad .ringa-rx-sad-mouth{
  transform-origin:24px 34px;animation:ringaV014SadMouth 1.15s ease-in-out infinite;
}
.ringa-reactions-picker.is-open .ringa-reaction-art-sad .ringa-rx-sad-tear{
  transform-origin:center;animation:ringaV014SadTear 1.15s ease-in infinite;
}
.ringa-reactions-picker.is-open .ringa-reaction-art-angry .ringa-rx-angry-brows{
  transform-origin:24px 18px;animation:ringaV014AngryBrows .58s ease-in-out infinite;
}
.ringa-reactions-picker.is-open .ringa-reaction-art-angry .ringa-rx-angry-mouth{
  transform-origin:24px 34px;animation:ringaV014AngryMouth .58s ease-in-out infinite;
}
.ringa-reactions-picker.is-open .ringa-reaction-art-angry .ringa-rx-angry-face{
  animation:ringaV014AngryHeat .8s ease-in-out infinite;
}
@keyframes ringaV014ThumbLike{0%,100%{transform:translateY(1px) rotate(0)}45%{transform:translateY(-3px) rotate(-7deg)}70%{transform:translateY(-1px) rotate(-2deg)}}
@keyframes ringaV014Heartbeat{0%,100%{transform:scale(1)}18%{transform:scale(1.17)}32%{transform:scale(.98)}48%{transform:scale(1.11)}68%{transform:scale(1)}}
@keyframes ringaV014LaughEyes{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.62) translateY(1px)}}
@keyframes ringaV014LaughMouth{0%,100%{transform:scaleY(.92)}50%{transform:scaleY(1.12)}}
@keyframes ringaV014LaughTear{0%,100%{transform:translateY(-1px) scale(.9)}50%{transform:translateY(2px) scale(1.08)}}
@keyframes ringaV014WowEyes{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
@keyframes ringaV014WowMouth{0%,100%{transform:scaleY(.88)}50%{transform:scaleY(1.18)}}
@keyframes ringaV014WowBrows{0%,100%{transform:translateY(1px)}50%{transform:translateY(-2px)}}
@keyframes ringaV014SadBrows{0%,100%{transform:translateY(0)}50%{transform:translateY(1.5px)}}
@keyframes ringaV014SadMouth{0%,100%{transform:scaleX(.92)}50%{transform:scaleX(1.06) translateY(1px)}}
@keyframes ringaV014SadTear{0%{transform:translateY(-2px);opacity:.25}25%{opacity:1}80%{transform:translateY(5px);opacity:1}100%{transform:translateY(7px);opacity:0}}
@keyframes ringaV014AngryBrows{0%,100%{transform:translateY(0) scaleX(1)}50%{transform:translateY(1.6px) scaleX(1.08)}}
@keyframes ringaV014AngryMouth{0%,100%{transform:scaleX(.9)}50%{transform:scaleX(1.12) translateY(-.5px)}}
@keyframes ringaV014AngryHeat{0%,100%{fill:#ef654f}50%{fill:#f44f43}}
@media (prefers-reduced-motion:reduce){
  .ringa-reactions-picker.is-open .ringa-reaction-art *{animation:none!important}
}

/* Reels: lower the action rail and creator/caption area rather than pushing them
   upward to make space for playback controls. */
.ringa-reel-actions{
  bottom:26px!important;
  gap:12px!important;
}
.ringa-reel-meta{
  bottom:34px!important;
}
.ringa-reel-action.is-reacted,
.ringa-reel-action[aria-pressed="true"]{
  color:#ff7b24!important;
  filter:drop-shadow(0 0 9px rgba(255,123,36,.28))!important;
}
.ringa-reel-action-wrap .ringa-reactions-picker{
  right:54px!important;
  bottom:2px!important;
}

/* Always-visible edge-to-edge progress line. It becomes an actual seek surface
   only while paused. The thumb is invisible during playback. */
.ringa-reel-seek-v013{
  -webkit-appearance:none!important;appearance:none!important;
  position:absolute!important;z-index:10!important;
  left:0!important;right:0!important;bottom:0!important;
  width:100%!important;height:18px!important;margin:0!important;padding:0!important;
  background:transparent!important;opacity:1!important;
  touch-action:none!important;pointer-events:none!important;
}
.ringa-reel-seek-v013[hidden]{display:block!important}
.ringa-reel.is-paused .ringa-reel-seek-v013{pointer-events:auto!important;cursor:ew-resize!important}
.ringa-reel-seek-v013:disabled{opacity:1!important}
.ringa-reel-seek-v013::-webkit-slider-runnable-track{
  height:2px!important;border-radius:0!important;border:0!important;
  background:linear-gradient(90deg,#ff7b24 0 var(--ringa-reel-progress,0%),rgba(255,255,255,.28) var(--ringa-reel-progress,0%) 100%)!important;
}
.ringa-reel-seek-v013::-moz-range-track{
  height:2px!important;border-radius:0!important;border:0!important;
  background:linear-gradient(90deg,#ff7b24 0 var(--ringa-reel-progress,0%),rgba(255,255,255,.28) var(--ringa-reel-progress,0%) 100%)!important;
}
.ringa-reel-seek-v013::-webkit-slider-thumb{
  -webkit-appearance:none!important;appearance:none!important;
  width:0!important;height:0!important;border:0!important;margin-top:1px!important;background:transparent!important;box-shadow:none!important;
}
.ringa-reel.is-paused .ringa-reel-seek-v013::-webkit-slider-thumb{
  width:9px!important;height:9px!important;border-radius:50%!important;margin-top:-3.5px!important;background:#ff7b24!important;box-shadow:0 0 0 2px rgba(0,0,0,.32)!important;
}
.ringa-reel-seek-v013::-moz-range-thumb{
  width:0!important;height:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
}
.ringa-reel.is-paused .ringa-reel-seek-v013::-moz-range-thumb{
  width:9px!important;height:9px!important;border-radius:50%!important;background:#ff7b24!important;box-shadow:0 0 0 2px rgba(0,0,0,.32)!important;
}


/* v0.15: keep the Story reaction control as one clean floating heart. The numeric
   count remains in the DOM for state but is not drawn underneath the icon. */
.ringa-story-viewer-foot .ringa-story-like #ringaStoryViewerLikeCount{display:none!important}

/* v0.15: Ringa's primary Like control is orange in its default and active state.
   A chosen expressive reaction can replace the heart, but no default Like is blue/grey. */
.ringa-react-btn>.ringa-svg-icon-heart,
.ringa-react-btn>.ringa-heart-icon{color:#ff7b24!important;stroke:#ff7b24!important}

/* Profile navigation remains anchored and the track can genuinely scroll to the
   selected item instead of snapping back to its left edge after navigation. */
.ringa-profile-tabs{
  position:sticky!important;
  top:var(--ringa-topbar-h,74px)!important;
  z-index:80!important;
  scroll-padding-inline:16px!important;
}
.ringa-profile-tabs-track{
  justify-content:flex-start!important;
  min-width:max-content!important;
}
.ringa-profile-tabs a.is-active{scroll-margin-inline:44px!important}

/* Cover-position editor. */
.ringa-cover-editor{position:fixed;z-index:2200000;inset:0;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.78);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.ringa-cover-editor[hidden]{display:none!important}
.ringa-cover-editor-card{width:min(94vw,720px);border-radius:24px;background:#12141c;border:1px solid rgba(255,255,255,.12);box-shadow:0 26px 80px rgba(0,0,0,.56);overflow:hidden}
.ringa-cover-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
.ringa-cover-editor-head strong{font-size:16px}.ringa-cover-editor-head button{appearance:none;border:0;background:transparent;color:#fff;font-size:28px;line-height:1}
.ringa-cover-editor-stage{position:relative;width:100%;aspect-ratio:2/1;overflow:hidden;background:#07080c;touch-action:none;cursor:grab}
.ringa-cover-editor-stage.is-dragging{cursor:grabbing}
.ringa-cover-editor-stage img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 50%;pointer-events:none;user-select:none;-webkit-user-select:none}
.ringa-cover-editor-hint{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);padding:5px 10px;border-radius:999px;background:rgba(0,0,0,.58);color:#fff;font-size:11px;font-weight:800;pointer-events:none;white-space:nowrap}
.ringa-cover-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 16px}
.ringa-cover-editor-actions button{min-width:96px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;font:inherit;font-weight:850}
.ringa-cover-editor-actions .is-primary{border:0;background:linear-gradient(135deg,#ff4c58,#ff8124)}
.ringa-cover-editor-status{margin-right:auto;color:rgba(255,255,255,.68);font-size:11px;font-weight:800}
.ringa-profile-cover{background-position:var(--ringa-cover-x,50%) var(--ringa-cover-y,50%)!important}
html.ringa-cover-editor-open,html.ringa-cover-editor-open body{overflow:hidden!important}
.ringa-cover-editor-help{margin:0;padding:10px 16px 0;color:rgba(255,255,255,.68);font-size:12px;line-height:1.4}
.ringa-cover-editor-status{padding:0 16px;min-height:16px;color:rgba(255,255,255,.72);font-size:11px;font-weight:800}
body.ringa-fixed-shell .ringa-profile-tabs{top:0!important}

/* v0.15: the uploader sees their own Bunny video in Reels immediately while
   the private post is processing. Other users never receive this card. */
.ringa-reel-processing{display:grid!important;place-items:center!important;background:#090a0f!important}
.ringa-reel-processing-card{width:min(86vw,390px);padding:24px 22px;border-radius:24px;background:rgba(25,27,36,.96);border:1px solid rgba(255,255,255,.09);box-shadow:0 22px 70px rgba(0,0,0,.42);text-align:center}
.ringa-reel-processing-card strong{display:block;margin-top:10px;font-size:19px}
.ringa-reel-processing-card p{margin:7px 0 16px;color:rgba(255,255,255,.65);font-size:13px;line-height:1.4}
.ringa-reel-processing-spinner{display:inline-block;width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.16);border-top-color:#ff7b24;animation:ringaV015Spin .8s linear infinite}
@keyframes ringaV015Spin{to{transform:rotate(360deg)}}
.ringa-reel-processing-track{height:3px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.13)}
.ringa-reel-processing-track i{display:block;height:100%;background:#ff7b24;transition:width .2s linear}
.ringa-reel-processing-card small{display:block;margin-top:8px;color:rgba(255,255,255,.62);font-size:11px}
.ringa-reel-processing-card small b{color:#fff}
.ringa-reel-processing-check{margin-top:14px;height:40px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,123,36,.55);background:rgba(255,123,36,.12);color:#ff9a55;font:inherit;font-weight:850}

/* v0.15 Story text: holding/dragging must never make the label or its background
   look larger. Gesture feedback is cursor-only; one finger translates, two scale. */
.ringa-story-compose-text-v011.is-dragging{cursor:grabbing!important;outline:0!important;background:rgba(0,0,0,.18)!important}

/* The comment sheet opens immediately; older pages stream in behind this compact control. */
.ringa-comment-load-older{align-self:center;margin:2px auto 7px;padding:7px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.055);color:rgba(255,255,255,.76);font:inherit;font-size:11px;font-weight:800}
.ringa-comment-load-older:disabled{opacity:.55}

/* v0.17 performance: let Chromium skip layout/paint work for feed cards that are
   well below the viewport. The intrinsic size prevents scroll jumps while the
   real card is still skipped. */
@supports (content-visibility:auto){
  .ringa-feed > .ringa-card,
  .ringa-profile-timeline .ringa-card,
  .ringa-group-posts .ringa-card{
    content-visibility:auto;
    contain-intrinsic-size:auto 720px;
  }
}

/* Ringa v0.28: Story reactions reuse the six shared reaction artworks. The
   compact control is kept in the top-left reach zone and never appears on the
   creator's own Story. */
.ringa-story-reaction-dock{
  position:absolute!important;z-index:18!important;
  left:max(14px,env(safe-area-inset-left,0px))!important;
  top:calc(max(8px,env(safe-area-inset-top,0px)) + 91px)!important;
  pointer-events:auto!important;
}
.ringa-story-reaction-dock[hidden]{display:none!important}
.ringa-story-reaction-dock>.ringa-story-like{
  width:52px!important;height:52px!important;min-height:52px!important;padding:0!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:0!important;
  border:1px solid rgba(255,255,255,.16)!important;border-radius:50%!important;
  background:rgba(8,9,13,.46)!important;color:#fff!important;box-shadow:0 9px 28px rgba(0,0,0,.30)!important;
  -webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;
}
.ringa-story-reaction-dock>.ringa-story-like.is-liked{color:#ff861f!important;filter:drop-shadow(0 0 10px rgba(255,122,24,.36))!important}
.ringa-story-reaction-dock>.ringa-story-like>span{margin:0!important;line-height:1!important}
.ringa-story-reaction-default{display:grid!important;place-items:center!important;width:28px!important;height:28px!important}
.ringa-story-reaction-default[hidden]{display:none!important}
.ringa-story-reaction-default .ringa-svg-icon{width:28px!important;height:28px!important}
.ringa-story-selected-reaction{display:grid!important;place-items:center!important;width:34px!important;height:34px!important}
.ringa-story-selected-reaction[hidden]{display:none!important}
.ringa-story-selected-reaction .ringa-reaction-art{width:34px!important;height:34px!important;filter:none!important}
.ringa-story-reaction-dock #ringaStoryViewerLikeCount{font-size:9px!important;font-weight:900!important;margin-top:-2px!important}
.ringa-story-reaction-tray{
  position:absolute!important;left:0!important;top:58px!important;z-index:2!important;
  display:flex!important;align-items:center!important;gap:2px!important;
  width:min(336px,calc(100vw - 28px))!important;padding:8px!important;
  border:1px solid rgba(255,255,255,.13)!important;border-radius:999px!important;
  background:linear-gradient(180deg,rgba(30,31,40,.98),rgba(10,11,16,.98))!important;
  box-shadow:0 18px 54px rgba(0,0,0,.58)!important;
  -webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;
  transform-origin:top left!important;
}
.ringa-story-reaction-tray[hidden]{display:none!important}
.ringa-story-reaction-tray.is-open{animation:ringaReactionPop .16s ease-out both}
.ringa-story-reaction-tray button{flex:1 1 0!important;min-width:0!important;width:auto!important;height:48px!important;padding:0!important;display:grid!important;place-items:center!important;border:0!important;border-radius:50%!important;background:transparent!important}
.ringa-story-reaction-tray .ringa-reaction-art{width:42px!important;height:42px!important}
.ringa-story-reaction-tray .ringa-reaction-label{display:none!important}
.ringa-story-reaction-tray button:focus-visible{outline:2px solid #ff861f!important;outline-offset:1px!important}

/* Reels occupy the full visual viewport and the fixed footer overlays only the
   media edge. This removes the variable-height seam seen above the footer while
   explicit footer/safe-area offsets keep seek, metadata and actions usable. */
body.page-template-page-videos .ringa-reels{inset:0!important;height:calc(var(--ringa-vh,1vh)*100)!important;bottom:0!important}
body.page-template-page-videos .ringa-reels-snap,
body.page-template-page-videos .ringa-reel{height:100%!important;min-height:100%!important}
body.page-template-page-videos .ringa-reel-seek-v013{bottom:calc(var(--ringa-footer-h,64px) + 10px + env(safe-area-inset-bottom,0px))!important}
body.page-template-page-videos .ringa-reel-meta{bottom:calc(var(--ringa-footer-h,64px) + 34px + env(safe-area-inset-bottom,0px))!important}
body.page-template-page-videos .ringa-reel-actions{bottom:calc(var(--ringa-footer-h,64px) + 26px + env(safe-area-inset-bottom,0px))!important}


/* =========================================================
   Ringa v0.29 focused Story/Create repair
   ========================================================= */
.ringa-story-source-actions-v029{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(112px,148px))!important;
  gap:12px!important;
  margin-top:12px!important;
}
.ringa-story-source-btn-v029{
  appearance:none!important;
  min-height:54px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.075)!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  padding:0 16px!important;
  font:inherit!important;
  cursor:pointer!important;
  -webkit-backdrop-filter:blur(12px)!important;
  backdrop-filter:blur(12px)!important;
}
.ringa-story-source-btn-v029 span{font-size:20px!important;color:#ff7a32!important;line-height:1!important}
.ringa-story-source-btn-v029 b{font-size:14px!important;font-weight:900!important}
.ringa-story-upload-v011>small{font-size:12px!important;color:rgba(255,255,255,.62)!important;margin-top:3px!important}

/* Reaction belongs in the true upper-left control zone. When it is visible,
   reserve horizontal room in the author row rather than stacking it below. */
.ringa-story-reaction-dock{
  left:max(14px,env(safe-area-inset-left,0px))!important;
  top:calc(max(8px,env(safe-area-inset-top,0px)) + 34px)!important;
  z-index:20!important;
}
.ringa-story-viewer.has-story-reaction .ringa-story-viewer-head{
  padding-left:82px!important;
}
.ringa-story-viewer:not(.has-story-reaction) .ringa-story-viewer-head{
  padding-left:20px!important;
}
.ringa-story-reaction-tray{
  top:56px!important;
  left:0!important;
}
@media(max-width:430px){
  .ringa-story-source-actions-v029{grid-template-columns:repeat(2,minmax(104px,1fr))!important;width:min(300px,82vw)!important}
  .ringa-story-viewer.has-story-reaction .ringa-story-viewer-head{padding-left:78px!important}
}

/* =========================================================
   Ringa v0.30 Feed / Stories / Reels focused repair
   ========================================================= */
/* Premium Story source chooser: app-native vector controls, not emoji glyphs. */
.ringa-story-source-actions-v029{
  width:min(520px,90vw)!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:18px!important;
}
.ringa-story-source-btn-v030{
  -webkit-appearance:none!important;appearance:none!important;
  position:relative!important;overflow:hidden!important;
  min-height:78px!important;padding:12px 16px!important;
  border:1px solid rgba(255,255,255,.12)!important;border-radius:22px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035))!important;
  color:#fff!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:13px!important;
  font:inherit!important;text-align:left!important;cursor:pointer!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 36px rgba(0,0,0,.24)!important;
  -webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease!important;
}
.ringa-story-source-btn-v030::after{
  content:"";position:absolute;inset:auto -24px -42px auto;width:96px;height:96px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,105,44,.28),transparent 68%);pointer-events:none;
}
.ringa-story-source-btn-v030:active{transform:scale(.975)!important;border-color:rgba(255,124,47,.46)!important}
.ringa-story-source-icon-v030{
  flex:0 0 48px;width:48px;height:48px;border-radius:16px;display:grid;place-items:center;
  background:linear-gradient(135deg,#ff3e68,#ff8427);box-shadow:0 9px 24px rgba(255,87,52,.25);
}
.ringa-story-source-icon-v030 svg{width:25px;height:25px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ringa-story-source-copy-v030{position:relative;z-index:1;display:flex;min-width:0;flex-direction:column;gap:3px}
.ringa-story-source-copy-v030 b{font-size:15px!important;font-weight:950!important;letter-spacing:-.01em}
.ringa-story-source-copy-v030 small{font-size:10px!important;color:rgba(255,255,255,.58)!important;white-space:nowrap}
@media(max-width:430px){
  .ringa-story-source-actions-v029{width:min(360px,88vw)!important;gap:10px!important}
  .ringa-story-source-btn-v030{min-height:72px!important;padding:10px 12px!important;gap:10px!important;border-radius:20px!important}
  .ringa-story-source-icon-v030{flex-basis:43px;width:43px;height:43px;border-radius:14px}
  .ringa-story-source-icon-v030 svg{width:23px;height:23px}
  .ringa-story-source-copy-v030 small{font-size:9px!important}
}

/* Real Story upload progress should be unmistakable on a phone. */
.ringa-story-create-progress{height:48px!important;border-radius:16px!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.10)!important;background:rgba(6,7,10,.64)!important}
.ringa-story-create-progress i{background:linear-gradient(90deg,#ff3e68,#ff8427)!important;opacity:.95!important}

/* Story reaction belongs at the BOTTOM LEFT, in the same control row as Message. */
.ringa-story-viewer.has-story-reaction .ringa-story-viewer-head,
.ringa-story-viewer:not(.has-story-reaction) .ringa-story-viewer-head{padding-left:20px!important}
.ringa-story-viewer-foot>.ringa-story-reaction-dock{
  position:relative!important;z-index:18!important;left:auto!important;top:auto!important;bottom:auto!important;
  flex:0 0 52px!important;width:52px!important;height:52px!important;pointer-events:auto!important;
}
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like{
  width:52px!important;height:52px!important;min-height:52px!important;padding:0!important;border-radius:50%!important;
  background:rgba(8,9,13,.54)!important;border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 8px 25px rgba(0,0,0,.30)!important;-webkit-backdrop-filter:blur(14px)!important;backdrop-filter:blur(14px)!important;
}
.ringa-story-viewer-foot>.ringa-story-reaction-dock .ringa-story-reaction-tray{
  left:0!important;top:auto!important;bottom:60px!important;transform-origin:bottom left!important;
}
.ringa-story-viewer-foot>.ringa-story-reaction-dock #ringaStoryViewerLikeCount{display:none!important}

/* Reels: the 4px progress track touches the footer's top edge exactly. The
   28px range hit-area straddles that edge, while the footer itself masks the
   lower half so no visual seam can appear. */
body.page-template-page-videos .ringa-reel-seek-v013{
  left:0!important;right:0!important;width:100%!important;
  bottom:calc(var(--ringa-footer-h,64px) - 14px)!important;
}
body.page-template-page-videos .ringa-reel-seek-v013::-webkit-slider-runnable-track{border-radius:0!important}
body.page-template-page-videos .ringa-reel-seek-v013::-moz-range-track{border-radius:0!important}


/* =========================================================
   Ringa v0.31 reaction / Story upload polish
   ========================================================= */
/* Default Like is a clean neutral outline. Orange/filled styling is reserved
   for a reaction the current viewer has actually chosen. */
.ringa-react-btn:not(.is-reacted)[aria-pressed="false"]>.ringa-svg-icon-heart,
.ringa-react-btn:not(.is-reacted)[aria-pressed="false"]>.ringa-heart-icon{
  color:rgba(255,255,255,.96)!important;stroke:rgba(255,255,255,.96)!important;filter:none!important;
}
.ringa-react-btn:not(.is-reacted)[aria-pressed="false"]>.ringa-svg-icon-heart svg{
  fill:transparent!important;stroke:currentColor!important;
}

/* Reaction clouds are deliberately compact on phones. Six reactions must fit
   without covering the Reel or pushing outside the viewport. */
.ringa-reactions-picker{
  gap:1px!important;padding:5px 6px!important;
  max-width:calc(100vw - 24px)!important;
}
.ringa-reactions-picker button{width:36px!important;height:36px!important;min-width:36px!important}
.ringa-reactions-picker .ringa-reaction-art{width:36px!important;height:36px!important}
.ringa-reactions-picker .ringa-reaction-art svg,
.ringa-reactions-picker .ringa-reaction-art img{width:36px!important;height:36px!important}
.ringa-reel-action-wrap .ringa-reactions-picker{
  right:46px!important;bottom:2px!important;
  max-width:calc(100vw - 86px)!important;
}
@media(max-width:390px){
  .ringa-reactions-picker button{width:33px!important;height:33px!important;min-width:33px!important}
  .ringa-reactions-picker .ringa-reaction-art,
  .ringa-reactions-picker .ringa-reaction-art svg,
  .ringa-reactions-picker .ringa-reaction-art img{width:33px!important;height:33px!important}
}

/* Story Like stays bottom-left and shares the exact vertical centre of the
   message/send row. It is hidden for the Story owner by JS. */
.ringa-story-viewer-foot{position:absolute!important;display:block!important;min-height:52px!important}
.ringa-story-viewer-foot>.ringa-story-reaction-dock{
  position:absolute!important;left:0!important;top:50%!important;bottom:auto!important;
  transform:translateY(-50%)!important;width:50px!important;height:50px!important;z-index:22!important;
}
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like{
  width:50px!important;height:50px!important;min-height:50px!important;border-radius:50%!important;
  color:#fff!important;background:rgba(8,9,13,.52)!important;border:1px solid rgba(255,255,255,.13)!important;
  filter:none!important;
}
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like:not(.is-liked) .ringa-svg-icon-heart svg{
  fill:transparent!important;stroke:#fff!important;
}
.ringa-story-message-bar{width:auto!important;margin-left:64px!important;height:50px!important}
.ringa-story-viewer:not(.has-story-reaction) .ringa-story-message-bar{margin-left:0!important}

/* Story tray uses the same compact dimensions AND the same staggered motion as
   Feed/Reels. It opens upward from the bottom-left control. */
.ringa-story-viewer-foot>.ringa-story-reaction-dock .ringa-story-reaction-tray{
  left:0!important;bottom:58px!important;top:auto!important;
  width:min(274px,calc(100vw - 44px))!important;padding:6px 7px!important;gap:1px!important;
  transform-origin:bottom left!important;
}
.ringa-story-reaction-tray button{height:38px!important;min-width:38px!important}
.ringa-story-reaction-tray .ringa-reaction-art,
.ringa-story-reaction-tray .ringa-reaction-art svg,
.ringa-story-reaction-tray .ringa-reaction-art img{width:36px!important;height:36px!important}
.ringa-story-reaction-tray.is-open button:nth-child(1) .ringa-reaction-art{animation:ringaRxLike .78s cubic-bezier(.2,.9,.24,1.22) both}
.ringa-story-reaction-tray.is-open button:nth-child(2) .ringa-reaction-art{animation:ringaRxLove .88s cubic-bezier(.2,.9,.24,1.22) .035s both}
.ringa-story-reaction-tray.is-open button:nth-child(3) .ringa-reaction-art{animation:ringaRxLaugh .92s cubic-bezier(.2,.9,.24,1.18) .07s both}
.ringa-story-reaction-tray.is-open button:nth-child(4) .ringa-reaction-art{animation:ringaRxWow .82s cubic-bezier(.2,.9,.24,1.22) .105s both}
.ringa-story-reaction-tray.is-open button:nth-child(5) .ringa-reaction-art{animation:ringaRxSad .9s cubic-bezier(.2,.9,.24,1.12) .14s both}
.ringa-story-reaction-tray.is-open button:nth-child(6) .ringa-reaction-art{animation:ringaRxAngry .78s cubic-bezier(.2,.9,.24,1.14) .175s both}

/* Keep Reel progress visually welded to the footer top edge. */
body.page-template-page-videos .ringa-reel-seek-v013{bottom:calc(var(--ringa-footer-h,64px) - 14px)!important}


/* ===== Ringa v0.32: exact Story reaction/message-row alignment =====
   For another user's Story the reaction button is the first control in the
   bottom message row. Its vertical centre is exactly the message box centre.
   The owner still hides the dock via the existing [hidden] state. */
.ringa-story-viewer-foot{
  position:absolute!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-height:50px!important;
}
.ringa-story-viewer-foot>.ringa-story-reaction-dock{
  position:relative!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  transform:none!important;
  flex:0 0 50px!important;
  width:50px!important;height:50px!important;
  align-self:center!important;
  z-index:22!important;
}
.ringa-story-viewer-foot>.ringa-story-reaction-dock[hidden]{display:none!important}
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like{
  width:50px!important;height:50px!important;min-height:50px!important;
  display:grid!important;place-items:center!important;
  margin:0!important;padding:0!important;
}
.ringa-story-viewer-foot>.ringa-story-message-bar{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  height:50px!important;
  margin-left:0!important;
  align-self:center!important;
}
.ringa-story-viewer:not(.has-story-reaction) .ringa-story-message-bar{margin-left:0!important}
.ringa-story-viewer-foot>.ringa-story-reaction-dock .ringa-story-reaction-tray{
  position:absolute!important;
  left:0!important;bottom:58px!important;top:auto!important;
}

/* ===== Ringa v0.33: solid Reels footer + always-usable edge seeker ===== */
body.page-template-page-videos .ringa-bottom-nav{
  background:#0b0d13!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 -8px 24px rgba(0,0,0,.32)!important;
  backdrop-filter:none!important;
}
body.page-template-page-videos .ringa-reel-seek-v013{
  -webkit-appearance:none!important;appearance:none!important;
  left:0!important;right:0!important;width:100%!important;
  height:28px!important;bottom:var(--ringa-footer-h,64px)!important;
  z-index:40!important;margin:0!important;padding:0!important;border:0!important;box-sizing:border-box!important;
  pointer-events:auto!important;cursor:ew-resize!important;touch-action:none!important;
  background:linear-gradient(90deg,#ff7b24 0 var(--ringa-reel-progress,0%),rgba(255,255,255,.34) var(--ringa-reel-progress,0%) 100%) left bottom/100% 3px no-repeat!important;
}
body.page-template-page-videos .ringa-reel-seek-v013::-webkit-slider-runnable-track{height:28px!important;border:0!important;border-radius:0!important;background:transparent!important}
body.page-template-page-videos .ringa-reel-seek-v013::-moz-range-track{height:28px!important;border:0!important;border-radius:0!important;background:transparent!important}
body.page-template-page-videos .ringa-reel-seek-v013::-webkit-slider-thumb{-webkit-appearance:none!important;appearance:none!important;width:12px!important;height:12px!important;margin-top:14px!important;border:2px solid #fff!important;border-radius:50%!important;background:#ff7b24!important;box-shadow:0 2px 8px rgba(0,0,0,.45)!important;opacity:0!important}
body.page-template-page-videos .ringa-reel-seek-v013::-moz-range-thumb{width:12px!important;height:12px!important;border:2px solid #fff!important;border-radius:50%!important;background:#ff7b24!important;box-shadow:0 2px 8px rgba(0,0,0,.45)!important;opacity:0!important}
body.page-template-page-videos .ringa-reel.is-seeking .ringa-reel-seek-v013::-webkit-slider-thumb,
body.page-template-page-videos .ringa-reel-seek-v013:focus-visible::-webkit-slider-thumb{opacity:1!important}
body.page-template-page-videos .ringa-reel.is-seeking .ringa-reel-seek-v013::-moz-range-thumb,
body.page-template-page-videos .ringa-reel-seek-v013:focus-visible::-moz-range-thumb{opacity:1!important}

/* Lock the Story reaction into the left slot of the message row. */
.ringa-story-viewer-foot>.ringa-story-reaction-dock{order:0!important;align-self:center!important}
.ringa-story-viewer-foot>.ringa-story-message-bar{order:1!important;align-self:center!important}
.ringa-story-viewer-foot>.ringa-story-reaction-dock[hidden]{display:none!important}
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like{
  position:relative!important;inset:auto!important;transform:none!important;
}

/* =========================================================
   Ringa v0.35 instant-media + Story reaction parity
   ========================================================= */
/* Keep the Story reaction's outer circle geometrically centred around either
   the default heart or the selected reaction artwork. */
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  overflow:visible!important;
}
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like>.ringa-story-reaction-default,
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like>.ringa-story-selected-reaction{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:34px!important;
  height:34px!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
}
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like>.ringa-story-reaction-default[hidden],
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like>.ringa-story-selected-reaction[hidden]{display:none!important}
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like .ringa-svg-icon-heart,
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like .ringa-svg-icon-heart svg{
  width:30px!important;height:30px!important;margin:0!important;
}
.ringa-story-viewer-foot>.ringa-story-reaction-dock #ringaStoryViewerLikeCount{display:none!important}

/* Story tray motion deliberately mirrors the Feed/Reels reaction cloud. The
   forced reflow in JS makes these animations restart on every long press. */
.ringa-story-reaction-tray.is-open .ringa-reaction-art{will-change:transform,opacity}
.ringa-story-reaction-tray.is-open button:nth-child(1) .ringa-reaction-art{animation:ringaRxLike .78s cubic-bezier(.2,.9,.24,1.22) both!important}
.ringa-story-reaction-tray.is-open button:nth-child(2) .ringa-reaction-art{animation:ringaRxLove .88s cubic-bezier(.2,.9,.24,1.22) .035s both!important}
.ringa-story-reaction-tray.is-open button:nth-child(3) .ringa-reaction-art{animation:ringaRxLaugh .92s cubic-bezier(.2,.9,.24,1.18) .07s both!important}
.ringa-story-reaction-tray.is-open button:nth-child(4) .ringa-reaction-art{animation:ringaRxWow .82s cubic-bezier(.2,.9,.24,1.22) .105s both!important}
.ringa-story-reaction-tray.is-open button:nth-child(5) .ringa-reaction-art{animation:ringaRxSad .9s cubic-bezier(.2,.9,.24,1.12) .14s both!important}
.ringa-story-reaction-tray.is-open button:nth-child(6) .ringa-reaction-art{animation:ringaRxAngry .78s cubic-bezier(.2,.9,.24,1.14) .175s both!important}

/* Avoid a black CSS background peeking through while a warmed video swaps from
   poster to its first decoded frame. */
.ringa-media video.ringa-feed-video,
.ringa-reel video,
.ringa-story-media-layer video{background-color:transparent!important}

/* =========================================================
   Ringa v0.36 PassionFairy-speed media + free-floating Story reaction
   ========================================================= */
/* The reaction remains bottom-left and centered with the message row, but the
   visible circle/container is removed. Keep a generous invisible hit target so
   the control is still easy to press on a phone. */
.ringa-story-viewer-foot>.ringa-story-reaction-dock{
  flex:0 0 50px!important;width:50px!important;height:50px!important;
  display:grid!important;place-items:center!important;
}
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like{
  width:50px!important;height:50px!important;min-height:50px!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  filter:none!important;color:#fff!important;
}
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like.is-liked{
  background:transparent!important;border:0!important;box-shadow:none!important;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.45))!important;
}
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like>.ringa-story-reaction-default,
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like>.ringa-story-selected-reaction{
  width:38px!important;height:38px!important;
}
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like .ringa-svg-icon-heart,
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like .ringa-svg-icon-heart svg{
  width:34px!important;height:34px!important;
  filter:drop-shadow(0 3px 7px rgba(0,0,0,.48))!important;
}
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like .ringa-story-selected-reaction .ringa-reaction-art,
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like .ringa-story-selected-reaction .ringa-reaction-art svg,
.ringa-story-viewer-foot>.ringa-story-reaction-dock>.ringa-story-like .ringa-story-selected-reaction .ringa-reaction-art img{
  width:38px!important;height:38px!important;
}

/* =========================================================
   Ringa v0.38 posting flow + reliable start + clean cancel + transient feed toast
   ========================================================= */
.ringa-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ringa-upload-progress-text{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-top:8px!important}
.ringa-upload-progress-text>#ringaUploadPct{font-weight:900!important;font-variant-numeric:tabular-nums!important;color:#fff!important}
.ringa-upload-action,.ringa-story-upload-action{appearance:none!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(18,19,25,.82)!important;color:#fff!important;border-radius:999px!important;min-height:34px!important;padding:6px 12px!important;font:inherit!important;font-size:12px!important;font-weight:900!important;line-height:1!important;touch-action:manipulation!important;cursor:pointer!important}
.ringa-upload-action[hidden],.ringa-story-upload-action[hidden]{display:none!important}
.ringa-upload-action:active,.ringa-story-upload-action:active{transform:scale(.97)!important}

/* Story uploader mirrors the post flow: only percentage + cancel/retry above the bar. */
.ringa-story-upload-progress-v011 .ringa-story-upload-progress-head{pointer-events:auto!important;justify-content:space-between!important;gap:8px!important}
.ringa-story-upload-progress-v011 .ringa-story-upload-progress-head>strong{margin-right:auto!important;pointer-events:none!important}
.ringa-story-upload-progress-v011 .ringa-story-upload-action{pointer-events:auto!important;min-height:28px!important;padding:4px 10px!important;background:rgba(16,17,23,.80)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important}

/* Upload completion is a brief app toast, never a large Feed card. */
.ringa-feed-toast{position:fixed!important;z-index:2000200!important;left:50%!important;bottom:calc(var(--ringa-bottom-nav-h,78px) + 18px + env(safe-area-inset-bottom,0px))!important;transform:translate(-50%,0)!important;width:max-content!important;max-width:min(88vw,440px)!important;padding:11px 15px!important;border-radius:999px!important;background:rgba(24,26,33,.96)!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;box-shadow:0 14px 40px rgba(0,0,0,.42)!important;font-size:13px!important;font-weight:850!important;line-height:1.25!important;opacity:1!important;transition:opacity .24s ease,transform .24s ease!important;pointer-events:none!important}
.ringa-feed-toast.is-ready{background:rgba(25,47,36,.97)!important;border-color:rgba(111,237,164,.20)!important}
.ringa-feed-toast.is-leaving{opacity:0!important;transform:translate(-50%,10px)!important}

/* =========================================================
   Ringa v0.40 desktop Story viewer stage
   Keep mobile full-screen Stories untouched; desktop gets a centered frame.
   ========================================================= */
@media (min-width: 900px){
  .ringa-story-viewer{
    --ringa-desktop-story-h: calc(100vh - 48px);
    --ringa-desktop-story-h: calc(100dvh - 48px);
    --ringa-desktop-story-w: min(560px, 58vh, calc(100vw - 160px));
    --ringa-desktop-story-w: min(560px, 58dvh, calc(100vw - 160px));
    background:
      radial-gradient(circle at 50% 50%, rgba(255,97,32,.08), transparent 38%),
      rgba(3,4,7,.98) !important;
  }

  .ringa-story-viewer-media{
    top: 24px !important;
    bottom: auto !important;
    left: 50% !important;
    right: auto !important;
    width: var(--ringa-desktop-story-w) !important;
    height: var(--ringa-desktop-story-h) !important;
    transform: translateX(-50%) !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    box-shadow: 0 24px 90px rgba(0,0,0,.62), 0 0 0 1px rgba(255,255,255,.08) !important;
  }

  .ringa-story-viewer-head{
    top: 24px !important;
    left: 50% !important;
    right: auto !important;
    width: var(--ringa-desktop-story-w) !important;
    transform: translateX(-50%) !important;
    padding-top: 34px !important;
    border-radius: 24px 24px 0 0 !important;
  }

  .ringa-story-viewer-progress{
    top: 36px !important;
    left: 50% !important;
    right: auto !important;
    width: calc(var(--ringa-desktop-story-w) - 32px) !important;
    transform: translateX(-50%) !important;
  }

  .ringa-story-viewer-foot{
    left: 50% !important;
    right: auto !important;
    bottom: 40px !important;
    width: calc(var(--ringa-desktop-story-w) - 36px) !important;
    transform: translateX(-50%) !important;
  }

  .ringa-story-viewer-caption:not(.is-overlay-v013){
    left: 50% !important;
    right: auto !important;
    bottom: 112px !important;
    width: calc(var(--ringa-desktop-story-w) - 36px) !important;
    transform: translateX(-50%) !important;
  }
}

/* =========================================================
   Ringa v0.41 desktop Reels stage: final cascade authority
   ringa-v02.css loads after style.css, and older same-specificity Reels
   rules in this file set inset:0. Keep the entire Reel stage, controls,
   seeker and footer on one centered desktop column.
   ========================================================= */
@media (min-width: 900px){
  body.page-template-page-videos{
    --ringa-desktop-reel-w: min(520px, calc(100vw - 120px));
    background:#050609!important;
  }

  body.page-template-page-videos .ringa-reels{
    position:fixed!important;
    inset:auto!important;
    top:0!important;
    bottom:var(--ringa-footer-h,64px)!important;
    left:50%!important;
    right:auto!important;
    width:var(--ringa-desktop-reel-w)!important;
    max-width:var(--ringa-desktop-reel-w)!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    transform:translateX(-50%)!important;
    overflow:hidden!important;
    background:#000!important;
    border-left:1px solid rgba(255,255,255,.10)!important;
    border-right:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 0 90px rgba(0,0,0,.58)!important;
    z-index:10!important;
  }

  body.page-template-page-videos .ringa-reels-snap{
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
  }

  body.page-template-page-videos .ringa-reel{
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    min-height:100%!important;
    margin:0!important;
    transform:none!important;
  }

  body.page-template-page-videos .ringa-reel-media{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    margin:0!important;
    transform:none!important;
  }

  body.page-template-page-videos .ringa-reels-topglass{
    position:fixed!important;
    top:12px!important;
    left:50%!important;
    right:auto!important;
    width:calc(var(--ringa-desktop-reel-w) - 32px)!important;
    max-width:calc(var(--ringa-desktop-reel-w) - 32px)!important;
    transform:translateX(-50%)!important;
  }

  body.page-template-page-videos .ringa-bottom-nav,
  body.page-template-page-videos.ringa-fixed-shell .ringa-bottom-nav{
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    width:var(--ringa-desktop-reel-w)!important;
    max-width:var(--ringa-desktop-reel-w)!important;
    transform:translateX(-50%)!important;
    background:#0b0d13!important;
    border-top:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 -8px 24px rgba(0,0,0,.32)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    z-index:50!important;
  }

  body.page-template-page-videos .ringa-reel-seek-v013{
    left:0!important;
    right:0!important;
    width:100%!important;
    bottom:var(--ringa-footer-h,64px)!important;
  }

  body.page-template-page-videos .ringa-reel-actions{
    right:14px!important;
  }

  body.page-template-page-videos .ringa-reel-meta{
    left:18px!important;
    right:86px!important;
  }
}


/* =========================================================
   Ringa v0.47 desktop feed media fit
   Desktop-only: keep the entire post/media stage visible inside a normal
   desktop viewport instead of letting portrait 9:16 media become 1300px+ tall.
   Mobile remains unchanged. Native video controls and deferred Bunny source
   attachment are preserved, so desktop videos remain directly playable.
   ========================================================= */
@media (min-width: 900px){
  body:not(.page-template-page-videos) .ringa-feed .ringa-media{
    /* Reserve room for the fixed top bar, post header/caption/actions and the
       fixed bottom navigation. Cap very tall displays so posts stay compact. */
    height:clamp(320px, calc(100dvh - 278px), 560px)!important;
    max-height:clamp(320px, calc(100dvh - 278px), 560px)!important;
    min-height:320px!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    background:#030405!important;
  }

  /* 100vh fallback for browsers without dynamic viewport units. */
  @supports not (height: 100dvh){
    body:not(.page-template-page-videos) .ringa-feed .ringa-media{
      height:clamp(320px, calc(100vh - 278px), 560px)!important;
      max-height:clamp(320px, calc(100vh - 278px), 560px)!important;
    }
  }

  body:not(.page-template-page-videos) .ringa-feed .ringa-media > .ringa-carousel,
  body:not(.page-template-page-videos) .ringa-feed .ringa-media > .ringa-feed-video,
  body:not(.page-template-page-videos) .ringa-feed .ringa-media > video,
  body:not(.page-template-page-videos) .ringa-feed .ringa-media > iframe{
    width:100%!important;
    height:100%!important;
    max-height:100%!important;
  }

  body:not(.page-template-page-videos) .ringa-feed .ringa-media img,
  body:not(.page-template-page-videos) .ringa-feed .ringa-media video{
    width:100%!important;
    height:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
  }

  /* Make the native desktop playback surface unambiguous without changing
     touch/mobile interaction or the existing click-to-attach media logic. */
  body:not(.page-template-page-videos) .ringa-feed video.ringa-feed-video{
    cursor:pointer!important;
  }
}

/* =========================================================
   Ringa v0.48 desktop final cascade authority
   ringa-v02.css loads after style.css, so repeat the desktop shell width and
   footer-welded Reel seeker here to make the requested geometry authoritative.
   ========================================================= */
@media (min-width: 900px){
  :root{
    --ringa-desktop-reel-w:min(520px, calc(100vw - 120px));
    --ringa-desktop-shell-w:var(--ringa-desktop-reel-w);
  }

  body:not(.page-template-page-videos) .ringa-app,
  body:not(.page-template-page-videos) .ringa-topbar,
  body:not(.page-template-page-videos) .ringa-bottom-nav,
  body:not(.page-template-page-videos).ringa-fixed-shell .ringa-bottom-nav{
    width:var(--ringa-desktop-reel-w)!important;
    max-width:var(--ringa-desktop-reel-w)!important;
  }

  body:not(.page-template-page-videos) .ringa-app,
  body:not(.page-template-page-videos) .ringa-topbar{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body:not(.page-template-page-videos) .ringa-bottom-nav,
  body:not(.page-template-page-videos).ringa-fixed-shell .ringa-bottom-nav{
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
  }

  body.page-template-page-videos .ringa-reel-seek-v013{
    left:0!important;
    right:0!important;
    width:100%!important;
    bottom:0!important;
    margin:0!important;
  }
}


/* =========================================================
   Ringa v0.49 desktop alignment polish
   - Non-Reels footer follows the measured .ringa-app rectangle rather than
     centering against the browser viewport, eliminating scrollbar/zoom drift.
   - Desktop Reel metadata/actions use mobile-equivalent offsets from the
     stage/footer seam. The desktop stage already ends at the footer top.
   ========================================================= */
@media (min-width: 900px){
  :root{
    --ringa-shell-width:var(--ringa-desktop-shell-w);
    --ringa-shell-left:calc((100vw - var(--ringa-desktop-shell-w)) / 2);
  }

  body:not(.page-template-page-videos) .ringa-bottom-nav,
  body:not(.page-template-page-videos).ringa-fixed-shell .ringa-bottom-nav{
    width:var(--ringa-shell-width)!important;
    max-width:none!important;
    left:var(--ringa-shell-left)!important;
    right:auto!important;
    transform:none!important;
  }

  /* On mobile the Reel stage extends behind the footer, so these controls use
     footer-height-inclusive offsets. Desktop v0.48 ends the stage at the footer
     seam, therefore adding the footer height again pushed everything too high. */
  body.page-template-page-videos .ringa-reel-meta{
    bottom:34px!important;
  }
  body.page-template-page-videos .ringa-reel-actions{
    bottom:26px!important;
  }
}

/* =========================================================
   Ringa v0.56 mobile auth/feed/reels polish
   - Reels top row is now Reels label + perfectly centered mute control.
   - The redundant Reels Create shortcut is removed; bottom navigation owns Create.
   ========================================================= */
body.page-template-page-videos .ringa-reels-topglass{
  height:40px!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
body.page-template-page-videos .ringa-reels-topglass strong{
  display:flex!important;
  align-items:center!important;
  min-height:40px!important;
  line-height:1!important;
}
body.page-template-page-videos .ringa-reel-sound{
  top:calc(env(safe-area-inset-top,0px) + 12px)!important;
  right:16px!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  border-radius:50%!important;
}
body.page-template-page-videos .ringa-reel-sound > span{
  width:24px!important;
  height:24px!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
}
body.page-template-page-videos .ringa-reel-sound .ringa-svg-icon{
  width:22px!important;
  height:22px!important;
  margin:0!important;
}
/* v0.57: the generic v0.56 centering rule above intentionally makes child
   spans grid containers, so explicitly restore the mutually-exclusive sound
   icon states with equal specificity + !important. Only one icon may render. */
body.page-template-page-videos .ringa-reel-sound > .ringa-sound-on-icon{
  display:grid!important;
}
body.page-template-page-videos .ringa-reel-sound > .ringa-sound-off-icon{
  display:none!important;
}
body.page-template-page-videos .ringa-reel-sound.is-muted > .ringa-sound-on-icon{
  display:none!important;
}
body.page-template-page-videos .ringa-reel-sound.is-muted > .ringa-sound-off-icon{
  display:grid!important;
}


/* Ringa v0.57: Feed terminal-control ordering and Reels sound-icon state repair are defined above near their owning rules. */


/* =========================================================
   Ringa v0.58 profile/photo + mobile consistency polish
   ========================================================= */
.ringa-profile-avatar-button.is-viewable,
.ringa-profile-cover.is-viewable{cursor:zoom-in;touch-action:manipulation}
.ringa-reel-author-avatar,.ringa-reel-author-line>a{touch-action:manipulation}
body.ringa-profile-photo-open{overflow:hidden!important}
.ringa-avatar-lightbox{padding:0!important;overflow:auto!important;overscroll-behavior:contain;touch-action:pinch-zoom}
.ringa-avatar-lightbox-stage{min-width:100%;min-height:100%;display:grid;place-items:center;padding:calc(72px + env(safe-area-inset-top,0px)) 12px calc(24px + env(safe-area-inset-bottom,0px));box-sizing:border-box}
.ringa-avatar-lightbox-stage img{display:block;width:auto!important;height:auto!important;max-width:min(100%,1200px)!important;max-height:calc(100dvh - 110px)!important;object-fit:contain!important;box-shadow:0 18px 70px rgba(0,0,0,.45)}
@supports not (height:100dvh){.ringa-avatar-lightbox-stage img{max-height:calc(100vh - 110px)!important}}

@media (max-width: 680px){
  /* Visiting another member currently exposes exactly Timeline + About. Give
     both tabs equal ownership of the app width. If more public tabs are added,
     PHP drops is-two-tabs and the existing horizontal scroller takes over. */
  .ringa-profile-tabs.is-two-tabs{padding:10px 0!important;overflow:hidden!important}
  .ringa-profile-tabs.is-two-tabs .ringa-profile-tabs-track{width:100%!important;min-width:100%!important;max-width:100%!important;padding:0 12px!important;gap:8px!important;justify-content:stretch!important;box-sizing:border-box!important}
  .ringa-profile-tabs.is-two-tabs a{flex:1 1 50%!important;min-width:0!important;width:auto!important;max-width:none!important}
}

/* =========================================================
   Ringa v0.59 — moderation, privacy tools and admin profile UI
   ========================================================= */
.ringa-admin-tab-count{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:5px;padding:0 5px;border-radius:999px;background:#ff6f28;color:#fff;font-size:10px;line-height:1;font-weight:900}
.ringa-user-status{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:4px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);font-size:11px;font-weight:900;white-space:nowrap}
.ringa-user-status.is-active{color:#7ee3a1;background:rgba(54,190,103,.1);border-color:rgba(54,190,103,.24)}
.ringa-user-status.is-suspended{color:#ffd27b;background:rgba(255,174,45,.1);border-color:rgba(255,174,45,.25)}
.ringa-user-status.is-banned{color:#ff9191;background:rgba(255,70,70,.11);border-color:rgba(255,70,70,.26)}
.ringa-user-status.is-unknown{color:rgba(255,255,255,.6)}
.ringa-admin-moderation,.ringa-admin-users{padding:16px 14px 110px;max-width:980px;margin:0 auto}
.ringa-admin-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:2px 0 16px}
.ringa-admin-section-head>div>span{display:block;color:#ff7a38;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.ringa-admin-section-head h2{margin:5px 0 4px;font-size:25px;letter-spacing:-.03em}
.ringa-admin-section-head p{margin:0;color:rgba(255,255,255,.58);font-size:13px;line-height:1.5}
.ringa-admin-notice{margin:0 0 12px;padding:11px 13px;border:1px solid rgba(69,190,109,.23);background:rgba(69,190,109,.09);border-radius:14px;color:#9aebb4;font-size:13px;font-weight:800}
.ringa-admin-subtabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:13px;padding:4px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.025)}
.ringa-admin-subtabs a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border-radius:12px;text-decoration:none;color:rgba(255,255,255,.62);font-weight:850;font-size:13px}
.ringa-admin-subtabs a.is-active{background:rgba(255,122,56,.13);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,122,56,.25)}
.ringa-admin-subtabs a span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ff7028;color:#fff;font-size:10px}
.ringa-admin-report-list,.ringa-admin-user-list{display:grid;gap:11px}
.ringa-admin-report-card,.ringa-admin-user-card{border:1px solid rgba(255,255,255,.075);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));padding:15px;box-shadow:0 12px 34px rgba(0,0,0,.12)}
.ringa-admin-report-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)}
.ringa-admin-report-top>div{display:grid;gap:3px}.ringa-admin-report-top strong{font-size:14px}.ringa-admin-report-top span{font-size:11px;color:rgba(255,255,255,.5)}
.ringa-admin-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}
.ringa-admin-report-grid>div{min-width:0;padding:10px;border-radius:14px;background:rgba(255,255,255,.026)}
.ringa-admin-report-grid small,.ringa-admin-report-reason small{display:block;color:rgba(255,255,255,.43);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.ringa-admin-report-grid strong{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.ringa-admin-report-grid strong a{color:#fff;text-decoration:none}.ringa-admin-report-grid span{display:block;margin-top:3px;color:rgba(255,255,255,.5);font-size:11px}
.ringa-admin-report-reason{padding:10px 0 2px}.ringa-admin-report-reason p{margin:5px 0 0;color:rgba(255,255,255,.76);font-size:13px;line-height:1.5}
.ringa-moderation-action-form{display:grid;grid-template-columns:minmax(160px,1.2fr) 120px minmax(200px,2fr) auto;gap:8px;align-items:end;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}
.ringa-moderation-action-form label{display:grid;gap:5px;min-width:0}.ringa-moderation-action-form label>span{font-size:10px;font-weight:800;color:rgba(255,255,255,.48);text-transform:uppercase;letter-spacing:.06em}
.ringa-moderation-action-form input,.ringa-moderation-action-form select,.ringa-admin-user-search input{width:100%;min-height:40px;box-sizing:border-box;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:#151720;color:#fff;padding:8px 10px;font:inherit;outline:none}
.ringa-moderation-action-form input:focus,.ringa-moderation-action-form select:focus,.ringa-admin-user-search input:focus{border-color:rgba(255,122,56,.62);box-shadow:0 0 0 3px rgba(255,122,56,.09)}
.ringa-admin-history-result{display:flex;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06);font-size:12px}.ringa-admin-history-result span{color:rgba(255,255,255,.5)}
.ringa-admin-user-search{display:flex;gap:8px;margin:0 0 13px}.ringa-admin-user-search input{flex:1}
.ringa-admin-user-main{display:flex;align-items:center;justify-content:space-between;gap:14px}.ringa-admin-user-main>a{display:flex;align-items:center;min-width:0;gap:10px;color:#fff;text-decoration:none}.ringa-admin-user-main>a img{width:48px;height:48px;border-radius:50%;object-fit:cover}.ringa-admin-user-main>a>span{display:grid;min-width:0}.ringa-admin-user-main>a strong,.ringa-admin-user-main>a small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ringa-admin-user-main>a small{margin-top:3px;color:rgba(255,255,255,.48);font-size:11px}.ringa-admin-user-main>div{display:grid;justify-items:end;gap:3px}.ringa-admin-user-main>div>strong{font-size:19px}.ringa-admin-user-main>div>small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.42)}
.ringa-user-history{margin-top:11px;border-top:1px solid rgba(255,255,255,.06);padding-top:10px}.ringa-user-history summary{cursor:pointer;color:rgba(255,255,255,.62);font-size:12px;font-weight:800}.ringa-user-history>div{display:grid;gap:6px;margin-top:8px}.ringa-user-history p{display:grid;grid-template-columns:1fr auto;gap:3px 10px;margin:0;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.025);font-size:11px}.ringa-user-history p span{color:rgba(255,255,255,.45)}.ringa-user-history p small{grid-column:1/-1;color:rgba(255,255,255,.58);line-height:1.45}

.ringa-settings-saved.is-error{border-color:rgba(255,77,77,.24)!important;background:rgba(255,77,77,.08)!important;color:#ffaaaa!important}
.ringa-violation-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:2px}.ringa-violation-summary>div{padding:13px;border-radius:15px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.055)}.ringa-violation-summary span{display:block;color:var(--ringa-muted);font-size:11px}.ringa-violation-summary strong{display:inline-flex;margin-top:5px;font-size:20px}
.ringa-settings-inline-link{display:inline-flex;margin-top:5px;color:#ff8a48;font-size:12px;font-weight:850;text-decoration:none}
.ringa-data-export-form{margin:3px 0 8px}.ringa-delete-account-panel{margin-top:9px;padding-top:10px;border-top:1px solid var(--ringa-border)}.ringa-delete-account-panel summary{cursor:pointer;color:#ff9a72;font-weight:850;font-size:13px}.ringa-delete-account-panel>div{padding-top:10px}.ringa-delete-account-panel p{color:var(--ringa-muted);font-size:12px;line-height:1.5}.ringa-delete-account-panel form{display:grid;gap:9px}.ringa-delete-account-panel label{display:grid;gap:5px}.ringa-delete-account-panel label span{color:var(--ringa-muted);font-size:11px;font-weight:800}.ringa-delete-account-panel input{min-height:42px;border:1px solid var(--ringa-border);border-radius:12px;background:var(--ringa-surface-2);color:var(--ringa-text);padding:8px 11px;box-sizing:border-box}.ringa-danger-button{background:rgba(220,52,52,.13)!important;border-color:rgba(255,76,76,.27)!important;color:#ff9a9a!important}

@media(max-width:760px){
  .ringa-admin-moderation,.ringa-admin-users{padding-inline:10px}
  .ringa-admin-report-grid{grid-template-columns:1fr 1fr}
  .ringa-moderation-action-form{grid-template-columns:1fr 110px}.ringa-moderation-action-form .is-wide{grid-column:1/-1}.ringa-moderation-action-form>button{grid-column:1/-1;width:100%}
  .ringa-admin-user-main{align-items:flex-start}.ringa-admin-user-main>a{max-width:68%}
}
@media(max-width:430px){
  .ringa-admin-report-grid{grid-template-columns:1fr}.ringa-admin-report-top{align-items:center}.ringa-admin-user-main{gap:8px}.ringa-admin-user-main>a{max-width:64%}.ringa-admin-user-main>a img{width:43px;height:43px}.ringa-admin-user-main>div>strong{font-size:17px}
  .ringa-moderation-action-form{grid-template-columns:1fr}.ringa-moderation-action-form label,.ringa-moderation-action-form .is-wide,.ringa-moderation-action-form>button{grid-column:1}
  .ringa-admin-user-search{flex-direction:column}.ringa-admin-user-search .ringa-pill{width:100%}
  .ringa-violation-summary{grid-template-columns:1fr}
  .ringa-profile-tools>.ringa-report-user{padding-inline:10px;font-size:11px}
}

/* v0.59: production policy/About/Contact pages use the same readable app shell. */
.ringa-generic{padding-bottom:calc(var(--ringa-footer-h,72px) + 28px)}
.ringa-generic .ringa-pagehead{padding:22px 18px 8px;max-width:860px;margin:0 auto}
.ringa-generic .ringa-page-title{font-size:28px;line-height:1.08;font-weight:950;letter-spacing:-.035em}
.ringa-generic-content{max-width:860px;margin:0 auto;padding:8px 18px 34px;color:rgba(255,255,255,.78);font-size:14px;line-height:1.68}
.ringa-generic-content h2{margin:25px 0 8px;color:#fff;font-size:18px;line-height:1.25;letter-spacing:-.015em}
.ringa-generic-content p{margin:0 0 13px}.ringa-generic-content strong{color:#fff}.ringa-generic-content a{color:#ff8a48;text-underline-offset:3px}.ringa-generic-content ul,.ringa-generic-content ol{padding-left:22px}.ringa-generic-content li{margin:6px 0}
@media(max-width:680px){.ringa-generic .ringa-pagehead{padding:18px 14px 7px}.ringa-generic .ringa-page-title{font-size:24px}.ringa-generic-content{padding:7px 14px 28px;font-size:13.5px}.ringa-generic-content h2{font-size:17px;margin-top:22px}}

/* =========================================================
   Ringa v0.61 - admin Users containment + desktop profile tabs
   ========================================================= */
/* v0.60's intended layout rules were accidentally serialized with literal
   backslash-n characters, so browsers never received a valid rule block.
   Keep the compact desktop app shell authoritative and force every admin
   moderation surface to size from that shell, not from min-content widths. */
.ringa-admin-users,
.ringa-admin-moderation{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:hidden;
  box-sizing:border-box;
}
.ringa-admin-users *,
.ringa-admin-moderation *{box-sizing:border-box}
.ringa-admin-user-list,
.ringa-admin-report-list{
  width:100%;
  max-width:100%;
  min-width:0;
  grid-template-columns:minmax(0,1fr);
}
.ringa-admin-user-card,
.ringa-admin-report-card{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}
.ringa-admin-user-main{
  width:100%;
  min-width:0;
}
.ringa-admin-user-main>a{
  flex:1 1 0;
  min-width:0;
  max-width:calc(100% - 88px);
}
.ringa-admin-user-main>div{
  flex:0 0 76px;
  min-width:0;
  max-width:76px;
}
.ringa-user-action-form{
  width:100%;
  max-width:100%;
  min-width:0;
  grid-template-columns:minmax(0,1fr) minmax(72px,92px)!important;
}
.ringa-user-action-form label,
.ringa-user-action-form .is-wide,
.ringa-user-action-form>button{
  min-width:0!important;
  max-width:100%!important;
}
.ringa-user-action-form .is-wide{grid-column:1/-1!important}
.ringa-user-action-form>button{
  grid-column:1/-1!important;
  width:100%!important;
  justify-content:center;
}
.ringa-user-action-form select,
.ringa-user-action-form input{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}

/* The desktop viewport is wide while the Ringa app shell intentionally remains
   compact. Seven administrator tabs fit inside that shell, so do not horizontally
   center the active Users tab and hide Timeline/Saved/About off the left edge. */
@media (min-width:900px){
  .ringa-profile-tabs.is-admin-tabs{
    overflow:hidden!important;
    padding:10px 0!important;
  }
  .ringa-profile-tabs.is-admin-tabs .ringa-profile-tabs-track{
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    padding-inline:8px!important;
    gap:3px!important;
    justify-content:stretch!important;
    box-sizing:border-box!important;
  }
  .ringa-profile-tabs.is-admin-tabs a{
    flex:1 1 0!important;
    min-width:0!important;
    width:auto!important;
    max-width:none!important;
    padding:9px 3px!important;
    font-size:11px!important;
    white-space:nowrap!important;
  }
  .ringa-profile-tabs.is-admin-tabs .ringa-admin-tab-count{
    min-width:16px;
    height:16px;
    padding:0 4px;
    margin-left:2px;
    font-size:9px;
  }
  .ringa-admin-users,
  .ringa-admin-moderation{padding-inline:12px!important}
}

@media (max-width:430px){
  .ringa-admin-user-main>a{max-width:calc(100% - 78px)}
  .ringa-admin-user-main>div{flex-basis:70px;max-width:70px}
}

/* =========================================================
   Ringa v0.62 - horizontally scrollable profile navigation
   ========================================================= */
/* Profile navigation is a horizontal rail. Keep every destination at a
   comfortable touch/click width instead of compressing administrator tabs
   to fit the compact app shell. Users can swipe/drag left and right. */
.ringa-profile-tabs{
  display:block!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  scroll-snap-type:x proximity;
  touch-action:pan-x pan-y;
}
.ringa-profile-tabs::-webkit-scrollbar{display:none!important}
.ringa-profile-tabs .ringa-profile-tabs-track{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:max-content!important;
  min-width:max-content!important;
  max-width:none!important;
  gap:6px!important;
  padding:0 14px!important;
  box-sizing:border-box!important;
}
.ringa-profile-tabs .ringa-profile-tabs-track>a{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:104px!important;
  max-width:none!important;
  padding:9px 13px!important;
  font-size:13px!important;
  white-space:nowrap!important;
  scroll-snap-align:center;
}

/* Administrator profiles have seven destinations. Deliberately keep those
   as a scroll rail on desktop too rather than shrinking their labels. */
@media (min-width:900px){
  .ringa-profile-tabs.is-admin-tabs{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:10px 0!important;
    cursor:grab;
  }
  .ringa-profile-tabs.is-admin-tabs.is-dragging{
    cursor:grabbing;
    user-select:none;
  }
  .ringa-profile-tabs.is-admin-tabs .ringa-profile-tabs-track{
    width:max-content!important;
    min-width:max-content!important;
    max-width:none!important;
    padding-inline:14px!important;
    gap:6px!important;
    justify-content:flex-start!important;
  }
  .ringa-profile-tabs.is-admin-tabs a{
    flex:0 0 auto!important;
    min-width:108px!important;
    width:auto!important;
    max-width:none!important;
    padding:9px 13px!important;
    font-size:12px!important;
  }
}

/* Preserve the intentional two-column visitor profile treatment on mobile.
   Once more tabs exist, the generic horizontal rail above takes over. */
@media (max-width:899px){
  .ringa-profile-tabs.is-two-tabs{
    overflow-x:hidden!important;
  }
  .ringa-profile-tabs.is-two-tabs .ringa-profile-tabs-track{
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    padding:0 12px!important;
    gap:8px!important;
  }
  .ringa-profile-tabs.is-two-tabs a{
    flex:1 1 50%!important;
    min-width:0!important;
    width:auto!important;
    max-width:none!important;
  }
}

/* =========================================================
   Ringa v0.72 - front-end advertising administration
   ========================================================= */
.ringa-admin-ads{width:100%;max-width:100%;min-width:0;padding:16px 12px 110px;margin:0 auto;box-sizing:border-box;overflow-x:hidden}
.ringa-admin-ads *{box-sizing:border-box}
.ringa-admin-subtabs-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.ringa-admin-subtabs-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.ringa-admin-ad-list{display:grid;grid-template-columns:minmax(0,1fr);gap:11px;width:100%;min-width:0}
.ringa-admin-ad-card{width:100%;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.075);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));padding:15px;box-shadow:0 12px 34px rgba(0,0,0,.12)}
.ringa-admin-ad-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)}
.ringa-admin-ad-top>div:not(.ringa-admin-ad-owner){display:grid;gap:3px;min-width:0}.ringa-admin-ad-top strong{font-size:14px}.ringa-admin-ad-top small{font-size:11px;color:rgba(255,255,255,.48)}
.ringa-admin-ad-owner{display:flex;align-items:center;gap:10px;min-width:0}.ringa-admin-ad-owner img{width:46px;height:46px;border-radius:50%;object-fit:cover}.ringa-admin-ad-owner>span{display:grid;min-width:0}.ringa-admin-ad-owner strong,.ringa-admin-ad-owner small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ringa-ad-state{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:4px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.ringa-ad-state.is-active{color:#7ee3a1;background:rgba(54,190,103,.1);border-color:rgba(54,190,103,.24)}
.ringa-ad-state.is-pending{color:#ffd27b;background:rgba(255,174,45,.1);border-color:rgba(255,174,45,.25)}
.ringa-ad-state.is-paused{color:#b8c3ff;background:rgba(95,111,255,.1);border-color:rgba(95,111,255,.22)}
.ringa-ad-state.is-rejected{color:#ff9c9c;background:rgba(255,70,70,.11);border-color:rgba(255,70,70,.26)}
.ringa-ad-state.is-completed{color:rgba(255,255,255,.66)}
.ringa-admin-ad-preview{padding:12px 0 2px}.ringa-admin-ad-preview small,.ringa-admin-ad-surfaces>small{display:block;color:rgba(255,255,255,.43);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.ringa-admin-ad-preview p{margin:5px 0 6px;color:rgba(255,255,255,.8);font-size:13px;line-height:1.5}.ringa-admin-ad-preview a,.ringa-admin-private-preview a{color:#ff8a48;text-decoration:none;font-size:12px;font-weight:850}
.ringa-admin-ad-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:11px 0}.ringa-admin-ad-metrics>div{min-width:0;padding:10px;border-radius:14px;background:rgba(255,255,255,.026)}.ringa-admin-ad-metrics small{display:block;color:rgba(255,255,255,.42);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.ringa-admin-ad-metrics strong{display:block;margin-top:4px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ringa-admin-ad-metrics span{display:block;margin-top:3px;color:rgba(255,255,255,.48);font-size:10px}
.ringa-admin-ad-surfaces{padding:1px 0 10px}.ringa-admin-ad-surfaces>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.ringa-admin-ad-surfaces>div span{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border-radius:999px;background:rgba(255,122,56,.09);border:1px solid rgba(255,122,56,.18);color:#ffb28d;font-size:10px;font-weight:800}
.ringa-admin-ad-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.ringa-admin-ad-action-form{margin:0}.ringa-admin-ad-actions .ringa-pill{min-height:38px}.ringa-admin-ad-actions .ringa-pill.is-danger{background:rgba(255,70,70,.1);border-color:rgba(255,70,70,.26);color:#ff9d9d}
.ringa-admin-private-preview{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:start;padding:12px 0 3px}.ringa-admin-private-preview img{width:96px;height:76px;object-fit:cover;border-radius:13px;background:#111}.ringa-admin-private-preview>div{min-width:0}.ringa-admin-private-preview strong{display:block;font-size:14px}.ringa-admin-private-preview p{margin:5px 0 6px;color:rgba(255,255,255,.66);font-size:12px;line-height:1.45}
@media(max-width:760px){.ringa-admin-subtabs-five,.ringa-admin-subtabs-four{display:flex;overflow-x:auto;grid-template-columns:none;justify-content:flex-start}.ringa-admin-subtabs-five a,.ringa-admin-subtabs-four a{flex:0 0 auto;min-width:92px;padding-inline:12px}.ringa-admin-ad-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.ringa-admin-ads{padding-inline:10px}.ringa-admin-ad-card{padding:13px}.ringa-admin-ad-top{align-items:center}.ringa-admin-ad-owner{max-width:72%}.ringa-admin-ad-metrics{grid-template-columns:1fr 1fr}.ringa-admin-private-preview{grid-template-columns:78px minmax(0,1fr)}.ringa-admin-private-preview img{width:78px;height:68px}.ringa-admin-ad-actions{display:grid;grid-template-columns:1fr}.ringa-admin-ad-action-form,.ringa-admin-ad-actions .ringa-pill{width:100%}}

/* v0.75 Ringa Points, Partner progress and weekly history */
.ringa-profile-points-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 18px 16px;max-width:720px;margin:0 auto;width:100%}
.ringa-profile-points-strip>div,.ringa-wallet-points-mini>div,.ringa-achievement-summary>div{padding:13px 12px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;min-width:0}
.ringa-profile-points-strip small,.ringa-wallet-points-mini small,.ringa-achievement-summary small{font-size:8px;letter-spacing:.12em;color:#ff7c38;font-weight:900}.ringa-profile-points-strip strong,.ringa-wallet-points-mini strong,.ringa-achievement-summary strong{font-size:20px;margin-top:3px}.ringa-profile-points-strip span,.ringa-wallet-points-mini span{font-size:10px;color:rgba(255,255,255,.52)}
.ringa-wallet-points-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 18px 16px}.ringa-wallet-points-mini>div{padding:15px}.ringa-wallet-points-mini strong{font-size:23px}
.ringa-partner-progress-card{margin-top:14px;padding:18px;border:1px solid rgba(255,126,56,.18);border-radius:24px;background:linear-gradient(145deg,rgba(255,103,32,.08),rgba(255,255,255,.018));box-shadow:0 14px 35px rgba(0,0,0,.14)}
.ringa-partner-progress-full{margin:0 18px 18px}.ringa-partner-head{display:flex;flex-direction:column;gap:3px;margin-bottom:15px}.ringa-partner-head>span{font-size:9px;letter-spacing:.14em;color:#ff7d38;font-weight:950}.ringa-partner-head>strong{font-size:19px}.ringa-partner-head>p{margin:4px 0 0;color:rgba(255,255,255,.56);font-size:12px;line-height:1.5}
.ringa-partner-row{margin-top:13px}.ringa-partner-row>div{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:6px}.ringa-partner-row>div span{font-size:12px;color:rgba(255,255,255,.72)}.ringa-partner-row>div b{font-size:11px;color:rgba(255,255,255,.88);white-space:nowrap}.ringa-partner-row>i{display:block;height:7px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.ringa-partner-row>i>em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff6426,#ff9b52);min-width:0}.ringa-partner-row.is-complete>i>em{box-shadow:0 0 14px rgba(255,120,55,.36)}
.ringa-rc-card.is-earning-locked{opacity:.92}.ringa-rc-card.is-earning-locked .ringa-rc-mark{filter:saturate(.65)}
.ringa-leader-history{margin:0 14px 22px}.ringa-history-week{border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.018);margin-bottom:9px;overflow:hidden}.ringa-history-week summary{list-style:none;cursor:pointer;padding:14px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px}.ringa-history-week summary::-webkit-details-marker{display:none}.ringa-history-week summary>span{display:flex;min-width:0;flex-direction:column}.ringa-history-week summary strong{font-size:13px}.ringa-history-week summary small{font-size:10px;color:rgba(255,255,255,.48);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ringa-history-week summary>b{font-size:10px;color:#ff8039;text-transform:uppercase;letter-spacing:.08em}.ringa-history-rows{border-top:1px solid rgba(255,255,255,.06);padding:4px 10px 8px}.ringa-history-row{display:grid;grid-template-columns:34px 38px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 2px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.05)}.ringa-history-row:last-child{border-bottom:0}.ringa-history-row img{width:36px;height:36px;border-radius:50%;object-fit:cover}.ringa-history-row>span:nth-of-type(2){display:flex;flex-direction:column;min-width:0}.ringa-history-row>span:nth-of-type(2) strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ringa-history-row>span:nth-of-type(2) small{font-size:9px;color:rgba(255,255,255,.45)}.ringa-history-row>b{font-size:11px;color:#ff843d;white-space:nowrap}
.ringa-achievement-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:0 18px 16px}.ringa-achievement-summary>div{padding:14px}.ringa-achievement-summary strong{font-size:21px}.ringa-achievement-milestones article{position:relative;overflow:hidden}.ringa-achievement-milestones article.is-earned{border-color:rgba(255,127,55,.22);background:radial-gradient(circle at 100% 0,rgba(255,126,55,.1),transparent 45%),rgba(255,255,255,.025)}.ringa-badge-level{margin-top:10px;font-size:11px;font-weight:850;color:#ff853c}.ringa-achievement-milestones article>small{display:block;margin-top:5px;color:rgba(255,255,255,.43);font-size:10px}.ringa-creator-week-badge{border-color:rgba(255,171,54,.22)!important}
@media(max-width:430px){.ringa-profile-points-strip,.ringa-wallet-points-mini,.ringa-achievement-summary{gap:6px}.ringa-profile-points-strip>div,.ringa-wallet-points-mini>div,.ringa-achievement-summary>div{padding:11px 9px}.ringa-profile-points-strip strong,.ringa-wallet-points-mini strong,.ringa-achievement-summary strong{font-size:17px}.ringa-history-row{grid-template-columns:28px 34px minmax(0,1fr) auto}.ringa-history-row img{width:32px;height:32px}}

/* v0.77 Profile rank spacing + clean searchable full leaderboard */
.ringa-profile-nameblock .ringa-profile-handle-row{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
  margin-top:5px;
  color:rgba(255,255,255,.57);
  font-size:13px;
  line-height:1.25;
}
.ringa-profile-handle-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ringa-profile-rank-link{
  flex:0 0 auto;
  margin-left:2px;
  color:rgba(255,255,255,.57);
  font-size:13px;
  font-weight:700;
  line-height:1.25;
  text-decoration:none;
  padding:1px 0;
  border-bottom:1px solid transparent;
}
.ringa-profile-rank-link:hover,.ringa-profile-rank-link:focus-visible{color:#ff8a48;border-bottom-color:currentColor;outline:none}
.ringa-profile-v02.is-other-profile .ringa-profile-identity-row{grid-template-columns:auto minmax(0,1fr);align-items:end}
.ringa-profile-v02.is-other-profile .ringa-profile-tools{grid-column:2;justify-self:start;flex-wrap:wrap;max-width:100%;padding-top:3px}
.ringa-profile-v02.is-other-profile .ringa-profile-nameblock{align-self:end}
.ringa-profile-points-tab{padding:18px 0 110px;min-height:300px}
.ringa-points-tab-head{padding:0 18px 12px}
.ringa-points-tab-head h2{margin:0;font-size:20px}
.ringa-profile-points-tab .ringa-profile-points-strip{padding-top:0}
.ringa-points-leaderboard-link{display:flex;align-items:center;justify-content:space-between;margin:0 18px;padding:13px 15px;border:1px solid rgba(255,126,56,.18);border-radius:16px;background:rgba(255,126,56,.055);color:#fff;font-size:12px;font-weight:850;text-decoration:none}
.ringa-points-leaderboard-link span{font-size:22px;line-height:1;color:#ff8844}

.ringa-leaderboard-page{padding-bottom:110px}
.ringa-leaderboard-titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 20px 14px}
.ringa-leaderboard-titlebar h1{margin:0;font-size:28px;line-height:1.05;letter-spacing:-.02em}
.ringa-leader-search{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:42px}
.ringa-leader-search-toggle{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:50%;background:rgba(255,255,255,.025);color:#fff;cursor:pointer;padding:0}
.ringa-leader-search-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.ringa-leader-search-toggle:hover,.ringa-leader-search-toggle:focus-visible{border-color:rgba(255,126,56,.35);color:#ff8a48;outline:none}
.ringa-leader-search-box{display:block;min-width:0}
.ringa-leader-search-box[hidden]{display:none!important}
.ringa-leader-search-box input{width:min(230px,52vw);height:40px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.035);color:#fff;padding:0 14px;font:inherit;font-size:13px;outline:none}
.ringa-leader-search-box input:focus{border-color:rgba(255,126,56,.42);box-shadow:0 0 0 3px rgba(255,126,56,.08)}
.ringa-leader-search-box input::placeholder{color:rgba(255,255,255,.35)}
.ringa-current-leaderboard{margin:0 14px 22px}
.ringa-current-leaderboard .ringa-top10-head{padding-inline:4px}
.ringa-leader-table-head,.ringa-leader-row-simple,.ringa-history-row-simple{display:grid;grid-template-columns:58px minmax(0,1fr) 100px;gap:10px;align-items:center}
.ringa-leader-table-head{padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.09);color:rgba(255,255,255,.38);font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.ringa-leader-table-head span:last-child{text-align:right}
.ringa-leader-live-list{display:block}
.ringa-leader-row-simple{min-height:48px;padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.065);color:#fff;text-decoration:none;scroll-margin-top:120px;border-radius:12px}
.ringa-leader-row-simple[hidden]{display:none!important}
.ringa-leader-row-simple:last-child{border-bottom:0}
.ringa-leader-row-simple:hover,.ringa-leader-row-simple:focus-visible{background:rgba(255,255,255,.035);outline:none}
.ringa-leader-row-simple:target,.ringa-leader-row-simple.is-highlighted{background:linear-gradient(90deg,rgba(255,97,32,.14),rgba(255,138,72,.05));box-shadow:inset 3px 0 0 #ff7938}
.ringa-rank-number{font-weight:900;color:rgba(255,255,255,.72);font-variant-numeric:tabular-nums}
.ringa-leader-username{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800;color:#fff}
.ringa-leader-row-simple>b,.ringa-history-row-simple>b{text-align:right;color:#ff843d;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ringa-leader-history{margin:0 14px 22px}
.ringa-history-row-simple{padding:10px 4px;border-bottom:1px solid rgba(255,255,255,.05);color:#fff;text-decoration:none}
.ringa-history-row-simple:last-child{border-bottom:0}
.ringa-history-week summary{padding-block:13px}
.ringa-history-week summary>span{display:block}
.ringa-history-week summary small,.ringa-history-week summary>b{display:none}
.ringa-leader-search-empty{margin-top:8px}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:560px){
  .ringa-profile-tabs .ringa-profile-tabs-track{justify-content:flex-start!important}
  .ringa-profile-tabs .ringa-profile-tabs-track>a{min-width:86px!important;padding-inline:11px!important}
  .ringa-leaderboard-titlebar{padding:20px 14px 12px}
  .ringa-leaderboard-titlebar h1{font-size:25px}
  .ringa-leader-table-head,.ringa-leader-row-simple,.ringa-history-row-simple{grid-template-columns:48px minmax(0,1fr) 82px;gap:7px}
  .ringa-leader-table-head{padding-inline:8px}.ringa-leader-row-simple{padding-inline:8px}
}
@media(max-width:430px){
  .ringa-profile-nameblock .ringa-profile-handle-row{gap:14px}
  .ringa-profile-points-tab .ringa-profile-points-strip{grid-template-columns:1fr;gap:8px}
  .ringa-profile-points-tab .ringa-profile-points-strip>div{padding:13px 14px}
  .ringa-leader-search-box input{width:180px}
}

/* v0.78 Partner qualification: followers + either views or watch-hours path */
.ringa-partner-choice{display:flex;align-items:center;gap:10px;margin:14px 0 2px;color:rgba(255,255,255,.46);font-size:9px;font-weight:950;letter-spacing:.12em}
.ringa-partner-choice:before,.ringa-partner-choice:after{content:"";height:1px;flex:1;background:rgba(255,255,255,.08)}
.ringa-partner-or{text-align:center;margin:8px 0 -3px;color:#ff7d38;font-size:9px;font-weight:950;letter-spacing:.12em}

/* Ringa v0.80 — orphan media protection */
.ringa-media-unavailable-card .ringa-media-unavailable-state{
  min-height:128px;display:flex;align-items:center;justify-content:center;
  border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.025);color:#aeb2bd;font-size:14px;
}
.ringa-admin-media-list{display:grid;gap:12px;padding:0 16px 24px}
.ringa-admin-media-card{border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:14px;background:#111218}
.ringa-admin-media-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ringa-admin-media-head>div{display:flex;align-items:center;gap:10px;min-width:0}
.ringa-admin-media-head img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.ringa-admin-media-head span span,.ringa-admin-media-head>div>span{min-width:0}
.ringa-admin-media-head strong,.ringa-admin-media-head small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ringa-admin-media-head small{color:#8f95a3;margin-top:2px}
.ringa-media-issue-badge{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#ff7a52}
.ringa-admin-media-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0;color:#aeb2bd;font-size:12px}
.ringa-admin-media-meta code{max-width:100%;overflow:hidden;text-overflow:ellipsis;color:#d7d9df;background:#0b0c10;border-radius:8px;padding:5px 7px}
.ringa-admin-media-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ringa-admin-media-actions form{margin:0}
.ringa-admin-media-repair{display:flex;gap:7px;flex:1 1 260px}
.ringa-admin-media-repair input{min-width:0;flex:1 1 180px;border:1px solid rgba(255,255,255,.12);background:#0b0c10;color:#fff;border-radius:999px;padding:9px 12px}
@media(max-width:620px){.ringa-admin-media-actions{align-items:stretch}.ringa-admin-media-actions form,.ringa-admin-media-repair{width:100%}.ringa-admin-media-actions .ringa-pill{width:100%}}

/* =========================================================
   Ringa v0.89 Vidz intrinsic-ratio media lock
   The stage remains full-screen. JS sizes the actual <video> rectangle to the
   source display ratio so mobile/desktop can never stretch it to the viewport.
   Unused stage space belongs to the poster-backed blurred backdrop.
   ========================================================= */
body.page-template-page-videos .ringa-reel-media{
  background:#000!important;
}
body.page-template-page-videos .ringa-reel-video{
  object-fit:contain!important;
  object-position:center center!important;
  background:transparent!important;
  transform-origin:center center!important;
}


/* =========================================================
   Ringa v0.90 Vidz 9:16 stage + no media outline
   Keep the stage edge clean. The stage is sized to the 9:16 viewing ratio on
   desktop while the actual video remains aspect-correct and centered.
   ========================================================= */
body.page-template-page-videos .ringa-reels,
body.page-template-page-videos .ringa-reels-snap,
body.page-template-page-videos .ringa-reel,
body.page-template-page-videos .ringa-reel-media,
body.page-template-page-videos .ringa-reel-video{
  border:0!important;outline:0!important;box-shadow:none!important;
}
body.page-template-page-videos .ringa-reel-media{background:#000!important}
@media(min-width:900px){
  /* v0.91: restore the wider desktop Vidz stage used before the v0.90
     height-derived width squeeze. Desktop has room for the original 520px
     column; the actual video inside it still keeps its own aspect ratio. */
  body.page-template-page-videos{--ringa-desktop-reel-w:min(520px,calc(100vw - 120px))!important}
  body.page-template-page-videos .ringa-reels{border-left:0!important;border-right:0!important;box-shadow:none!important}
}

/* =========================================================
   Ringa v0.91 Vidz edge-clean stage
   The viewing stage reaches the device/app edges on mobile and the restored
   desktop column edges on large screens. Never draw a second dark frame
   around the video. Any unused area belongs to the poster-backed backdrop.
   ========================================================= */
body.page-template-page-videos :is(.ringa-reels,.ringa-reels-snap,.ringa-reel,.ringa-reel-media,.ringa-reel-video,.ringa-reel-gradient){
  border:0!important;outline:0!important;box-shadow:none!important;border-radius:0!important;
}
body.page-template-page-videos .ringa-reel-media{
  overflow:hidden!important;
}
body.page-template-page-videos .ringa-reel-media::before{
  inset:-12%!important;
  transform:scale(1.14)!important;
  filter:blur(28px) brightness(.72) saturate(.92)!important;
}
@media(max-width:899.98px){
  body.page-template-page-videos .ringa-reels{
    left:0!important;right:0!important;width:100vw!important;max-width:100vw!important;
    margin:0!important;transform:none!important;
  }
  body.page-template-page-videos :is(.ringa-reels-snap,.ringa-reel,.ringa-reel-media){
    width:100%!important;max-width:100%!important;margin:0!important;
  }
}

/* =========================================================
   Ringa v0.92 Vidz shell alignment + transparent top media
   - Use the same auto-margin centering model as the rest of Ringa on desktop.
   - Remove the old dark top gradient that made the video look like it started
     below a separate header band. Keep only a lower readability fade.
   ========================================================= */
body.page-template-page-videos .ringa-reel-gradient{
  background:linear-gradient(to bottom,transparent 0%,transparent 58%,rgba(0,0,0,.76) 100%)!important;
}
@media(min-width:900px){
  body.page-template-page-videos .ringa-reels,
  body.page-template-page-videos .ringa-bottom-nav,
  body.page-template-page-videos.ringa-fixed-shell .ringa-bottom-nav{
    left:0!important;
    right:0!important;
    width:var(--ringa-desktop-reel-w)!important;
    max-width:var(--ringa-desktop-reel-w)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    transform:none!important;
  }
  body.page-template-page-videos .ringa-reels-topglass{
    left:0!important;
    right:0!important;
    width:calc(var(--ringa-desktop-reel-w) - 32px)!important;
    max-width:calc(var(--ringa-desktop-reel-w) - 32px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    transform:none!important;
  }
}
