!function(){"use strict";const e=["todo","review","done"],t={name:"",email:"",userId:null,notify:!1,role:"client",mode:"disabled",token:null,spam:!1,spamUpdated:null,spamReason:"",checkEmail:!1,verified:!1,unauthorized:!1,login:!1,localization:[],theme:{},paramActive:!1,paramActiveSetting:!1,associated:!0,needsName:!1,selectedStatuses:["todo","review"],enabledStatuses:["todo","review","done"],showTutorial:!0},n=["page_id","pageId","product_id","e-filter-ecfb459-product_tag"],o={high:0,normal:1,low:2,undefined:1},r={initCalled:!1,observerStarted:!1,currentElement:null,commentInputUI:null,commentIdCounter:0,comments:[],allComments:[],allCommentsCount:0,commentsLoading:!1,commentsLoaded:!1,allCommentsLoaded:!0,commentsFetchToken:null,commentsFetchTokenExp:null,commentsFetchError:null,commentsFetchSequence:0,commentsPollIntervalId:null,commentsPollInFlight:!1,addCommentInFlight:!1,sessionCommentIds:new Set,isEditingComment:!1,shouldAnimateMarkers:!1,animatedMarkerIds:new Set,markerAnimationIndex:0,justRepliedCommentId:null,mode:"disabled",userMode:"user",theme:{},localization:[],simpleCommenterUserData:{...t},enabledStatuses:["todo","review","done"],selectedStatuses:["todo","review"],statusCounts:{todo:0,in_progress:0,review:0,rework:0,on_hold:0,blocked:0,done:0,cancelled:0,total:0},initialLoad:!0,modeboxRenderedEarly:!1,screenshotData:null,capturing:null,selectedColorValue:null,screenshotCaptureEnabledForAccount:!1,effectiveScreenshotCaptureEnabled:!1,configuredCaptureHost:null,screenshotCaptureConfigResolved:!1,...(()=>{let e;return{screenshotCaptureConfigResolvedPromise:new Promise(t=>{e=t}),screenshotCaptureConfigResolveFn:e}})(),screenshotCaptureUserToggle:null,interactionTrackerAttached:!1,processingScreenshotCommentIds:new Set,screenshotPollHandles:new Map,activeScreenshotPulseCommentId:null,screenshotAuthDynamicConfig:null,observedAuthHeaders:new Map,adminBar:!1,paramActiveSetting:!1,pageComments:!0,auth:!1,active:!1,drawing:!0,screenshots:!0,extensionAutoScreenshots:!1,uploads:!0,commentTitle:!1,metaData:!0,isMobile:!1,resolveSettings:!1,elementMatchingMode:"static",elementMatchingWeights:null,tier:"pro",taggingEnabled:!1,taggingRequiresAuth:!1,taggingCanRegister:!1,taggableMentionables:[],activeDraftResumeToken:null,pendingDraftText:null,pendingDraftTitle:null,addedFiles:[],replyFileSessions:{},replyDrafts:{},isUploading:!1,pageCommentsButton:null,allCommentsButton:null,domain:null,extensionMode:!1,extensionPublicKey:null,extensionProjectName:null,emailFromUrl:null,assetCommenting:!1,assetState:{token:null,fileType:null,numPages:null,pageNumber:null,domain:null},iframeCommenting:"undefined"!=typeof window&&window.simpleCommenterState?.iframeCommenting||!1,iframeState:{iframeId:"undefined"!=typeof window&&window.simpleCommenterState?.iframeId||"website-preview-iframe",iframe:null,domain:"undefined"!=typeof window&&window.simpleCommenterState?.domain||null,currentSlug:"undefined"!=typeof window&&window.simpleCommenterState?.currentSlug||"/",baseUrl:"undefined"!=typeof window&&window.simpleCommenterState?.baseUrl||null},iframeListenersSetup:!1,lastIframeDoc:null,iframeWatcherInterval:null,hideModal:!1,lastLocator:null,drawerOpen:!1,sidebarDisabled:"undefined"!=typeof window&&window.simpleCommenterState?.sidebarDisabled||!1,drawerPage:"comments",drawerCommentId:null,drawerLoginState:"form",drawerErrorMessage:null,drawerElements:{backdrop:null,drawer:null,content:null},drawerDetailComment:null,drawerDetailIsExternal:!1,drawerPreviousPage:null,drawerFilterDropdown:null,drawerPageDropdown:null,drawerSortDropdown:null,drawerPriorityDropdown:null,drawerSortOrder:"newest",drawerPriorityFilter:"all",drawerLoginMethod:"magic",drawerShowRegister:!1,pendingFetchTimeout:null,isCleaningUp:!1,pendingStateInterval:null,fetchSequence:0,latestFetchSequence:0,lastUrl:"undefined"!=typeof window?location.href:"",urlChangeDebounceTimeout:null,lastPageState:null,urlWatcherStarted:!1,urlCheckScheduled:!1,positionCheckScheduled:!1,positionResizeDebounce:null,positionMutationDebounce:null,positionIdleCallbackId:null,suppressMutationObserver:!1,positionCheckSkipCache:!1,lastIdleCheck:0,batchProcessingIndex:0,batchProcessingActive:!1,pillWrapper:null,pillHamburger:null,pillCollapsedButton:null,pillIndicator:null,pillBadge:null,pillSegments:{},pillExpanded:!1,pillPosition:"right",pillMenuOpen:!1,pillAnimationTimeout:null,pillHamburgerAnimationTimeout:null,pillBadgeBobTimeout:null,filterDropdown:null,scButton:null,currentLoginContainerState:null,hasCompletedInitialAnimation:!1,popupOpen:!1,popupElements:{backdrop:null,popup:null,content:null},currentPopupType:null,tutorialStep:0,tutorialCommentId:null,overlay:null,shapes:[],redoShapes:[],isDrawing:!1,currentShape:null,justFinishedDrawing:!1,currentTool:null,isReattachMode:!1,reattachCommentId:null,reattachElement:null},i=[{key:"post",value:"Post",group:"comment_form"},{key:"enterCommentTitlePlaceholder",value:"Enter Comment Title..",group:"comment_form"},{key:"enterCommentPlaceholder",value:"Enter your comment here...",group:"comment_form"},{key:"addReplyPlaceholder",value:"Add a reply...",group:"replies"},{key:"addReply",value:"Add Reply",group:"replies"},{key:"reply",value:"Reply",group:"replies"},{key:"replies",value:"Replies",group:"replies"},{key:"resolve",value:"Resolve",group:"statuses"},{key:"allComments",value:"All Comments",group:"comment_list"},{key:"thisPage",value:"on this page",group:"comment_list"},{key:"allPages",value:"on other pages",group:"comment_list"},{key:"noComments",value:"No comments yet.",group:"comment_list"},{key:"newComment",value:"New Comment",group:"comment_form"},{key:"viewComment",value:"View Comment",group:"comment_list"},{key:"view",value:"View",group:"general"},{key:"viewScreenshot",value:"View Screenshot",group:"attachments"},{key:"anonymous",value:"Anonymous",group:"user_roles"},{key:"client",value:"Client",group:"user_roles"},{key:"team",value:"Team Member",group:"user_roles"},{key:"user",value:"Workspace Admin",group:"user_roles"},{key:"userNameTitle",value:"Who's Commenting?",group:"user_identity"},{key:"userNameDescription",value:"Let others know who's behind this great feedback.",group:"user_identity"},{key:"userEmailDescription",value:"Your email ensures you'll hear back about your feedback.",group:"user_identity"},{key:"nameRequestTitle",value:"Help us know who you are",group:"user_identity"},{key:"name",value:"Name",group:"user_identity"},{key:"email",value:"Email",group:"user_identity"},{key:"namePlaceholder",value:"Your name",group:"user_identity"},{key:"emailPlaceholder",value:"your@email.com",group:"user_identity"},{key:"userEmailCheckbox",value:"Get notifications when your comments get resolved or replied.",group:"user_identity"},{key:"userSave",value:"Confirm & Comment",group:"user_identity"},{key:"resetUserData",value:"Reset",group:"user_identity"},{key:"exit",value:"Exit",group:"general"},{key:"userNameErrorText",value:"Please enter a name.",group:"alerts"},{key:"userEmailErrorText",value:"Please enter a valid email address.",group:"alerts"},{key:"notifications",value:"Notifications",group:"settings"},{key:"enabled",value:"Enabled",group:"general"},{key:"disabled",value:"Disabled",group:"general"},{key:"logout",value:"Sign Out",group:"authentication"},{key:"attachIdentity",value:"Identify yourself",group:"user_identity"},{key:"continueWithGoogle",value:"Continue with Google",group:"authentication"},{key:"draw",value:"Annotate by drawing",group:"attachments"},{key:"screenshot",value:"Capture a screenshot",group:"attachments"},{key:"screenshotCaptureToggle",value:"Capture screenshot",group:"attachments"},{key:"screenshotProcessing",value:"Screenshot processing",group:"attachments"},{key:"screenshotFailed",value:"Screenshot failed",group:"attachments"},{key:"removeFile",value:"Remove File",group:"attachments"},{key:"uploads",value:"Upload Files",group:"attachments"},{key:"technicalInfo",value:"Technical info",group:"comment_list"},{key:"active",value:"active",group:"general"},{key:"filters",value:"Filters:",group:"filters"},{key:"noFilters",value:"No filters",group:"filters"},{key:"allStatuses",value:"All statuses",group:"filters"},{key:"selectAll",value:"Select All",group:"filters"},{key:"clearAll",value:"Clear All",group:"filters"},{key:"statusTodo",value:"To Do",group:"statuses"},{key:"statusInProgress",value:"In Progress",group:"statuses"},{key:"statusReview",value:"Review",group:"statuses"},{key:"statusRework",value:"Rework",group:"statuses"},{key:"statusOnHold",value:"On Hold",group:"statuses"},{key:"statusBlocked",value:"Blocked",group:"statuses"},{key:"statusDone",value:"Done",group:"statuses"},{key:"statusCancelled",value:"Cancelled",group:"statuses"},{key:"priorityLow",value:"Low",group:"priorities"},{key:"priorityNormal",value:"Normal",group:"priorities"},{key:"priorityHigh",value:"High",group:"priorities"},{key:"priority",value:"Priority",group:"priorities"},{key:"justNow",value:"just now",group:"time"},{key:"minAgo",value:"min ago",group:"time"},{key:"hoursAgo",value:"hours ago",group:"time"},{key:"daysAgo",value:"days ago",group:"time"},{key:"weeksAgo",value:"weeks ago",group:"time"},{key:"monthsAgo",value:"months ago",group:"time"},{key:"yearsAgo",value:"years ago",group:"time"},{key:"comments",value:"Comments",group:"comment_list"},{key:"loginTitle",value:"Sign in to your account",group:"authentication"},{key:"loginDescription",value:"Sign in to leave comments and feedback.",group:"authentication"},{key:"loginDescriptionOptional",value:"Sign in to comment with your name and receive notifications.",group:"authentication"},{key:"loginButton",value:"Login with Email",group:"authentication"},{key:"checkEmail",value:"Please check your inbox and click the link to complete your login.\n\nIf you don't see the email, make sure to check your spam or junk folder.",group:"authentication"},{key:"checkEmailTitle",value:"Please Check Your Email",group:"authentication"},{key:"checkEmailDesc",value:"Please check your inbox and click the link to complete your login.\n\nIf you don't see the email, make sure to check your spam or junk folder.",group:"authentication"},{key:"loginError",value:"Login Error",group:"alerts"},{key:"unauthorized",value:"Account not found. Please login with an authorized email.",group:"alerts"},{key:"loginErrorButton",value:"Try Again",group:"authentication"},{key:"privacy",value:"By logging in, you agree to Simple Commenter [Terms of Service] and [Privacy Policy].",links:[{placeholder:"[Terms of Service]",url:"https://www.simplecommenter.com/terms-conditions",translation:"Terms of Service"},{placeholder:"[Privacy Policy]",url:"https://www.simplecommenter.com/privacy",translation:"Privacy Policy"}],group:"authentication"},{key:"helpTitle",value:"Discover Simple Commenter",group:"help"},{key:"helpIntro",value:"Simple Commenter makes it easy to leave feedback directly on a website. You can switch between three simple modes depending on what you want to do:",group:"help"},{key:"helpDisabledTitle",value:"Disabled Mode",group:"help"},{key:"helpDisabledDesc",value:"Everything is turned off. You can browse and click around the website normally, without seeing or adding any comments.",group:"help"},{key:"helpViewTitle",value:"View Mode",group:"help"},{key:"helpViewDesc",value:"See all the comments that have already been added. This mode is for reading and reviewing feedback only — you won't be able to add new comments here.",group:"help"},{key:"helpCommentTitle",value:"Add New Comments Mode",group:"help"},{key:"helpCommentDesc",value:"Click or hover over parts of the page to leave a new comment. This lets you point out exactly what needs to be changed. Links on the page won't open while you're in this mode, so you can focus on giving feedback.",group:"help"},{key:"dropFilesHere",value:"Drop files here...",group:"attachments"},{key:"commentModeActive",value:"Comment Mode Active",group:"comment_mode"},{key:"commentModeDescription",value:"Click anywhere to add a comment. Buttons are disabled. Press ESC to exit.",group:"comment_mode"},{key:"commentModeDescriptionMobile",value:"Click anywhere to add a comment. Buttons & links are disabled.",group:"comment_mode"},{key:"dontShowAgain",value:"Don't show again",group:"settings"},{key:"newest",value:"Newest",group:"filters"},{key:"oldest",value:"Oldest",group:"filters"},{key:"highPriority",value:"Priority (Highest)",group:"filters"},{key:"lowPriority",value:"Priority (Lowest)",group:"filters"},{key:"allPriorities",value:"All Priorities",group:"filters"},{key:"high",value:"High",group:"filters"},{key:"normal",value:"Normal",group:"filters"},{key:"low",value:"Low",group:"filters"},{key:"noCommentsWithPriority",value:"No comments with this priority",group:"filters"},{key:"settings",value:"Settings",group:"settings"},{key:"settingHideBannerLabel",value:"Hide Comment Mode Banner",group:"settings"},{key:"settingHideBannerDesc",value:"Don't show the notification banner when entering comment mode.",group:"settings"},{key:"settingTutorialLabel",value:"Show Tutorial Hints",group:"settings"},{key:"settingTutorialDesc",value:"Show onboarding tips and hints to help you get started.",group:"settings"},{key:"signIn",value:"Sign In",group:"authentication"},{key:"register",value:"Register",group:"authentication"},{key:"registerTitle",value:"Create your account",group:"authentication"},{key:"loginMagicLink",value:"Login with Magic Link",group:"authentication"},{key:"loginPassword",value:"Login with Password",group:"authentication"},{key:"registerMagicLink",value:"Register with Magic Link",group:"authentication"},{key:"registerPassword",value:"Register with Password",group:"authentication"},{key:"password",value:"Password",group:"authentication"},{key:"magicLink",value:"Magic Link",group:"authentication"},{key:"orContinueWith",value:"Or continue with",group:"authentication"},{key:"noAccount",value:"Want to leave feedback as a client?",group:"authentication"},{key:"alreadyHaveAccount",value:"Already have an account?",group:"authentication"},{key:"validationError",value:"Validation Error",group:"alerts"},{key:"emailRequired",value:"Please enter your email address.",group:"alerts"},{key:"nameRequired",value:"Please enter your name.",group:"alerts"},{key:"passwordRequired",value:"Please enter your password.",group:"alerts"},{key:"comingSoon",value:"Coming Soon",group:"general"},{key:"googleLoginComingSoon",value:"Google login will be available soon.",group:"alerts"},{key:"loginErrorDesc",value:"Something went wrong. Please try again.",group:"alerts"},{key:"registerDescription",value:"Register as a client to start leaving feedback on this project.",group:"authentication"},{key:"requestAccessDescription",value:"Request client access to this project. The project owner will review your request.",group:"authentication"},{key:"requestAccessTitle",value:"Request access",group:"authentication"},{key:"requestAccessButton",value:"Request Access",group:"authentication"},{key:"requestAccessMagicLink",value:"Request Access with Magic Link",group:"authentication"},{key:"requestAccessPassword",value:"Request Access with Password",group:"authentication"},{key:"loginMagicLinkDescription",value:"Enter your email and we'll send you a magic link to sign in instantly.",group:"authentication"},{key:"loginPasswordDescription",value:"Enter your email and password to access your account.",group:"authentication"},{key:"sendMagicLink",value:"Send Magic Link",group:"authentication"},{key:"createAccount",value:"Create Account",group:"authentication"},{key:"requestAccess",value:"Request Access",group:"authentication"},{key:"back",value:"Back",group:"general"},{key:"moreInfo",value:"More info",group:"general"},{key:"done",value:"Done",group:"general"},{key:"tryAgain",value:"Try Again",group:"general"},{key:"unauthorizedDesc",value:"You are not authorized to access this domain.",group:"alerts"},{key:"loginSuccess",value:"Login Successful",group:"authentication"},{key:"loginSuccessDesc",value:"You are now signed in.",group:"authentication"},{key:"registrationFailed",value:"Registration failed. Please try again.",group:"alerts"},{key:"registrationSuccess",value:"Registration Successful",group:"authentication"},{key:"registrationSuccessDesc",value:"Your account has been created. You can now sign in.",group:"authentication"},{key:"requestSubmitted",value:"Request Submitted",group:"authentication"},{key:"requestSubmittedDesc",value:"Your access request has been submitted. You'll be notified when it's approved.",group:"authentication"},{key:"pendingApproval",value:"Pending Approval",group:"authentication"},{key:"pendingApprovalTitle",value:"Registration Submitted",group:"authentication"},{key:"pendingApprovalDesc",value:"Your registration request is pending approval from an admin.",group:"authentication"},{key:"verified",value:"Verified",group:"statuses"},{key:"unverified",value:"Unverified",group:"statuses"},{key:"verifiedTitle",value:"Email Verified!",group:"authentication"},{key:"verifiedDesc",value:"You can now leave comments.",group:"authentication"},{key:"error",value:"Error",group:"alerts"},{key:"errorTitle",value:"Something went wrong",group:"alerts"},{key:"errorDesc",value:"Please try again.",group:"alerts"},{key:"saving",value:"Saving...",group:"general"},{key:"nameErrorText",value:"Name is required",group:"alerts"},{key:"close",value:"Close",group:"general"},{key:"hidden",value:"Hidden",group:"statuses"},{key:"hiddenCommentTitle",value:"Comment Not Visible",group:"hidden_comments"},{key:"hiddenCommentDesc",value:"This comment's marker cannot be displayed on the page. This can happen for a few reasons:",group:"hidden_comments"},{key:"hiddenReason1",value:"The element is inside a dropdown, tab, or accordion that isn't currently visible",group:"hidden_comments"},{key:"hiddenReason2",value:"The element may have been removed from the page",group:"hidden_comments"},{key:"hiddenReason3",value:"The page layout has changed significantly since the comment was added",group:"hidden_comments"},{key:"hiddenCommentTip",value:"You can reattach this comment to a new element if you can see where it should be placed.",group:"hidden_comments"},{key:"reattachComment",value:"Reattach Comment",group:"hidden_comments"},{key:"editComment",value:"Edit Comment",group:"actions"},{key:"deleteComment",value:"Delete Comment",group:"actions"},{key:"deleteConfirm",value:"Are you sure you want to delete this comment?",group:"actions"},{key:"save",value:"Save",group:"actions"},{key:"cancel",value:"Cancel",group:"actions"},{key:"tutorialTitle",value:"Welcome to Simple Commenter",group:"tutorial"},{key:"tutorialStep1Title",value:"How to leave feedback",group:"tutorial"},{key:"tutorialStep1Desc",value:"Use the mode switcher to control how you interact with comments:",group:"tutorial"},{key:"tutorialModeDisabled",value:"Disabled",group:"tutorial"},{key:"tutorialModeDisabledDesc",value:"Comments are hidden. Browse the website normally.",group:"tutorial"},{key:"tutorialModeView",value:"View Mode",group:"tutorial"},{key:"tutorialModeViewDesc",value:"See all comments and replies. Read and review feedback.",group:"tutorial"},{key:"tutorialModeComment",value:"Comment Mode",group:"tutorial"},{key:"tutorialModeCommentDesc",value:"Click on elements to add new comments. Links are disabled.",group:"tutorial"},{key:"tutorialStep2Title",value:"Adding Comments",group:"tutorial"},{key:"tutorialStep2Desc",value:"When in comment mode, you can:",group:"tutorial"},{key:"tutorialFeatureClick",value:"Click on Elements",group:"tutorial"},{key:"tutorialFeatureClickDesc",value:"Click anywhere to highlight an element and add a comment about it.",group:"tutorial"},{key:"tutorialFeatureUpload",value:"Attach Files",group:"tutorial"},{key:"tutorialFeatureUploadDesc",value:"Upload images, screenshots, or documents to your comments.",group:"tutorial"},{key:"tutorialFeatureButtons",value:"Buttons Disabled",group:"tutorial"},{key:"tutorialFeatureButtonsDesc",value:"Buttons and links are disabled so you can click on them to comment.",group:"tutorial"},{key:"tutorialStep3Title",value:"Replying to Comments",group:"tutorial"},{key:"tutorialStep3Desc",value:"Collaborate with your team by replying to comments:",group:"tutorial"},{key:"tutorialFeatureReply",value:"Add Replies",group:"tutorial"},{key:"tutorialFeatureReplyDesc",value:"Click on any comment to view it and add a reply to the conversation.",group:"tutorial"},{key:"tutorialFeatureStatus",value:"Track Status",group:"tutorial"},{key:"tutorialFeatureStatusDesc",value:"Comments can be marked as To Do, In Progress, Review, or Done.",group:"tutorial"},{key:"tutorialStep4Title",value:"Stay in the Loop",group:"tutorial"},{key:"tutorialStep4Desc",value:"Get the most out of Simple Commenter by creating an account:",group:"tutorial"},{key:"tutorialBenefitIdentity",value:"Your Identity",group:"tutorial"},{key:"tutorialBenefitIdentityDesc",value:"Let others know who's behind the feedback with your name attached to comments.",group:"tutorial"},{key:"tutorialBenefitNotifications",value:"Get Notified",group:"tutorial"},{key:"tutorialBenefitNotificationsDesc",value:"Receive email updates when someone replies to your comments or marks them as resolved.",group:"tutorial"},{key:"tutorialCtaTitle",value:"Ready to get started?",group:"tutorial"},{key:"tutorialCtaDesc",value:"Create an account to track your feedback and get notifications.",group:"tutorial"},{key:"skip",value:"Don't show again",group:"general"},{key:"next",value:"Next",group:"general"},{key:"getStarted",value:"Get Started ",group:"general"},{key:"continueWithoutAccount",value:"Continue without account",group:"authentication"},{key:"enterCommentPlaceholderWithMentions",value:"Enter your comment, use @ to tag...",group:"comment_form"},{key:"addReplyPlaceholderWithMentions",value:"Add a reply, use @ to tag...",group:"replies"},{key:"signInToTag",value:"Sign in to tag people",group:"tagging"},{key:"noMentionResults",value:"No results found",group:"tagging"},{key:"tagUsers",value:"Tag users",group:"tagging"}];function a(e){return(e=>{const t=i.find(t=>t.key===e)||{value:e,links:[]};let n=t.value;return t.links?.forEach(e=>{const t=e.placeholder.replace(/[[\]]/g,"\\$&"),o=new RegExp(t,"g");n=n.replace(o,`${e.translation}`)}),n})(e)}function s(e){return e&&"TEXTAREA"!==e.tagName&&"true"===e.getAttribute("contenteditable")}function l(e){return e?s(e)?e.innerText||"":e.value||"":""}function m(e,t){e&&(s(e)?e.textContent=t||"":e.value=t||"")}function c(e){e&&(s(e)?e.innerHTML="":e.value="")}function p(e){return!e||0===l(e).trim().length}const d=["authorization","x-auth-token","x-access-token","x-api-key","x-csrf-token"],u=8192,g=["token","auth","session","jwt","bearer","access","refresh","user"],h=new Set(["simpleCommenterUserData","sc-screenshot-capture-pref"]),f=["token","accessToken","refreshToken","idToken","jwt","bearer","authorization","exp","iat"];let b=!1;function w(){return r.screenshotAuthDynamicConfig||{}}function y(e){try{return new URL(e,window.location.href).origin===window.location.origin}catch{return!0}}function x(e,t,n){try{if("string"!=typeof e||"string"!=typeof t)return;if(!e||!t)return;if(!function(e,t){const n=String(e).toLowerCase();if(!0!==r.screenshotCaptureConfigResolved)return d.includes(n)&&y(t);if(!1===r.effectiveScreenshotCaptureEnabled)return!1;const o=w();if(!1===o.enabled)return!1;if(!1===o.headerHarvest?.enabled)return!1;const i=function(){const e=w(),t=Array.isArray(e?.headerHarvest?.extraHeaderNames)?e.headerHarvest.extraHeaderNames:[],n=new Set(d);for(const e of t)"string"==typeof e&&e.trim()&&n.add(e.trim().toLowerCase());return n}();return!(!i.has(n)||!1!==o.headerHarvest?.sameOriginOnly&&!y(t))}(e,n))return;const o=t.length>u?t.slice(0,u):t,i=e.toLowerCase();if(r.observedAuthHeaders.set(i,{name:e,value:o}),r.observedAuthHeaders.size>10){const e=r.observedAuthHeaders.keys().next().value;r.observedAuthHeaders.delete(e)}}catch{}}function v(e){if("string"!=typeof e||!e)return!1;if(/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/.test(e))return!0;const t=e.trim();if(t.startsWith("{")&&t.endsWith("}"))try{const e=JSON.parse(t);if(e&&"object"==typeof e)for(const t of f)if(Object.prototype.hasOwnProperty.call(e,t)){const n=e[t];if(null!=n&&""!==n)return!0}}catch{}return!1}function C(e){const t=String(e).toLowerCase();for(const e of g)if(t.includes(e))return!0;return!1}function k(){const e=w();if(!1===e.enabled)return null;if(!1===r.effectiveScreenshotCaptureEnabled)return null;if(!function(e){const t=function(e){if(!e||"string"!=typeof e)return"";const t=e.trim().toLowerCase();if(!t)return"";try{const e=new URL(t.includes("://")?t:`http://${t}`);return e.port&&!["80","443"].includes(e.port)?`${e.hostname}:${e.port}`:e.hostname}catch{return t.replace(/^https?:\/\//,"").replace(/\/.*$/,"")}}(e);if(!t)return!0;const n=String(window.location.host||"").toLowerCase(),o=String(window.location.hostname||"").toLowerCase();return t.includes(":")?n===t:o===t||o.endsWith(`.${t}`)}(r.configuredCaptureHost))return null;const t=!1!==e.cookieHarvest?.enabled?function(){try{const e="undefined"!=typeof document?document.cookie:"";if(!e)return[];const t=w(),n=new Set((t?.cookieHarvest?.excludeNames||[]).map(e=>String(e)));return e.split(";").map(e=>e.trim()).filter(Boolean).map(e=>{const t=e.indexOf("=");if(-1===t)return null;const o=e.slice(0,t).trim(),r=e.slice(t+1).trim();return o&&r?n.has(o)?null:{name:o,value:r.length>u?r.slice(0,u):r,domain:window.location?.hostname||"",path:"/"}:null}).filter(Boolean)}catch{return[]}}():[],n=[];if(!1!==e.headerHarvest?.enabled)for(const{name:e,value:t}of r.observedAuthHeaders.values())n.push({name:e,value:t});const o=function(){const e=w(),t=Array.isArray(e?.storageReads)?e.storageReads:[],n=[],o=[];for(const e of t)try{if(!e?.key)continue;const t="sessionStorage"===e.storage?window.sessionStorage:window.localStorage;if(!t)continue;const r=t.getItem(e.key);if(null==r||""===r)continue;const i=e.valueTemplate?String(e.valueTemplate).replace("{value}",r):r;"cookie"===e.sendAs&&e.cookieName?o.push({name:e.cookieName,value:i,domain:window.location?.hostname||"",path:"/"}):e.headerName&&n.push({name:e.headerName,value:i})}catch{}return{headers:n,cookies:o}}(),i=[...t,...o.cookies],a=[...n,...o.headers],s=function(){try{const e=w();if(!1===e?.storageHarvest?.enabled)return[];if(!1===e?.enabled)return[];const t=new Set((Array.isArray(e?.storageHarvest?.extraIncludeNames)?e.storageHarvest.extraIncludeNames:[]).filter(e=>"string"==typeof e&&e).map(e=>e.trim())),n=new Set((Array.isArray(e?.storageHarvest?.excludeNames)?e.storageHarvest.excludeNames:[]).filter(e=>"string"==typeof e&&e).map(e=>e.trim())),o=[],r=e=>{if(o.length>=15)return;const r="sessionStorage"===e?window.sessionStorage:window.localStorage;if(!r)return;const i=function(e){const t=[];try{const n=e?.length||0;for(let o=0;o0&&t.push(n)}}catch{}return t}(r);for(const a of i){if(o.length>=15)break;if(h.has(a))continue;if(n.has(a))continue;let i;try{i=r.getItem(a)}catch{continue}if("string"==typeof i&&0!==i.length&&!(i.length>u)){if(!t.has(a)){if(!C(a))continue;if(!v(i))continue}o.push({storage:e,key:a,value:i})}}};return r("localStorage"),r("sessionStorage"),o}catch{return[]}}();return 0===i.length&&0===a.length&&0===s.length?null:{cookies:i,headers:a,storageSeeds:s}}const E=document.currentScript||document.querySelector('script[src*="comments.js"]')||null,S=new URL(window.location.href);window.SIMPLE_COMMENTER_DEBUG="true"===S.searchParams.get("debug");const L=(...e)=>{window.SIMPLE_COMMENTER_DEBUG&&console.log(...e)},D=(...e)=>{window.SIMPLE_COMMENTER_DEBUG},A=(...e)=>{window.SIMPLE_COMMENTER_DEBUG},T=(...e)=>{window.SIMPLE_COMMENTER_DEBUG&&console.warn(...e)},F=(...e)=>{window.SIMPLE_COMMENTER_DEBUG&&console.error(...e)},M=e=>({0:"bottom-right",1:"bottom-center",2:"bottom-left",3:"side-right",4:"side-left"}[e]||"bottom-right"),P=(e={})=>"pill"===e.modeboxVersion||"6"===e.modeboxVersion||"v2"===e.modeboxVersion,B=e=>"right-edge"===e||"left-edge"===e,I=(()=>{const e=window.__SC_EXTENSION_CONFIG__||{};return e.endpoint?e.endpoint:"localhost"===window?.location?.hostname?"http://localhost:3000/api/js/":"https://www.simplecommenter.com/api/js/"})();async function z(e,t,n){try{const o=await fetch(`${I}presigned-upload`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({domain:n,referrer:document?.URL,fileName:e.name,mimeType:e.type,fileSize:e.size,token:t,assetCommenting:r.assetCommenting||null,assetState:r.assetState||null})});if(!o.ok){const e=await o.json();throw new Error(e.error||"Failed to get upload URL")}const{uploadUrl:i,s3Key:a}=await o.json();if(!(await fetch(i,{method:"PUT",headers:{"Content-Type":e.type},body:e})).ok)throw new Error("Failed to upload file to storage");return{s3Key:a,fileName:e.name,mimeType:e.type,fileSize:e.size}}catch(e){throw F("Presigned upload failed:",e),e}}function N(e,t=95){let n=0,o=null;const r=()=>{o=setTimeout(()=>{(()=>{if(n>=t)return void clearInterval(o);const r=t-n,i=Math.random()*Math.min(.15*r,8)+.5;n=Math.min(n+i,t),e&&(e.style.width=n+"%")})(),n{clearTimeout(o),e&&(e.style.width="100%")}}function $(){if(r.iframeCommenting){const e=document.getElementById(r.iframeState.iframeId);if(e?.contentDocument)return r.iframeState.iframe=e,L("[getTargetDocument] Using iframe contentDocument",{iframeId:r.iframeState.iframeId}),e.contentDocument;L("[getTargetDocument] Iframe mode but contentDocument not accessible",{iframeId:r.iframeState.iframeId,hasIframe:!!e,hasContentDocument:!!e?.contentDocument})}return document}function U(){return r.iframeCommenting?(r.iframeState.iframe||(r.iframeState.iframe=document.getElementById(r.iframeState.iframeId)),r.iframeState.iframe):null}function _(){if(r.iframeCommenting){if(r.iframeState.domain&&r.iframeState.currentSlug)return`${r.iframeState.baseUrl||window.simpleCommenterState?.baseUrl||`https://${r.iframeState.domain}`}${r.iframeState.currentSlug}`;const e=U();if(e?.contentWindow?.location?.href)try{return e.contentWindow.location.href}catch(e){L("[Iframe] Cannot access iframe URL directly, using document URL")}}return document.URL}function R(e,t={}){const{allowNewlines:n=!0,trim:o=!0,maxLength:r=null}=t;if("string"!=typeof e)return"";let i=e;o&&(i=i.trim()),i=i.replace(/\0/g,""),i=n?i.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g,""):i.replace(/[\x00-\x1F\x7F]/g," ");try{i=i.normalize("NFKC")}catch(e){}return i=i.replace(/[\u200B-\u200D\u2060\uFEFF\u00AD]/g,""),r&&i.length>r&&(i=i.slice(0,r)),i}function q(e){if("string"!=typeof e)return"";let t=e.trim();return t=t.replace(/<[^>]*>/g,""),t=t.replace(/[^\p{L}\p{M}\s\-'.]/gu,""),t=t.replace(/\s+/g," ").trim(),t.length>100&&(t=t.slice(0,100)),t}function H(e){for(;e;){const t=getComputedStyle(e);if("sticky"===t.position||"fixed"===t.position)return!0;e=e.parentElement}return!1}function j(){try{if(document.querySelector("#wpadminbar"))return!0}catch(e){console.error("Error checking for WordPress admin bar:",e)}return!1}function O(e){let t=e;for(;t;){const e=getComputedStyle(t);if("none"===e.display||"hidden"===e.visibility)return!1;const n=parseFloat(e.opacity);if(0===n&&"none"===e.pointerEvents)return!1;if(0===n&&("fixed"===e.position||"absolute"===e.position)&&t.classList&&t.classList.toString().match(/menu|modal|overlay|drawer|nav/i))return!1;t=t.parentElement}if(H(e)){const t=e.getBoundingClientRect();if(t.top<-20||t.bottom<0)return!1}return!0}function V(e,{ignoreVisibility:t=!1}={}){let n=e;r.adminBar&&j()&&(n=n.replace("/html/body/div[1]","/html/body/div[2]"));try{const o=e=>({xhtml:"http://www.w3.org/1999/xhtml",svg:"http://www.w3.org/2000/svg"}[e]||null),i=$();let a=i.evaluate(e,i,o,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;if(a||n===e||(a=i.evaluate(n,i,o,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue,a&&L("[getElementByXPath] Found with adjusted XPath:",a.tagName)),!a&&r.iframeCommenting&&i!==document){const t=e.match(/\/main\[1\](\/.*)/);if(t){const n=t[1],r=i.querySelector("main");if(r)try{const e=i.evaluate("."+n,r,o,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;e&&(a=e,L("[getElementByXPath] Found via main-relative fallback:",{pathFromMain:n,elementTag:a.tagName}))}catch(e){T("[getElementByXPath] Main-relative XPath failed:",e.message)}}}return t?a:a&&!O(a)?(L("[getElementByXPath] Element found but not visible"),null):a}catch(e){console.error("Error finding element by XPath:",e)}}function W(e){const t=$(),n=$().body||document.body,o=["svg"];let i=[],a=e;const s=t.querySelector("main"),l=s&&s.contains(e);try{const e=l?s:n;for(;a!==e&&a!==n;){let e=1,t=a.previousElementSibling;for(;t;)t.nodeName===a.nodeName&&e++,t=t.previousElementSibling;const n=a.tagName.toLowerCase();i.unshift(`${n}[${e}]`),a=a.parentElement}let t,m=-1;for(let e of o){let t=i.findIndex(t=>t.startsWith(e));-1!==t&&(-1===m||te.tagName===o.tagName).indexOf(o)+1;n.unshift(`${o.tagName.toLowerCase()}[${t}]`),o=e}return"/"+n.join("/")}function X(e,t){const n=function(e,t){if(!e||!t)return null;const n=[];let o=e;for(;o;)n.push(o),o=o.parentElement;for(o=t;o;){if(n.includes(o))return o;o=o.parentElement}return null}(e,t);return n?Y(n,t):null}function G(){const e=$(),t=e.querySelector('header, [role="banner"]'),n=e.querySelector('main, [role="main"]'),o=e.querySelector('footer, [role="contentinfo"]');return{bodyDirectChildren:Array.from(e.body.children).slice(0,10).map(e=>e.tagName.toLowerCase()),hasAdminBar:!!e.getElementById("wpadminbar"),hasCookieBanner:!!e.querySelector('[class*="cookie"], [id*="cookie"], [class*="consent"], [id*="consent"]'),headerTagName:t?.tagName.toLowerCase()||null,mainTagName:n?.tagName.toLowerCase()||null,footerTagName:o?.tagName.toLowerCase()||null}}!0===window.SIMPLE_COMMENTER_DASHBOARD_MODE||"true"===E?.getAttribute("data-dashboard")||new URLSearchParams(window.location.search).get("simple-commenter-dashboard");const Z=(e,t=null)=>{if(!e)return null;const n=e.parentElement,o=n?{tagName:n.tagName.toLowerCase(),id:n.id||null,className:n.className||null}:null;let r=null,i=e.parentElement,a=0;for(;i&&a<10;){if(i.id){r={id:i.id,tagName:i.tagName.toLowerCase(),depth:a+1};break}i=i.parentElement,a++}const s={width:window.innerWidth,height:window.innerHeight};let l=null;t&&(l={x:t.clientX,y:t.clientY});const m=Q(e),c=ee(e.className),p=function(e){const t={},n=[/^data-id$/i,/^data-index$/i,/^data-key$/i,/^data-slug$/i,/^data-name$/i,/^data-src$/i,/^data-image$/i,/^data-product/i,/^data-item/i,/^data-content/i,/^data-slide/i];for(const o of e.attributes)if(o.name.startsWith("data-")){if(o.value.length>100)continue;if(/^data-(gtm|analytics|tracking|ga-)/i.test(o.name))continue;n.some(e=>e.test(o.name))&&(t[o.name]=o.value)}return Object.keys(t).length>0?t:null}(e),d=function(e,t){const n={};switch(t){case"image":n.src=e.src||null,n.srcset=e.srcset||null,n.alt=e.alt||null,e.src&&(n.srcFilename=K(e.src)),e.naturalWidth&&(n.naturalWidth=e.naturalWidth,n.naturalHeight=e.naturalHeight);break;case"background":const t=getComputedStyle(e);n.backgroundImage=t.backgroundImage;const o=t.backgroundImage.match(/url\(["']?(.+?)["']?\)/);o&&(n.backgroundUrl=o[1],n.backgroundFilename=K(o[1]));break;case"text":const r=e.textContent?.trim()||"";n.textLength=r.length,n.firstWords=r.split(/\s+/).slice(0,3).join(" "),n.lastWords=r.split(/\s+/).slice(-3).join(" ");break;case"interactive":if(n.type=e.type||null,n.name=e.name||null,n.value=e.value?.substring(0,50)||null,n.href=e.href||null,e.href)try{n.hrefPath=new URL(e.href).pathname}catch{}break;case"media":n.src=e.src||null,n.poster=e.poster||null;break;case"container":n.childCount=e.children.length,e.firstElementChild&&(n.firstChildTag=e.firstElementChild.tagName.toLowerCase())}return n}(e,m),u=function(e){if(!e)return null;const t={fromHeader:null,fromMain:null,fromFooter:null,fromRoleBanner:null,fromRoleMain:null,fromRoleContentinfo:null,fromNearestId:null,rootStructure:null},n=document.querySelector("header"),o=document.querySelector("main"),r=document.querySelector("footer"),i=document.querySelector('[role="banner"]'),a=document.querySelector('[role="main"]'),s=document.querySelector('[role="contentinfo"]');o&&o.contains(e)?t.fromMain=Y(o,e):o&&(t.fromMain=X(o,e)),n&&!n.contains(e)&&(t.fromHeader=X(n,e)),r&&!r.contains(e)&&(t.fromFooter=X(r,e)),a&&a!==o&&(a.contains(e)?t.fromRoleMain=Y(a,e):t.fromRoleMain=X(a,e)),i&&i!==n&&!i.contains(e)&&(t.fromRoleBanner=X(i,e)),s&&s!==r&&!s.contains(e)&&(t.fromRoleContentinfo=X(s,e));let l=e.parentElement,m=0;for(;l&&m<10;){if(l.id&&l!==document.body){t.fromNearestId={id:l.id,path:Y(l,e),depth:m+1};break}l=l.parentElement,m++}return t.rootStructure=G(),t}(e),g=function(e){if(!e)return null;const t=document.querySelector('header, [role="banner"]'),n=document.querySelector('main, [role="main"]'),o=document.querySelector('footer, [role="contentinfo"]');return{isInsideHeader:!!t&&t.contains(e),isInsideMain:!!n&&n.contains(e),isInsideFooter:!!o&&o.contains(e)}}(e);return{textContent:e.textContent?.trim().substring(0,255)||"",tagName:e.tagName.toLowerCase(),id:e.id||null,className:e.className||null,src:e.src||null,alt:e.alt||null,parent:o,closestAncestorWithId:r,viewport:s,clickPosition:l,elementType:m,stableClassName:c,dataAttributes:p,visualIdentifiers:d,anchorPaths:u,landmarkPosition:g}};function J(e,t){e=e.toLowerCase(),t=t.toLowerCase();const n=[];for(let o=0;o<=e.length;o++){let r=o;for(let i=0;i<=t.length;i++)if(0===o)n[i]=i;else if(i>0){let a=n[i-1];e.charAt(o-1)!==t.charAt(i-1)&&(a=Math.min(Math.min(a,r),n[i])+1),n[i-1]=r,r=a}o>0&&(n[t.length]=r)}return n[t.length]}function K(e){try{return new URL(e,window.location.origin).pathname.split("/").pop()||null}catch{return null}}function Q(e){const t=e.tagName.toLowerCase();if("img"===t||"picture"===t||"svg"===t)return"image";if("video"===t||"canvas"===t||"audio"===t)return"media";if("button"===t||"a"===t||"input"===t||"select"===t||"textarea"===t)return"interactive";const n=getComputedStyle(e).backgroundImage;return n&&"none"!==n?"background":(e.textContent?.trim()||"").length>10?"text":"container"}function ee(e){if(!e||"string"!=typeof e)return null;const t=[/^active$/i,/^current$/i,/^selected$/i,/^open$/i,/^closed$/i,/^visible$/i,/^hidden$/i,/^show$/i,/^hide$/i,/^in$/i,/^out$/i,/swiper-slide-active/i,/swiper-slide-prev/i,/swiper-slide-next/i,/slick-active/i,/slick-current/i,/slick-center/i,/carousel-item-active/i,/glide__slide--active/i,/splide__slide--active/i,/owl-item active/i,/-active$/i,/-current$/i,/-selected$/i,/--active$/i,/--current$/i,/--visible$/i,/--hidden$/i,/is-active/i,/is-current/i,/is-visible/i,/is-hidden/i,/is-open/i,/is-closed/i,/^[a-z]+_[a-z0-9]{5,}$/i,/^css-[a-z0-9]+$/i,/^sc-[a-z]+$/i],n=e.split(/\s+/).filter(e=>!t.some(t=>t.test(e)));return n.length>0?n.sort().join(" "):null}function te(e,t){if(!e||!t)return{score:0,threshold:50,passed:!1,checks:[],elementType:"unknown",reason:"missing_data"};const n=t.elementType||Q(e),o=function(e){return r.elementMatchingWeights?function(e){const t=r.elementMatchingWeights,n=t&&t[e];if(!n)return oe(e);const o=Object.entries(n.checks||{}).map(([t,n])=>{let o=ne[t];return"src_match"===t&&(o=function(e){return"image"===e?pe:"media"===e?be:pe}(e)),o?{name:t,weight:n,required:"tag_match"===t,validate:o}:null}).filter(Boolean);return{threshold:n.threshold??50,checks:o}}(e):"dynamic"===(r.elementMatchingMode||"static")?function(e){const t={text:{threshold:40,checks:[{name:"element_id",weight:15,required:!1,validate:ae},{name:"ancestor_id",weight:15,required:!1,validate:se},{name:"text_similarity",weight:5,required:!1,validate:le},{name:"tag_match",weight:10,required:!0,validate:re},{name:"parent_context",weight:25,required:!1,validate:me},{name:"stable_class",weight:20,required:!1,validate:ce},{name:"data_attributes",weight:10,required:!1,validate:ge}]},image:{threshold:45,checks:[{name:"element_id",weight:10,required:!1,validate:ae},{name:"ancestor_id",weight:10,required:!1,validate:se},{name:"src_match",weight:10,required:!1,validate:pe},{name:"tag_match",weight:10,required:!0,validate:re},{name:"alt_match",weight:5,required:!1,validate:de},{name:"parent_context",weight:25,required:!1,validate:me},{name:"stable_class",weight:15,required:!1,validate:ce},{name:"data_attributes",weight:10,required:!1,validate:ge}]},background:{threshold:40,checks:[{name:"element_id",weight:10,required:!1,validate:ae},{name:"ancestor_id",weight:10,required:!1,validate:se},{name:"background_url",weight:10,required:!1,validate:ue},{name:"tag_match",weight:10,required:!0,validate:re},{name:"parent_context",weight:30,required:!1,validate:me},{name:"stable_class",weight:20,required:!1,validate:ce},{name:"data_attributes",weight:10,required:!1,validate:ge}]},interactive:{threshold:40,checks:[{name:"element_id",weight:10,required:!1,validate:ae},{name:"ancestor_id",weight:10,required:!1,validate:se},{name:"text_similarity",weight:5,required:!1,validate:le},{name:"tag_match",weight:10,required:!0,validate:re},{name:"href_match",weight:15,required:!1,validate:he},{name:"parent_context",weight:25,required:!1,validate:me},{name:"stable_class",weight:15,required:!1,validate:ce},{name:"data_attributes",weight:10,required:!1,validate:ge}]},container:{threshold:35,checks:[{name:"element_id",weight:10,required:!1,validate:ae},{name:"ancestor_id",weight:10,required:!1,validate:se},{name:"tag_match",weight:10,required:!0,validate:re},{name:"parent_context",weight:25,required:!1,validate:me},{name:"stable_class",weight:25,required:!1,validate:ce},{name:"child_structure",weight:20,required:!1,validate:fe}]},media:{threshold:40,checks:[{name:"element_id",weight:10,required:!1,validate:ae},{name:"ancestor_id",weight:10,required:!1,validate:se},{name:"src_match",weight:10,required:!1,validate:be},{name:"tag_match",weight:10,required:!0,validate:re},{name:"parent_context",weight:30,required:!1,validate:me},{name:"data_attributes",weight:20,required:!1,validate:ge},{name:"stable_class",weight:10,required:!1,validate:ce}]}};return t[e]||t.container}(e):oe(e)}(n),i=o.checks.map(n=>({name:n.name,weight:n.weight,required:n.required,result:n.validate(e,t)}));let a=0,s=0,l=!1;for(const e of i)a+=e.weight,e.result.passed?s+=e.weight*e.result.confidence:e.required&&(l=!0);const m=a>0?s/a*100:0,c=o.threshold,p=!l&&m>=c;return{score:Math.round(m),threshold:c,passed:p,elementType:n,failedRequired:l,checks:i,reason:p?"passed":l?"required_check_failed":"below_threshold"}}const ne={element_id:ae,ancestor_id:se,text_similarity:le,tag_match:re,parent_context:me,stable_class:ce,data_attributes:ge,src_match:null,alt_match:de,background_url:ue,href_match:he,child_structure:fe};function oe(e){const t={text:{threshold:50,checks:[{name:"element_id",weight:25,required:!1,validate:ae},{name:"ancestor_id",weight:25,required:!1,validate:se},{name:"text_similarity",weight:20,required:!1,validate:le},{name:"tag_match",weight:10,required:!0,validate:re},{name:"parent_context",weight:10,required:!1,validate:me},{name:"stable_class",weight:10,required:!1,validate:ce},{name:"data_attributes",weight:5,required:!1,validate:ge}]},image:{threshold:60,checks:[{name:"element_id",weight:20,required:!1,validate:ae},{name:"ancestor_id",weight:20,required:!1,validate:se},{name:"src_match",weight:35,required:!1,validate:pe},{name:"tag_match",weight:10,required:!0,validate:re},{name:"alt_match",weight:10,required:!1,validate:de},{name:"parent_context",weight:5,required:!1,validate:me}]},background:{threshold:55,checks:[{name:"element_id",weight:20,required:!1,validate:ae},{name:"ancestor_id",weight:20,required:!1,validate:se},{name:"background_url",weight:35,required:!1,validate:ue},{name:"tag_match",weight:10,required:!0,validate:re},{name:"parent_context",weight:15,required:!1,validate:me},{name:"stable_class",weight:10,required:!1,validate:ce}]},interactive:{threshold:55,checks:[{name:"element_id",weight:20,required:!1,validate:ae},{name:"ancestor_id",weight:20,required:!1,validate:se},{name:"text_similarity",weight:20,required:!1,validate:le},{name:"tag_match",weight:10,required:!0,validate:re},{name:"href_match",weight:20,required:!1,validate:he},{name:"parent_context",weight:10,required:!1,validate:me}]},container:{threshold:45,checks:[{name:"element_id",weight:25,required:!1,validate:ae},{name:"ancestor_id",weight:25,required:!1,validate:se},{name:"tag_match",weight:10,required:!0,validate:re},{name:"parent_context",weight:15,required:!1,validate:me},{name:"stable_class",weight:15,required:!1,validate:ce},{name:"child_structure",weight:10,required:!1,validate:fe}]},media:{threshold:60,checks:[{name:"element_id",weight:20,required:!1,validate:ae},{name:"ancestor_id",weight:20,required:!1,validate:se},{name:"src_match",weight:35,required:!1,validate:be},{name:"tag_match",weight:10,required:!0,validate:re},{name:"parent_context",weight:15,required:!1,validate:me},{name:"data_attributes",weight:10,required:!1,validate:ge}]}};return t[e]||t.container}function re(e,t){const n=e.tagName.toLowerCase()===t.tagName;return{passed:n,confidence:n?1:0,details:{expected:t.tagName,actual:e.tagName.toLowerCase()}}}function ie(e){return!!e&&[/^yui_3_\d+_\d+_\d+_\d+(_\d+)?$/,/^yui_\d+_\d+(_\d+)?$/,/^yui_/,/^:r[a-z0-9]+:$/,/^react-aria-?\d+/,/^ember\d+$/,/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/i].some(t=>t.test(e))}function ae(e,t){const n=t.id,o=e.id;return n?ie(n)||ie(o)?{passed:!0,confidence:.5,details:"dynamic_id_skipped"}:o?o===n?{passed:!0,confidence:1,details:"exact_match"}:{passed:!1,confidence:0,details:{expected:n,actual:o}}:{passed:!1,confidence:0,details:"id_removed"}:{passed:!0,confidence:.5,details:"no_saved_id"}}function se(e,t){const n=t.closestAncestorWithId;if(!n||!n.id)return{passed:!0,confidence:.5,details:"no_saved_ancestor"};if(ie(n.id))return{passed:!0,confidence:.5,details:"dynamic_ancestor_id_skipped"};let o=e.parentElement,r=0;const i=Math.min((n.depth||5)+2,10);for(;o&&r0?(i-r)/i:0,s=t.visualIdentifiers||{};let l=0;s.firstWords&&o.split(/\s+/).slice(0,3).join(" ").toLowerCase()===s.firstWords.toLowerCase()&&(l+=.1);const m=Math.min(a+l,1);return{passed:m>=.6,confidence:m,details:{similarity:Math.round(100*a),levenshteinDistance:r}}}function me(e,t){const n=t.parent,o=e.parentElement;if(!n||!o)return{passed:!0,confidence:.3,details:"no_parent_data"};let r=0;if(n.id&&o.id===n.id)r=1;else{o.tagName.toLowerCase()===n.tagName&&(r+=.4);const e=ee(n.className),t=ee(o.className);if(e&&t)if(e===t)r+=.5;else{const n=new Set(e.split(" ")),o=new Set(t.split(" ")),i=[...n].filter(e=>o.has(e)).length,a=new Set([...n,...o]).size;a>0&&(r+=i/a*.3)}}return{passed:r>=.4,confidence:Math.min(r,1),details:{savedTag:n.tagName,currentTag:o.tagName.toLowerCase()}}}function ce(e,t){const n=t.stableClassName,o=ee(e.className);if(!n&&!o)return{passed:!0,confidence:.3,details:"no_classes"};if(!n||!o)return{passed:!1,confidence:.1,details:"class_mismatch"};if(n===o)return{passed:!0,confidence:1,details:"exact_match"};const r=new Set(n.split(" ")),i=new Set(o.split(" ")),a=[...r].filter(e=>i.has(e)).length,s=r.size,l=s>0?a/s:0;return{passed:l>=.5,confidence:l,details:{overlap:a,total:s}}}function pe(e,t){const n=t.visualIdentifiers||{},o=n.src||t.src,r=e.src;if(!o&&!r)return{passed:!0,confidence:.3,details:"no_src"};if(!o||!r)return{passed:!1,confidence:0,details:"src_missing"};if(r===o)return{passed:!0,confidence:1,details:"exact_match"};const i=n.srcFilename||K(o),a=K(r);if(i&&a&&i===a)return{passed:!0,confidence:.85,details:"filename_match"};try{if(new URL(o,window.location.origin).pathname===new URL(r,window.location.origin).pathname)return{passed:!0,confidence:.9,details:"path_match"}}catch{}return{passed:!1,confidence:0,details:"no_match"}}function de(e,t){const n=t.alt||t.visualIdentifiers?.alt,o=e.alt;if(!n&&!o)return{passed:!0,confidence:.3,details:"no_alt"};if(!n||!o)return{passed:!1,confidence:.1,details:"alt_missing"};if(o.toLowerCase()===n.toLowerCase())return{passed:!0,confidence:1,details:"exact_match"};const r=J(n,o),i=Math.max(n.length,o.length),a=i>0?(i-r)/i:0;return{passed:a>=.7,confidence:a,details:{similarity:Math.round(100*a)}}}function ue(e,t){const n=t.visualIdentifiers||{},o=n.backgroundUrl,r=getComputedStyle(e).backgroundImage;if(!(o&&"none"!==o||r&&"none"!==r))return{passed:!0,confidence:.3,details:"no_background"};if(!o||!r||"none"===r)return{passed:!1,confidence:0,details:"background_missing"};const i=r.match(/url\(["']?(.+?)["']?\)/),a=i?i[1]:null;if(!a)return{passed:!1,confidence:0,details:"no_url_extracted"};if(a===o)return{passed:!0,confidence:1,details:"exact_match"};const s=n.backgroundFilename||K(o),l=K(a);return s&&l&&s===l?{passed:!0,confidence:.85,details:"filename_match"}:{passed:!1,confidence:0,details:"no_match"}}function ge(e,t){const n=t.dataAttributes;if(!n||0===Object.keys(n).length)return{passed:!0,confidence:.2,details:"no_data_attrs"};let o=0,r=Object.keys(n).length;for(const[t,r]of Object.entries(n))e.getAttribute(t)===r&&o++;const i=r>0?o/r:0;return{passed:i>=.5,confidence:i,details:{matches:o,total:r}}}function he(e,t){const n=t.visualIdentifiers||{},o=n.href,r=e.href;if(!o&&!r)return{passed:!0,confidence:.3,details:"no_href"};if(!o||!r)return{passed:!1,confidence:.1,details:"href_missing"};if(r===o)return{passed:!0,confidence:1,details:"exact_match"};const i=n.hrefPath;try{const e=new URL(r).pathname;if(i&&e===i)return{passed:!0,confidence:.9,details:"path_match"}}catch{}return{passed:!1,confidence:.1,details:"no_match"}}function fe(e,t){const n=t.visualIdentifiers||{},o=n.childCount,r=n.firstChildTag,i=e.children.length,a=e.firstElementChild?.tagName.toLowerCase();let s=0;return void 0!==o&&(s+=.5*(1-Math.abs(i-o)/Math.max(o,i,1))),r&&a===r&&(s+=.5),{passed:s>=.4,confidence:Math.min(s,1),details:{savedChildCount:o,currentChildCount:i,savedFirstChildTag:r,currentFirstChildTag:a}}}function be(e,t){const n=(t.visualIdentifiers||{}).src,o=e.src;if(!n&&!o)return{passed:!0,confidence:.3,details:"no_src"};if(!n||!o)return{passed:!1,confidence:0,details:"src_missing"};if(o===n)return{passed:!0,confidence:1,details:"exact_match"};const r=K(n),i=K(o);return r&&i&&r===i?{passed:!0,confidence:.85,details:"filename_match"}:{passed:!1,confidence:0,details:"no_match"}}function we(e,t){return!(!e||!t)&&e.length===t.length&&e.every((e,n)=>e===t[n])}function ye(e,t,n={}){const{ignoreVisibility:o=!1}=n;if(!e||!t)return null;try{const n=$(),r="."+t,i=n.evaluate(r,e,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;if(L("[getElementByRelativeXPath]",{anchorTag:e.tagName,relativePath:t,found:!!i,elementTag:i?.tagName,visible:i?O(i):null}),i&&(o||O(i)))return i}catch(e){T("Relative XPath evaluation failed:",e)}return null}function xe(e,t={}){const{ignoreVisibility:n=!1}=t,o=e.elementFingerprint?.anchorPaths,i=e.elementFingerprint;if(!o)return null;const a=function(e,t){const n=$(),o=[],i=e.rootStructure||{},a=i.hasAdminBar!==t.hasAdminBar,s=i.hasCookieBanner!==t.hasCookieBanner,l=!we(i.bodyDirectChildren?.slice(0,5),t.bodyDirectChildren?.slice(0,5));if(r.iframeCommenting||a||s||l){if(e.fromMain){const t=n.querySelector("main");t&&o.push({anchorName:"fromMain",anchorElement:t,relativePath:e.fromMain})}if(e.fromRoleMain){const t=n.querySelector('[role="main"]');t&&o.push({anchorName:"fromRoleMain",anchorElement:t,relativePath:e.fromRoleMain})}if(e.fromHeader){const t=n.querySelector("header");t&&o.push({anchorName:"fromHeader",anchorElement:t,relativePath:e.fromHeader})}if(e.fromRoleBanner){const t=n.querySelector('[role="banner"]');t&&o.push({anchorName:"fromRoleBanner",anchorElement:t,relativePath:e.fromRoleBanner})}}if(e.fromNearestId?.id){const t=n.getElementById(e.fromNearestId.id);t&&o.push({anchorName:"fromNearestId",anchorElement:t,relativePath:e.fromNearestId.path})}if(e.fromFooter){const t=n.querySelector("footer");t&&o.push({anchorName:"fromFooter",anchorElement:t,relativePath:e.fromFooter})}if(e.fromRoleContentinfo){const t=n.querySelector('[role="contentinfo"]');t&&o.push({anchorName:"fromRoleContentinfo",anchorElement:t,relativePath:e.fromRoleContentinfo})}return L("[prioritizeAnchors] Results",{count:o.length,anchors:o.map(e=>({name:e.anchorName,hasElement:!!e.anchorElement,path:e.relativePath})),iframeMode:r.iframeCommenting,hasMain:!!n.querySelector("main"),savedAnchors:Object.keys(e).filter(t=>e[t]&&"rootStructure"!==t)}),o}(o,G());if(0===a.length)return L("No valid anchors to try"),null;let s=null;for(const e of a){const{anchorName:t,anchorElement:o,relativePath:r}=e;if(!o||!r)continue;const a=ye(o,r,{ignoreVisibility:n});if(!a)continue;const l=te(a,i);l.passed?(!s||l.score>s.validation.score)&&(s={element:a,anchorUsed:t,validation:l},L(`Anchor match found via ${t}: score ${l.score}%`)):L(`Anchor ${t} found element but validation failed: ${l.score}%`)}return s}function ve(e,t={}){const{ignoreVisibility:n=!1,skipCache:o=!1}=t;if(!e)return null;let i=null,a=null,s=null;if(!o&&e._cachedElement){const t=e._cachedElement;if($().contains(t)&&(n||O(t)))return t;e._cachedElement=null}let l=null;if(r.iframeCommenting){const t=!!e.elementFingerprint?.anchorPaths,o=t?Object.keys(e.elementFingerprint.anchorPaths).filter(t=>e.elementFingerprint.anchorPaths[t]):[];if(L(`[iframe] Trying anchor paths for ${e.id||e._id}`,{hasAnchorPaths:t,anchorKeys:o,fingerprint:e.elementFingerprint?"present":"missing"}),t){const t=xe(e,{ignoreVisibility:n});t?(l=t.element,i="anchor",a=t.anchorUsed,s=t.validation,L(`[iframe] Found via anchor (${a}): ${e.id||e._id||"unknown"} (${s?.score||0}%)`)):L(`[iframe] Anchor paths failed for ${e.id||e._id}`)}}if(!l&&!0===e.asset&&r.assetCommenting){const t=document.getElementById("simple-commenter-pdf-viewer")||document.getElementById("simple-commenter-img-viewer");if(t){const n=e.elementFingerprint?.stableClassName;if(n&&(l=t.querySelector(`.${n}`)),l||(l=t.querySelector("canvas")||t.querySelector("img")),l)return e._cachedElement=l,l}}if(!l){const t=!0===e.asset&&r.assetCommenting;l=V(e.elementXPath,{ignoreVisibility:n||t})}if(l&&!0===e.asset&&r.assetCommenting){const t=document.getElementById("simple-commenter-img-viewer")||document.getElementById("simple-commenter-pdf-viewer");if(t&&t.contains(l))return e._cachedElement=l,l}if(l&&"anchor"!==i&&e.elementFingerprint){const t=function(e,t){const n=te(e,t);return{...n,valid:n.passed}}(l,e.elementFingerprint);if(t.valid)i="xpath",s=t;else{let e=0;const n=[],o=[],r=[],i=[];t.checks.forEach(t=>{const a=t.result.passed?Math.round(t.weight*t.result.confidence):0;e+=t.weight;const s=Math.round(100*t.result.confidence),l=t.result.details,m="no_saved_id"===l||"no_saved_ancestor"===l||"no_data_attrs"===l||"no_saved_class"===l;t.result.passed?m?r.push({name:t.name,earned:a,weight:t.weight,conf:s,details:l}):s>=80?n.push({name:t.name,earned:a,weight:t.weight,conf:s,details:l}):o.push({name:t.name,earned:a,weight:t.weight,conf:s,details:l}):i.push({name:t.name,earned:a,weight:t.weight,conf:s,details:l})}),l=null}}if(!l&&!r.iframeCommenting&&e.elementFingerprint?.anchorPaths){const t=xe(e,{ignoreVisibility:n});t&&(l=t.element,i="anchor",a=t.anchorUsed,s=t.validation,L(`🔗 Found via anchor (${a}): ${e.id||e._id||"unknown"}`))}return!l&&e.elementFingerprint&&(l=function(e,t){if(!e)return null;const{tagName:n,id:o}=e;if(o){const e=document.getElementById(o);if(e&&O(e))return e}const r=Array.from(document.getElementsByTagName(n));if(0===r.length)return null;const i=[];for(const t of r){if(!O(t))continue;const n=te(t,e);n.score>0&&i.push({element:t,score:n.score,threshold:n.threshold,passed:n.passed,checks:n.checks,elementType:n.elementType})}i.sort((e,t)=>t.score-e.score);const a=i.filter(e=>e.passed);if(0===a.length)return null;const s=a[0].score,l=a.filter(e=>e.score===s);return l.length>1&&t&&t.relativePosition?(L(`Tie detected with score ${s}. Using proximity to decide.`),function(e,t){let n=null,o=1/0;for(const r of e){const e=r.element||r.candidate,i=e.getBoundingClientRect(),a=i.left+i.width/2,s=i.top+i.height/2,l=window.innerWidth*t.xPercent,m=window.innerHeight*t.yPercent,c=Math.pow(a-l,2)+Math.pow(s-m,2);c80?t.slice(0,80):t}function De(e){try{const t=e?.target;if(!(t&&t instanceof Element))return;if(t.closest(ke))return;const n=t.closest(Ce);if(!n)return;if(n.closest(ke))return;if(!0===n.disabled||"true"===n.getAttribute("aria-disabled"))return;const o=W(n);if(!o)return;const r=(n.tagName||"").toLowerCase(),i=Le(n.innerText||n.textContent||""),a=Le(n.getAttribute("aria-label")||n.getAttribute("title")||""),s=Le(n.getAttribute("role")||""),l=("string"==typeof n.className?n.className:n.getAttribute("class")||"").split(/\s+/).filter(Boolean).filter(e=>!e.startsWith("simple-commenter")).slice(0,8).join(" ").slice(0,200);Ee.push({xpath:o,tag:r,text:i,aria:a,role:s,classes:l}),Ee.length>12&&Ee.splice(0,Ee.length-12),L("[interaction-tracker] recorded click",{tag:r,text:i,aria:a,count:Ee.length})}catch(e){T("[interaction-tracker] recordClick failed",e)}}function Ae(){r.interactionTrackerAttached&&(Se&&(document.removeEventListener("click",Se,{capture:!0}),Se=null),r.interactionTrackerAttached=!1,Te(),L("[interaction-tracker] detached"))}function Te(){Ee.length&&L("[interaction-tracker] sequence reset",{previousLength:Ee.length}),Ee=[]}let Fe={};function Me(){const e=location.pathname,t=location.hostname,n="localhost"===t||"127.0.0.1"===t||"localhost:3000"===location.host,o="simplecommenter.com"===t||t.endsWith(".simplecommenter.com"),i=/(^|\.)smart-commenter.*\.vercel\.app$/i.test(t),a=o||n||i,s=/^\/app\/[^/]+\/files\/.+/.test(e),l=a&&s||s&&!0===window.simpleCommenterState?.sidebarDisabled,m=a&&/^\/app\/[^/]+\/comment/.test(e)||!0===window.simpleCommenterState?.iframeCommenting&&/^\/app\/[^/]+\/comment/.test(e),c=/^\/app\/admin\/demo\d+/.test(e),p=!l&&!m&&!c&&!(o&&"/app/simple-commenter/screenshots"===e)&&a&&(e.startsWith("/app")||e.startsWith("/studio")||e.startsWith("/magic-login")||e.startsWith("/magic-domain-login")||e.startsWith("/join/"));if(r.hideModal=!1,l){const t=e.split("/");r.assetState.domain=t[2]||null,r.assetState.slug=decodeURIComponent(t.slice(4).join("/"))||null,D(),L("Full path:",e),L("Extracted domain from URL:",r.assetState.domain),L("Extracted slug from URL:",r.assetState.slug),A()}return m&&!r.iframeCommenting&&window.simpleCommenterState?.iframeCommenting&&(r.iframeCommenting=!0,r.iframeState.iframeId=window.simpleCommenterState.iframeId||"website-preview-iframe",r.iframeState.domain=window.simpleCommenterState.domain,r.iframeState.currentSlug=window.simpleCommenterState.currentSlug||"/",L("[comments.js] Iframe commenting mode enabled from state")),p&&(r.hideModal=!0,L("[comments.js] Internal page detected → hideModal set to true")),{isAssetPage:l,isInternalPage:p,isIframeCommentPage:m}}function Pe(){r.urlCheckScheduled||(r.urlCheckScheduled=!0,setTimeout(()=>{r.urlCheckScheduled=!1,function(){const e=location.href,{isAssetPage:t,isInternalPage:n}=Me(),o=n?"internal":t?"asset":"normal",i=e!==r.lastUrl,a=o!==r.lastPageState;(i||a)&&(L("[comments.js] Change detected:",{urlChanged:i,stateChanged:a,from:r.lastPageState,to:o,currentUrl:e}),Te(),r.lastUrl=e,r.lastPageState=o,r.urlChangeDebounceTimeout&&clearTimeout(r.urlChangeDebounceTimeout),r.isCleaningUp||(L("[CLOSE-DEBUG] URL change detected, triggering safeFetchData",{from:r.lastUrl,to:e,urlChanged:i,stateChanged:a}),r.urlChangeDebounceTimeout=setTimeout(()=>{Fe.cancelAllScreenshotPolls?.(),Fe.safeFetchData(),r.urlChangeDebounceTimeout=null},150))),n&&!r.isCleaningUp&&document.querySelector('[class*="simple-commenter"]')&&(L("[comments.js] Found elements on internal page, forcing cleanup"),r.isCleaningUp=!0,Ae(),function(e={}){return new Promise(t=>{document.body&&document.body.classList.remove("simple-commenter-cursor-override");const n=document.getElementById("simple-commenter-modebox");n&&n.remove();const o=document.getElementById("simple-commenter-modebox-container");o&&o.remove(),r.pillWrapper=null,r.pillHamburger=null,r.pillCollapsedButton=null,r.pillIndicator=null,r.pillBadge=null,r.pillSegments={},r.pillExpanded=!1,r.pillMenuOpen=!1,r.pillAnimationTimeout&&(clearTimeout(r.pillAnimationTimeout),r.pillAnimationTimeout=null),r.pillHamburgerAnimationTimeout&&(clearTimeout(r.pillHamburgerAnimationTimeout),r.pillHamburgerAnimationTimeout=null),r.pillBadgeBobTimeout&&(clearTimeout(r.pillBadgeBobTimeout),r.pillBadgeBobTimeout=null);const i=document.querySelector(".simple-commenter-overlay");i&&i.remove(),r.filterDropdown&&"function"==typeof r.filterDropdown._cleanup&&(r.filterDropdown._cleanup(),r.filterDropdown=null);const a=()=>{let e=0;return document.querySelectorAll(".simple-commenter-comment-marker, .simple-commenter-comment-box, .simple-commenter-container, .simple-commenter-disabled-button, .simple-commenter-dropdown-menu, .simple-commenter-dropdown-container, .simple-commenter-view-button, .simple-commenter-active-button").forEach(t=>{t.remove(),e++}),document.querySelectorAll('[class*="simple-commenter"]').forEach(t=>{Array.from(t.classList).some(e=>e.startsWith("simple-commenter"))&&(t.remove(),e++)}),["simple-commenter-modebox","simple-commenter-modebox-container","simple-commenter-theme-style","simple-commenter-shape-styles"].forEach(t=>{const n=document.getElementById(t);n&&(n.remove(),e++)}),e};a(),setTimeout(()=>{a(),requestAnimationFrame(()=>{a(),setTimeout(()=>{const e=a();e>0&&L(`[removeCommenterElements] Warning: Found ${e} elements in final cleanup pass`),t()},50)})},0),e.removeSimpleCommenterStyle&&e.removeSimpleCommenterStyle(),e.resetCommentInput&&e.resetCommentInput(),r.comments=[],r.active=!1})}().then(()=>{r.isCleaningUp=!1}).catch(()=>{r.isCleaningUp=!1})),t&&Fe.enforceAssetPageUI(!0),Pe()}()},500))}function Be(e=!1){e&&(r.positionCheckSkipCache=!0),r.positionCheckScheduled||(r.positionCheckScheduled=!0,requestAnimationFrame(()=>{r.positionCheckScheduled=!1;const e=r.positionCheckSkipCache;r.positionCheckSkipCache=!1,Fe.updateCommentPositions(e)}))}function Ie(){Be()}function ze(){clearTimeout(r.positionResizeDebounce),r.positionResizeDebounce=setTimeout(()=>{const e=/iPhone|iPad|iPod|Android/i.test(navigator.userAgent),t=document.activeElement,n=t&&("TEXTAREA"===t.tagName||"INPUT"===t.tagName||t.isContentEditable);e&&n||(r.comments.forEach(e=>{e._lastViewportRect&&(e._lastViewportRect=null)}),Be(!0))},150)}function Ne(e){r.suppressMutationObserver||e.some(e=>{if("childList"===e.type&&e.addedNodes.length>0&&Array.from(e.addedNodes).every(e=>1!==e.nodeType||e.classList?.contains("simple-commenter-comment-marker")||e.classList?.contains("simple-commenter-comment-box")||e.classList?.contains("simple-commenter-drawer")||e.classList?.contains("simple-commenter-widget-container")||e.closest?.(".simple-commenter-comment-marker")||e.closest?.(".simple-commenter-comment-box")))return!1;if("childList"===e.type&&e.removedNodes.length>0&&Array.from(e.removedNodes).every(e=>1!==e.nodeType||e.classList?.contains("simple-commenter-comment-marker")||e.classList?.contains("simple-commenter-comment-box")||e.classList?.contains("simple-commenter-drawer"))&&0===e.addedNodes.length)return!1;if("attributes"===e.type){const t=e.target;if(t.classList?.contains("simple-commenter-comment-marker")||t.classList?.contains("simple-commenter-comment-box")||t.closest?.(".simple-commenter-comment-marker")||t.closest?.(".simple-commenter-comment-box"))return!1}return"childList"===e.type||"attributes"===e.type&&["class","style","hidden"].includes(e.attributeName)})&&(clearTimeout(r.positionMutationDebounce),r.positionMutationDebounce=setTimeout(Be,200))}function $e(){if(r.positionIdleCallbackId)return;const e=()=>{r.positionIdleCallbackId=null;const e=Date.now();e-r.lastIdleCheck<1e4||r.comments?.length&&r.comments.some(t=>!(t._validationCooldownUntil&&e{t.isError&&t._validationCooldownUntil&&(t._validationCooldownUntil=null,e=!0)}),e&&Be()}function _e(){window.addEventListener("scroll",Ie,{passive:!0}),document.addEventListener("scroll",Ie,{passive:!0,capture:!0}),window.addEventListener("resize",ze,{passive:!0}),document.addEventListener("click",()=>{setTimeout(Ue,100)},{passive:!0}),new MutationObserver(Ne).observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["class","style","hidden"]}),$e()}function Re(){document.body&&!document.body.classList.contains("simple-commenter-cursor-override")&&document.body.classList.add("simple-commenter-cursor-override")}function qe(){document.body&&document.body.classList.contains("simple-commenter-cursor-override")&&document.body.classList.remove("simple-commenter-cursor-override")}function He(e){if(r.assetCommenting)return;if(!r.overlay)return;const t=e.getBoundingClientRect(),n=!r.overlay.classList.contains("simple-commenter-active");n&&(r.overlay.style.transition="none"),r.overlay.style.left=`${t.left+window.pageXOffset}px`,r.overlay.style.top=`${t.top+window.pageYOffset}px`,r.overlay.style.width=`${t.width}px`,r.overlay.style.height=`${t.height}px`,r.overlay.style.maxWidth=`calc(100vw - ${t.left}px)`,r.overlay.style.maxHeight=`calc(100vh - ${t.top}px)`,r.overlay.style.pointerEvents="none",n&&(r.overlay.offsetHeight,r.overlay.style.transition=""),r.overlay.className="simple-commenter-overlay simple-commenter-active"}function je(){const e=document.getElementById("simple-commenter-pulse");e&&(e._pulseTimeout&&clearTimeout(e._pulseTimeout),e.remove())}function Oe(e){for(;e&&e!==document.body;){if([...e.classList].some(e=>e.startsWith("simple-commenter-")&&"simple-commenter-overlay"!==e))return!0;e=e.parentElement}return!1}function Ve(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function We(e){if(e){r.sidebarDisabled=!0;const e=document.getElementById("simple-commenter-menu");e&&e.style.setProperty("display","none","important");const t=document.getElementById("simple-commenter-mode-indicator"),n=document.getElementById("simple-commenter-mode-banner");t&&t.remove(),n&&(n._autoDismissTimer&&clearTimeout(n._autoDismissTimer),n.remove())}else{r.sidebarDisabled=!1;const e=document.getElementById("simple-commenter-menu");e&&e.style.removeProperty("display")}}function Ye({ariaLabel:e,dataId:t,onClick:n,className:o,onMouseDown:r,text:i,dataColor:a,position:s,condition:l}){if(l)return document.createComment("button removed by condition");const m=document.createElement("button");return m.innerHTML=i||"",m.setAttribute("aria-label",e),m.classList.add("simple-commenter-button-primary"),o&&m.classList.add(o),t&&m.setAttribute("data-id",t),a&&(m.dataset.color=a),s&&(m.style.position=s),n&&m.addEventListener("click",n),r&&(m.addEventListener("mousedown",r),m.addEventListener("touchstart",r,{passive:!1})),m}function Xe(e){e.disabled=!0,e.classList.add("is-loading"),e.dataset.originalText||(e.dataset.originalText=e.innerHTML);const t=document.createElement("div");t.className="simple-commenter-spinner",e.innerHTML=`${e.dataset.originalText}`,e.appendChild(t)}function Ge(e){e.disabled=!1,e.classList.remove("is-loading"),e.dataset.originalText&&(e.innerHTML=e.dataset.originalText)}const Ze=["image/jpeg","image/png","image/gif","image/webp","image/svg+xml","application/pdf","video/mp4","video/webm","video/quicktime","audio/mpeg","audio/wav","audio/ogg"],Je=[...Ze,"application/zip","application/vnd.sketch"],Ke={pro:{maxSizeMB:100,maxSize:100,maxFiles:5,retentionDays:30,allowedTypes:Ze},pro_paid:{maxSizeMB:500,maxSize:51200,maxFiles:15,retentionDays:0,allowedTypes:Je},unlimited:{maxSizeMB:100,maxSize:5e3,maxFiles:10,retentionDays:180,allowedTypes:Ze},unlimited_2026:{maxSizeMB:100,maxSize:10240,maxFiles:10,retentionDays:180,allowedTypes:Ze},business:{maxSizeMB:1024,maxSize:5e4,maxFiles:8,retentionDays:0,allowedTypes:Je},enterprise:{maxSizeMB:5120,maxSize:5e5,maxFiles:20,retentionDays:0,allowedTypes:Je},freelance:{maxSizeMB:25,maxSize:1024,maxFiles:5,retentionDays:180,allowedTypes:Ze},freelance_ltd:{maxSizeMB:25,maxSize:1024,maxFiles:5,retentionDays:0,allowedTypes:Ze},solo:{maxSizeMB:100,maxSize:5120,maxFiles:8,retentionDays:0,allowedTypes:Ze},team:{maxSizeMB:500,maxSize:51200,maxFiles:15,retentionDays:0,allowedTypes:Je},default:{maxSizeMB:100,maxSize:100,maxFiles:5,retentionDays:30,allowedTypes:Ze}};let Qe={},et=null;async function tt(e,t,n){const o=[],i=[];for(let a=0;a4194304){L(`Uploading large file via presigned URL: ${s.name} (${(s.size/1024/1024).toFixed(2)}MB)`),m&&(m.style.display="block");const e=N(c,95),n=await z(s,t,r.domain);e(),o.push(n)}else{if(m){m.style.display="block";const e=N(c,95);setTimeout(e,300+400*Math.random())}i.push(s)}}return{preUploadedFiles:o,smallFiles:i}}function nt({file:e,asLink:t=!1,gray:n=!0,onDelete:o=null}){const r=document.createElement(t?"button":"div");r.className="simple-commenter-file-element",r.dataset.fileName=e.name,n||r.classList.add("simple-commenter-file-element-white");const i=e.type.startsWith("image/")?"photoColored":"upload",a=Qe.createIcon({icon:i,ariaLabel:`File type icon for ${e.name}`,disableHover:!0});r.appendChild(a);const s=document.createElement("span");s.className="simple-commenter-file-name",s.textContent=function(e,t=30){if(e.length<=t)return e;const n=e.lastIndexOf(".");if(-1===n)return e.substring(0,t-3)+"... ";const o=e.substring(0,n),r=e.substring(n),i=t-r.length-3;return i<1?"..."+r:o.substring(0,i)+"..."+r}(e.name,32),s.title=e.name,r.appendChild(s);const l=document.createElement("span");var m;if(l.className="simple-commenter-file-size",l.textContent=(m=e.size)<1024?m+" B":m<1048576?(m/1024).toFixed(1)+" KB":(m/1048576).toFixed(1)+" MB",r.appendChild(l),t)r.classList.add("simple-commenter-file-link"),r.addEventListener("click",()=>{e.url?e.type.startsWith("image/")?Ct({screenshot:{imgLarge:e.url}}):window.open(e.url,"_blank","noopener,noreferrer"):console.error("File element clicked, but no URL was provided:",e)});else{const t=Qe.createIconButton({icon:"delete",ariaLabel:`Remove file ${e.name}`,className:"simple-commenter-file-delete-button",tooltip:Qe.localize("removeFile"),onClick:e=>{e.stopPropagation(),o()}});r.appendChild(t);const n=document.createElement("div");n.className="simple-commenter-file-progress-container",n.style.display="none";const i=document.createElement("div");i.className="simple-commenter-file-progress-bar",n.appendChild(i),r.appendChild(n)}return r}function ot({screenshot:e}){if(!e)return null;const t="string"==typeof e.imgSmall&&""!==e.imgSmall.trim()||"string"==typeof e.imgLarge&&""!==e.imgLarge.trim(),n="screenshotone"===e.captureMethod&&("pending"===e.status||"processing"===e.status),o="screenshotone"===e.captureMethod&&"failed"===e.status;if(!t&&!n&&!o)return null;const r=document.createElement("button");r.classList.add("simple-commenter-screenshot-container");const i=document.createElement("div");if(t&&e.imgSmall){const t=document.createElement("img");t.src=e.imgSmall,t.alt="Screenshot Preview",t.style.maxWidth="64px",t.style.maxHeight="64px",i.appendChild(t)}else if(o)i.className="simple-commenter-screenshot-failed-icon",i.innerHTML='';else{i.className="simple-commenter-screenshot-placeholder";const e=document.createElement("span");e.className="simple-commenter-spinner simple-commenter-screenshot-spinner",e.setAttribute("aria-hidden","true"),i.appendChild(e)}const a=document.createElement("div");if(a.textContent=o&&!t?Qe.localize("screenshotFailed"):n&&!t?Qe.localize("screenshotProcessing"):Qe.localize("viewScreenshot"),a.className="simple-commenter-screenshot-text",t&&e.imgLarge)r.addEventListener("click",()=>{Ct({screenshot:e})});else if(r.disabled=!0,r.classList.add("simple-commenter-screenshot-disabled"),o){r.classList.add("simple-commenter-screenshot-failed");const t="string"==typeof e.failureReason&&e.failureReason||"string"==typeof e.failureMessage&&e.failureMessage||"";t&&(r.title=t)}return r.appendChild(i),r.appendChild(a),r}function rt(e=null,t=null,n=!1){const o=e?r.replyFileSessions[e]||[]:r.addedFiles;if(t||(t=e?document.getElementById(`simple-commenter-file-container-reply-${e}`):document.querySelector("#simple-commenter-file-container")),!t)return;const i=!t.id.startsWith("simple-commenter-file-container-reply-");t.innerHTML="",o.forEach((a,s)=>{const l=nt({file:a,asLink:n,gray:i,onDelete:()=>{e?r.replyFileSessions[e].splice(s,1):r.addedFiles.splice(s,1),rt(e,t,n)}});e&&s===o.length-1&&(l.style.marginBottom="8px"),t.appendChild(l)})}function it(e){r.isReattachMode=!0,r.reattachCommentId=e,r.reattachElement=null,function(){if(document.getElementById("simple-commenter-reattach-border"))return;const e=document.createElement("div");e.className="simple-commenter-mode-indicator",e.id="simple-commenter-reattach-border",document.body.appendChild(e)}(),function(){const e=document.getElementById("simple-commenter-reattach-indicator");e&&e.remove();const t=document.createElement("div");t.id="simple-commenter-reattach-indicator",t.className="simple-commenter-mode-banner",t.style.cssText='\n position: fixed !important;\n top: 16px !important;\n left: 50% !important;\n transform: translateX(-50%) !important;\n z-index: 2147483010 !important;\n background: #62B0E8 !important;\n color: white !important;\n padding: 14px 18px !important;\n border-radius: 12px !important;\n box-shadow: 0 10px 25px rgba(98, 176, 232, 0.3) !important;\n display: flex !important;\n align-items: flex-start !important;\n gap: 12px !important;\n font-family: "Poppins", sans-serif !important;\n ',t.innerHTML='\n \n \n \n
\n
Reattach Mode
\n
Click on an element to reattach the comment. Press ESC to cancel.
\n
\n \n \n
\n
\n \n ',document.body.appendChild(t),document.getElementById("simple-commenter-reattach-hide")?.addEventListener("click",e=>{e.stopPropagation(),st()}),document.getElementById("simple-commenter-reattach-cancel")?.addEventListener("click",e=>{e.stopPropagation(),at()}),document.getElementById("simple-commenter-reattach-close")?.addEventListener("click",e=>{e.stopPropagation(),at()})}(),Re(),L("🔄 Entered reattach mode for comment:",e)}function at(){r.isReattachMode=!1,r.reattachCommentId=null,r.reattachElement=null,function(){const e=document.getElementById("simple-commenter-reattach-border");e&&e.remove()}(),st(),r.overlay.className="simple-commenter-overlay",r.overlay.className="simple-commenter-overlay",qe(),lt(),L("🔄 Exited reattach mode")}function st(){const e=document.getElementById("simple-commenter-reattach-indicator");e&&e.remove()}function lt(){const e=document.getElementById("simple-commenter-reattach-loading-banner");e&&e.remove()}function mt(e,t){const n=t.getBoundingClientRect(),o=e.clientX-n.left,r=e.clientY-n.top;return{xPercent:o/n.width,yPercent:r/n.height}}function ct(){r.shapes.forEach(e=>{e.element&&e.element.parentNode&&e.element.parentNode.removeChild(e.element)}),r.shapes=[],r.redoShapes=[],r.isDrawing=!1,r.currentShape=null,r.justFinishedDrawing=!1,r.currentTool=null,document.removeEventListener("mousemove",dt),document.removeEventListener("mousedown",pt),document.body.style.userSelect="",document.querySelectorAll('.simple-commenter-comment-meta-button[aria-label^="Draw"]').forEach(e=>{const t=e.querySelector("svg");t&&t.classList.remove("simple-commenter-icons-active")}),gt()}function pt(e){const t=e.target;if(!r.isDrawing||!r.currentTool||t.closest(".simple-commenter-modebox"))return;e.preventDefault();const n="touchstart"===e.type?e.touches[0]:e,o=n.clientX+window.scrollX,i=n.clientY+window.scrollY;let a;document.body&&document.body.classList.add("simple-commenter-drawing-in-progress");let s={type:r.currentTool,startX:o,startY:i,selectedColorValue:r.selectedColorValue};const l=r.selectedColorValue||r.theme?.primary||"purple";if("pen"===r.currentTool){a=document.createElementNS("http://www.w3.org/2000/svg","svg"),a.setAttribute("class","simple-commenter-shape simple-commenter-pen"),a.style.position="absolute",a.style.left=`${o}px`,a.style.top=`${i}px`,a.style.overflow="visible",a.style.pointerEvents="none";const e=document.createElementNS("http://www.w3.org/2000/svg","path"),t="M 0 0";e.setAttribute("d",t),e.setAttribute("stroke",l),e.style.pointerEvents="auto",a.appendChild(e),document.body.appendChild(a),s.element=a,s.pathElement=e,s.pathData=t}else{switch(a=document.createElement("div"),a.className=`simple-commenter-shape simple-commenter-${r.currentTool}`,a.style.position="absolute",a.style.left=`${o}px`,a.style.top=`${i}px`,a.style.width="0px",a.style.height="0px",a.style.pointerEvents="none",r.currentTool){case"square":case"circle":a.style.borderColor=l;break;case"line":a.style.backgroundColor=l;break;case"arrow":a.classList.add("simple-commenter-arrow-custom"),a.style.setProperty("--theme-color",l),a.style.backgroundColor=l}document.body.appendChild(a),s.element=a}r.currentShape=s,document.body.style.userSelect="none",document.body.style.touchAction="proxy.php?url=https%3A%2F%2Fsimplecommenter.com%2Fnone",document.addEventListener("mousemove",dt),document.addEventListener("touchmove",dt,{passive:!1}),document.addEventListener("mouseup",ut,{once:!0}),document.addEventListener("touchend",ut,{once:!0})}function dt(e){if(!r.currentShape)return;e.preventDefault();const t="touchmove"===e.type?e.touches[0]:e,n=t.clientX+window.scrollX,o=t.clientY+window.scrollY,i=n-r.currentShape.startX,a=o-r.currentShape.startY,s=Math.abs(i),l=Math.abs(a);if("square"===r.currentShape.type)r.currentShape.element.style.width=`${s}px`,r.currentShape.element.style.height=`${l}px`;else if("circle"===r.currentShape.type)r.currentShape.element.style.width=`${s}px`,r.currentShape.element.style.height=`${l}px`;else if("line"===r.currentShape.type){const e=Math.sqrt(i*i+a*a),t=Math.atan2(a,i)*(180/Math.PI);r.currentShape.element.style.left=`${r.currentShape.startX}px`,r.currentShape.element.style.top=`${r.currentShape.startY}px`,r.currentShape.element.style.width=`${e}px`,r.currentShape.element.style.height="2px",r.currentShape.element.style.transform=`rotate(${t}deg)`,r.currentShape.element.style.transformOrigin="top left"}else if("arrow"===r.currentShape.type){const e=Math.sqrt(i*i+a*a),t=Math.atan2(a,i)*(180/Math.PI);r.currentShape.element.style.left=`${r.currentShape.startX}px`,r.currentShape.element.style.top=`${r.currentShape.startY}px`,r.currentShape.element.style.width=`${e}px`,r.currentShape.element.style.height="2px",r.currentShape.element.style.transform=`rotate(${t}deg)`,r.currentShape.element.style.transformOrigin="top left"}else if("pen"===r.currentShape.type){const e=r.currentShape.element.style.left,t=r.currentShape.element.style.top,i=n-r.currentShape.startX,a=o-r.currentShape.startY;r.currentShape.pathData+=` L ${i} ${a}`,r.currentShape.pathElement.setAttribute("d",r.currentShape.pathData),r.currentShape.element.style.left===e&&r.currentShape.element.style.top===t||console.error("SVG element position changed during pen draw!","Before:",e,t,"After:",r.currentShape.element.style.left,r.currentShape.element.style.top)}i<0&&"line"!==r.currentShape.type&&"arrow"!==r.currentShape.type&&"pen"!==r.currentShape.type&&(r.currentShape.element.style.left=r.currentShape.startX-s+"px"),a<0&&"line"!==r.currentShape.type&&"arrow"!==r.currentShape.type&&"pen"!==r.currentShape.type&&(r.currentShape.element.style.top=r.currentShape.startY-l+"px")}function ut(e){if(r.currentShape){r.shapes.push(r.currentShape),r.redoShapes=[];const t=r.currentShape.element;t.style.pointerEvents="auto";let n,o,i=!1;function a(e){if(!r.isDrawing){e.preventDefault();const r="touchstart"===e.type?e.touches[0]:e;i=!0,n=r.clientX+window.scrollX-parseFloat(t.style.left||0),o=r.clientY+window.scrollY-parseFloat(t.style.top||0),document.body.style.userSelect="none",document.body.style.touchAction="proxy.php?url=https%3A%2F%2Fsimplecommenter.com%2Fnone",document.addEventListener("mousemove",s),document.addEventListener("touchmove",s,{passive:!1}),document.addEventListener("mouseup",l,{once:!0}),document.addEventListener("touchend",l,{once:!0})}}function s(e){if(!i)return;e.preventDefault();const r="touchmove"===e.type?e.touches[0]:e,a=r.clientX+window.scrollX-n,s=r.clientY+window.scrollY-o;t.style.left=`${a}px`,t.style.top=`${s}px`}function l(){i=!1,document.removeEventListener("mousemove",s),document.removeEventListener("touchmove",s),document.body.style.userSelect="",document.body.style.touchAction="proxy.php?url=https%3A%2F%2Fsimplecommenter.com%2Fauto"}t.addEventListener("mousedown",a),t.addEventListener("touchstart",a,{passive:!1}),r.shapes.forEach(e=>{e.element.style.cursor=""}),r.currentShape=null,document.removeEventListener("mousemove",dt),document.removeEventListener("touchmove",dt),document.body.style.userSelect="",document.body.style.touchAction="proxy.php?url=https%3A%2F%2Fsimplecommenter.com%2Fauto",r.isDrawing=!1,r.currentTool=null,document.body.style.cursor="default",document.removeEventListener("mousedown",pt),document.removeEventListener("touchstart",pt),document.querySelectorAll('.simple-commenter-comment-meta-button[aria-label^="Draw"]').forEach(e=>{const t=e.querySelector("svg");t&&t.classList.remove("simple-commenter-icons-active")}),r.justFinishedDrawing=!0,setTimeout(()=>{r.justFinishedDrawing=!1},100),gt()}}function gt(){const e=document.querySelectorAll('.simple-commenter-comment-meta-button[aria-label="Back"]'),t=document.querySelectorAll('.simple-commenter-comment-meta-button[aria-label="Forward"]');e.forEach(e=>{const t=e.querySelector("svg");t&&(r.shapes.length>0?t.classList.remove("simple-commenter-btn-unavailable"):t.classList.add("simple-commenter-btn-unavailable"))}),t.forEach(e=>{const t=e.querySelector("svg");t&&(r.redoShapes.length>0?t.classList.remove("simple-commenter-btn-unavailable"):t.classList.add("simple-commenter-btn-unavailable"))})}function ht(e){return function(e){if(Ke[e])return Ke[e];const t=function(e){if("string"!=typeof e)return"";const t=e.trim().toLowerCase();return t?t.split("_")[0]:""}(e);return t&&Ke[t]?Ke[t]:Ke.default}(e)}function ft(e,t,n){const o=e.closest(".simple-commenter-dropzone");if(!o)return void console.error("No dropzone wrapper found for textarea:",e);const i=o.querySelector(".simple-commenter-drop-overlay");n||(console.warn("planSettings is undefined, using fallback"),n=ht(null));const a=e=>{e.preventDefault(),e.stopPropagation()},s=()=>{o.classList.remove("simple-commenter-dragover"),i&&(i.style.display="none")};window.addEventListener("dragenter",e=>{e.dataTransfer?.types?.includes("Files")&&(a(e),o.classList.add("simple-commenter-dragover"),i&&(i.style.display="flex"))}),window.addEventListener("dragover",a),window.addEventListener("dragleave",e=>{null===e.relatedTarget&&s()}),o.addEventListener("drop",async e=>{a(e),s();const i=Array.from(e.dataTransfer.files),l=[],m=[],c=1024*(n.maxSizeMB||5)*1024,p=n.maxFiles||10,d=n.allowedTypes||Ze;for(const e of i.slice(0,p))d.includes(e.type)||"*/*"===d[0]?e.size>c?m.push({file:e,reason:"size"}):l.push(e):m.push({file:e,reason:"type"});if(l.length>0&&(r.addedFiles.push(...l),rt(null,t),L("Dropped files added:",l),o.dispatchEvent(new CustomEvent("contentChanged"))),m.length>0){const e=n.maxSizeMB;Qe.showAlertBanner({type:"error",title:"File Upload Error",description:`Some dragged files were rejected. Allowed file types only. Max size: ${e}MB.`}),console.warn("Rejected dropped files:",m)}})}function bt({iconSvg:e,ariaLabel:t,tooltip:n,className:o,onFilesSelected:i}){const a=ht(r.tier),s=document.createElement("label");if(s.className=o||"simple-commenter-comment-meta-button",s.setAttribute("aria-label",t),s.setAttribute("role","button"),s.setAttribute("tabindex","0"),s.innerHTML=e||"",n){const e=document.createElement("p");e.className="simple-commenter-tooltip",e.textContent=n,s.appendChild(e),s.addEventListener("mouseenter",()=>{e.classList.add("visible")}),s.addEventListener("mouseleave",()=>{e.classList.remove("visible")})}const l=document.createElement("input");return l.type="file",l.multiple=!0,l.accept=a.allowedTypes.join(","),l.style.cssText="position:absolute !important;width:0 !important;height:0 !important;opacity:0 !important;overflow:hidden !important;pointer-events:none !important;",l.addEventListener("change",e=>{const t=Array.from(e.target.files);if(!t.length)return;const{validFiles:n,invalidFiles:o}=function(e,t){const{maxSizeMB:n=25,allowedTypes:o=["*/*"],maxFiles:r=10}=t,i=1024*n*1024;let a=e;a.length>r&&(L(`[validateFiles] Limiting to ${r} files`),a=a.slice(0,r));const s=[],l=[];for(const e of a)o.includes(e.type)||"*/*"===o[0]?e.size>i?(L(`[validateFiles] File rejected (size): ${e.name}, size: ${e.size}, max: ${i}`),l.push({file:e,reason:"size"})):(L(`[validateFiles] File accepted: ${e.name}`),s.push(e)):(L(`[validateFiles] File rejected (type): ${e.name}, type: ${e.type}`),l.push({file:e,reason:"type"}));return{validFiles:s,invalidFiles:l}}(t,a);i({validFiles:n,invalidFiles:o}),l.value=""}),s.appendChild(l),s}const wt=["#simple-commenter-modebox-container","#simple-commenter-modebox","#simple-commenter-login","#simple-commenter-comment-input",'[class*="simple-commenter-"]'];function yt(e){for(const{el:t,prev:n}of e)t.style.display=n||""}function xt(){return new Promise((e,t)=>{r.capturing=!0,r.overlay.className="simple-commenter-overlay",r.commentInputUI.style.display="none",navigator.mediaDevices.getDisplayMedia({video:{displaySurface:"browser"},audio:!1,preferCurrentTab:!0,selfBrowserSurface:"include",systemAudio:"exclude",surfaceSwitching:"exclude",monitorTypeSurfaces:"exclude"}).then(n=>{const o=document.createElement("video");o.srcObject=n,o.onloadedmetadata=()=>{o.play();const t=document.createElement("canvas");t.width=window.innerWidth,t.height=window.innerHeight;const i=t.getContext("2d");o.onplay=()=>{i.drawImage(o,0,0,t.width,t.height);const a=t.toDataURL("image/jpeg"),s=t.toDataURL("image/jpeg",.1);r.screenshotData={imgLarge:a,imgSmall:s},r.capturing=null,r.overlay.className="simple-commenter-overlay simple-commenter-active",r.commentInputUI.style.display="block",n.getTracks().forEach(e=>e.stop()),e({imgLarge:a,imgSmall:s})}},o.onerror=()=>{console.error("Video loading failed"),r.capturing=null,r.overlay.className="simple-commenter-overlay simple-commenter-active",r.commentInputUI.style.display="block",ct(),t(new Error("Video loading failed"))}}).catch(e=>{console.error("Video loading failed"),r.capturing=null,r.overlay.className="simple-commenter-overlay simple-commenter-active",r.commentInputUI.style.display="block",ct(),console.error("Screen capture failed:",e),t(e)})})}function vt(){return r.extensionMode&&"undefined"!=typeof chrome&&chrome.runtime?.sendMessage?new Promise((e,t)=>{r.capturing=!0;const n=function(){const e=[];for(const t of wt)document.querySelectorAll(t).forEach(t=>{"none"!==t.style.display&&(e.push({el:t,prev:t.style.display}),t.style.display="none")});return e}();requestAnimationFrame(()=>{setTimeout(()=>{try{chrome.runtime.sendMessage({type:"CAPTURE_SCREENSHOT"},o=>{if(yt(n),r.capturing=null,chrome.runtime.lastError)return L("[Extension Screenshot] Runtime error:",chrome.runtime.lastError.message),void t(new Error(chrome.runtime.lastError.message));if(!o?.ok||!o?.dataUrl)return L("[Extension Screenshot] Failed:",o?.error),void t(new Error(o?.error||"Screenshot capture failed"));const i=o.dataUrl,a=new Image;a.onload=()=>{const t=document.createElement("canvas");t.width=a.width,t.height=a.height,t.getContext("2d").drawImage(a,0,0);const n=t.toDataURL("image/jpeg",.1);r.screenshotData={imgLarge:i,imgSmall:n},e({imgLarge:i,imgSmall:n})},a.onerror=()=>{t(new Error("Failed to process screenshot image"))},a.src=i})}catch(e){yt(n),r.capturing=null,t(e)}},50)})}).catch(e=>(L("[Extension Screenshot] Falling back to getDisplayMedia:",e.message),xt())):xt()}function Ct({screenshot:e}){if(!e||!e.imgLarge)return;"function"==typeof et?et():document.querySelectorAll(".simple-commenter-gallery-modal, .simple-commenter-gallery-backdrop").forEach(e=>e.remove());const t=document.createElement("div");t.className="simple-commenter-gallery-modal",t.setAttribute("role","dialog"),t.setAttribute("aria-modal","true"),t.setAttribute("aria-label","Screenshot preview");const n=document.createElement("div");n.className="simple-commenter-gallery-backdrop";const o=document.createElement("img");o.src=e.imgLarge,o.alt="Captured Screenshot",o.className="simple-commenter-gallery-image",o.decoding="async";const r=document.createElement("div");r.className="simple-commenter-gallery-loading",r.setAttribute("role","status"),r.setAttribute("aria-live","polite");const i=document.createElement("div");i.className="simple-commenter-gallery-loading-spinner";const a=document.createElement("span");a.className="simple-commenter-gallery-loading-text",a.textContent="Loading image...",r.appendChild(i),r.appendChild(a);const s=()=>{o.classList.add("is-loaded"),r.classList.add("is-hidden"),setTimeout(()=>{r.parentNode&&r.remove()},180)},l=()=>{r.classList.add("is-error"),i.style.display="none",a.textContent="Unable to load image"},m=()=>{document.removeEventListener("keydown",c),n.removeEventListener("click",m),o.removeEventListener("load",s),o.removeEventListener("error",l),t.parentNode&&t.remove(),n.parentNode&&n.remove(),et===m&&(et=null)},c=e=>{"Escape"===e.key&&(e.preventDefault(),e.stopImmediatePropagation(),m())},p=Qe.createCloseButton({icon:"x",ariaLabel:"Close Screenshot Gallery",onClick:e=>{e.stopImmediatePropagation(),m()}});p.className="simple-commenter-gallery-close",p.type="button",p.setAttribute("aria-label","Close image preview"),o.addEventListener("load",s),o.addEventListener("error",l),n.addEventListener("click",e=>{e.stopImmediatePropagation(),m()}),document.addEventListener("keydown",c),t.appendChild(o),t.appendChild(r),t.appendChild(p),o.complete&&(o.naturalWidth>0?s():l()),document.body.appendChild(n),document.body.appendChild(t),et=m}let kt={};const Et=/^sc_[a-f0-9]+$/i;function St(e){return"user"===e?"owner":"team"===e?"member":"owner"===e||"member"===e||"client"===e?e:null}function Lt(e,t){const n=St(e),o=St(t);return"owner"===o||"member"===o?o:"client"!==o||"owner"!==n&&"member"!==n?o||n||null:n}function Dt(){if(r.simpleCommenterUserData.name&&r.simpleCommenterUserData.name.trim())return r.simpleCommenterUserData.name.trim();const e=r.simpleCommenterUserData.role;return e&&["client","team","user","admin"].includes(e)?kt.localize(e):kt.localize("anonymous")}function At(e){const t=new URL(e),n="true"===t.searchParams.get("simple-commenter"),o="true"===t.searchParams.get("debug"),i="true"===new URL(window.location.href).searchParams.get("debug");return window.SIMPLE_COMMENTER_DEBUG=o||i||window.SIMPLE_COMMENTER_DEBUG,n&&!r.simpleCommenterUserData.paramActive&&Ft({paramActive:!0,spam:!1,spamUpdated:null}),n||r.simpleCommenterUserData.paramActive}function Tt(e){try{const o=new URL(e),i=o.searchParams.get("simple-commenter-token");r.emailFromUrl=o.searchParams.get("email");const a=o.searchParams.get("simple-commenter-name"),s=o.searchParams.get("sc_pending"),l=o.searchParams.get("sc_error"),m=o.searchParams.get("sc_email");if(r.emailFromUrl&&r.emailFromUrl.includes(" ")&&(r.emailFromUrl=r.emailFromUrl.replace(/ /g,"+")),r.emailFromUrl&&"string"==typeof(t=r.emailFromUrl)&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)){const e={email:r.emailFromUrl};a&&(e.name=a),Ft(e)}else r.emailFromUrl&&console.warn("Invalid email in URL param:",r.emailFromUrl);let c=null,{pathname:p}=kt.parseAndNormalize(e,!1)||{};for(const e of n){const t=o.searchParams.get(e);if(t){c={key:e,value:t,slugValue:p};break}}if(r.lastLocator=c,i){const e=i!==r.simpleCommenterUserData.token;return e&&Ft({name:"",email:"",userId:null,notify:!1,role:"client",login:!1,verified:!1,unauthorized:!1,checkEmail:!1,spam:!1,spamUpdated:null,spamReason:"",associated:!0,needsName:!1,token:i}),("true"===s||l)&&(o.searchParams.delete("sc_pending"),o.searchParams.delete("sc_email"),o.searchParams.delete("sc_error"),window.history.replaceState({},document.title,o.toString())),{token:i,login:!0,locator:c,loginSuccess:e}}return r.simpleCommenterUserData.token?(("true"===s||l)&&(o.searchParams.delete("sc_pending"),o.searchParams.delete("sc_email"),o.searchParams.delete("sc_error"),window.history.replaceState({},document.title,o.toString())),{token:r.simpleCommenterUserData.token,login:!0,locator:c}):"true"===s?(console.log("[GOOGLE OAUTH] Registration pending approval for:",m),Ft({email:m,pendingApproval:!0,spam:!1,spamUpdated:null}),o.searchParams.delete("sc_pending"),o.searchParams.delete("sc_email"),window.history.replaceState({},document.title,o.toString()),{token:null,login:!1,locator:c,pendingApproval:!0}):l?(console.log("[GOOGLE OAUTH] Error:",l),o.searchParams.delete("sc_error"),window.history.replaceState({},document.title,o.toString()),{token:null,login:!1,locator:c,oauthError:l}):{token:null,login:!1,locator:c}}catch(e){return console.error("Error processing token:",e),r.lastLocator=null,{token:null,login:!1,locator:null}}var t}function Ft(e){if(!e||"object"!=typeof e)return null;try{const t=Object.keys(e).reduce((t,n)=>{const o=e[n];return null!=o&&(t[n]=o),t},{}),n=["user","client","team"];Object.prototype.hasOwnProperty.call(t,"role")&&n.includes(t.role)&&(t.name||(t.name=function(e){if("string"==typeof e.name&&""!==e.name.trim())return e.name.trim();const t={user:kt.localize("user"),team:kt.localize("team"),client:kt.localize("client")};return t[e.role]||t.client}(t))),t.theme&&"object"==typeof t.theme&&0===Object.keys(t.theme).length&&r.simpleCommenterUserData?.theme&&Object.keys(r.simpleCommenterUserData.theme).length>0&&(L("updateUserData: Ignoring empty theme {} since existing theme is not empty"),delete t.theme),r.simpleCommenterUserData={...r.simpleCommenterUserData,...t};const o=["name","email","userId","notify","role","mode","verified","checkEmail","active","login","spam","spamUpdated","spamReason","token","localization","unauthorized","theme","paramActive","paramActiveSetting","associated","needsName","enabledStatuses","selectedStatuses","hideCommentModeBanner","userHideBannerPreference","clientLogin","clientAccessMode","tutorial","userTutorialPreference","showTutorial","isDashboardUser"];return Object.keys(r.simpleCommenterUserData).forEach(e=>{o.includes(e)||delete r.simpleCommenterUserData[e]}),localStorage.setItem("simpleCommenterUserData",JSON.stringify(r.simpleCommenterUserData)),async function(){if(r.extensionMode&&window.chrome?.storage?.local)try{const e=await window.chrome.storage.local.get("scExtensionConfig"),t=e?.scExtensionConfig||{},n=t.auth||{},o=r.simpleCommenterUserData?.token||null,i=r.simpleCommenterUserData?.email||null,a=r.simpleCommenterUserData?.name||null,s=r.simpleCommenterUserData?.role||null,l={...n,widgetToken:o||n.widgetToken||null,token:o||n.token||null,email:i||n.email||null,role:Lt(n.role,s),name:a||n.name||null,verified:!0===r.simpleCommenterUserData?.verified||!0===n.verified},m={...t,auth:l,updatedAt:Date.now()};await window.chrome.storage.local.set({scExtensionConfig:m})}catch(e){console.warn("[Extension] Failed to sync auth storage:",e)}}(),r.simpleCommenterUserData.unauthorized&&kt.refreshUserInner(),r.simpleCommenterUserData.needsName&&kt.refreshUserInner(),r.simpleCommenterUserData}catch(e){return console.error("Failed to update localStorage:",e),null}}const Mt=async()=>{if(!function(e="auth"){const t=function(e){const t=(e||"").toString().trim().toLowerCase();return t&&"undefined"!==t&&"null"!==t?t:null}(r.domain);return t?!(r.extensionMode&&!Et.test(t)&&(T(`[${e}] Skipping auth request: invalid extension public key.`,{domain:t}),1)):(L(`[${e}] Skipping auth request: no configured domain.`),!1)}("fetchLogin"))return null;const e=document.URL,{token:t,login:n}=Tt(e),o=await fetch(`${I}login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({domain:r.domain,type:"pageview",referrer:e,token:r.simpleCommenterUserData.token,userData:r.simpleCommenterUserData})}),i=await o.json(),a=i.userData;o.ok&&(a&&Ft({...i.userData,unauthorized:!0===a.unauthorized}),a.unauthorized&&Ft({unauthorized:!0,spamMessage:a.spamMessage}),a.active&&(kt.fetchData(),"disabled"===r.mode&&kt.changeMode("view")),kt.refreshUserInner())};let Pt={};const Bt=document.createElement("div"),It=document.createElement("div"),zt=document.createElement("div"),Nt=document.createElement("button"),$t=document.createElement("div"),Ut=document.createElement("div"),_t=document.createElement("p"),Rt=document.createElement("div"),qt=document.createElement("button"),Ht=document.createElement("div"),jt=document.createElement("button"),Ot=document.createElement("button"),Vt=document.createElement("button");document.createElement("button");const Wt=document.createElementNS("http://www.w3.org/2000/svg","svg");Wt.setAttribute("fill","none"),Wt.setAttribute("viewBox","0 0 24 24"),Wt.setAttribute("stroke","currentColor"),Wt.setAttribute("stroke-width","1.2"),Wt.style.width="24px",Wt.style.height="24px",Wt.style.display="block",Wt.innerHTML=' ';const Yt=document.createElementNS("http://www.w3.org/2000/svg","svg");Yt.setAttribute("fill","none"),Yt.setAttribute("viewBox","0 0 24 24"),Yt.setAttribute("stroke","currentColor"),Yt.setAttribute("stroke-width","1.2"),Yt.style.width="24px",Yt.style.height="24px",Yt.style.display="block",Yt.innerHTML='\n ';const Xt=document.createElementNS("http://www.w3.org/2000/svg","svg");Xt.setAttribute("fill","none"),Xt.setAttribute("viewBox","0 0 24 24"),Xt.setAttribute("stroke","currentColor"),Xt.setAttribute("stroke-width","1.2"),Xt.style.width="24px",Xt.style.height="24px",Xt.style.display="block",Xt.innerHTML='\n \n ';const Gt=document.createElementNS("http://www.w3.org/2000/svg","svg");function Zt(e){return{disabled:0,view:1,active:2}[e]??0}function Jt(e){if(!r.pillIndicator)return;const t=45*Math.max(0,e),n=B(r.pillPosition)?`translateY(${t}px)`:`translateX(${t}px)`;r.pillIndicator.style.setProperty("transform",n,"important")}function Kt(){if(!Bt)return;const e="left"===r.pillPosition||"left-edge"===r.pillPosition,t=e?"-20px":"20px",n=e?"3px":"-3px",o=e?"-14px":"14px",i=e?"left center":"right center";Bt.style.setProperty("--pill-origin",i,"important"),Bt.style.setProperty("--pill-enter-x",t,"important"),Bt.style.setProperty("--pill-enter-y","0px","important"),Bt.style.setProperty("--pill-overshoot-x",n,"important"),Bt.style.setProperty("--pill-overshoot-y","0px","important"),Bt.style.setProperty("--pill-exit-x",o,"important"),Bt.style.setProperty("--pill-exit-y","0px","important")}function Qt(){r.pillBadge&&0!==(r.comments||[]).length&&(r.pillBadgeBobTimeout&&(clearTimeout(r.pillBadgeBobTimeout),r.pillBadgeBobTimeout=null),r.pillBadge.classList.remove("simple-commenter-pill-badge-bob"),r.pillBadge.offsetWidth,r.pillBadge.classList.add("simple-commenter-pill-badge-bob"),r.pillBadgeBobTimeout=setTimeout(()=>{r.pillBadge&&r.pillBadge.classList.remove("simple-commenter-pill-badge-bob"),r.pillBadgeBobTimeout=null},280))}function en(e){const t=(r.simpleCommenterUserData.theme||{}).text||"#222222",n=`${t}77`,o={disabled:r.pillSegments.disabled,view:r.pillSegments.view,active:r.pillSegments.active};Object.entries(o).forEach(([o,r])=>{if(!r)return;const i=e===o;r.style.setProperty("color",i?t:n,"important"),i?r.classList.add("simple-commenter-pill-segment-active"):r.classList.remove("simple-commenter-pill-segment-active")})}function tn(e=r.simpleCommenterUserData.theme||{}){const t=e.primary||"#F7D070",n=e.text||"#222222",o=e.border||"#E1E1E1",i=e.background||"#ffffff",a=e.iconStroke||n;if(Bt&&(Bt.style.setProperty("background",i,"important"),function(e=r.simpleCommenterUserData.theme||{}){if(!Bt)return;const t=e.border||"#E1E1E1",n=B(r.pillPosition);Bt.classList.toggle("simple-commenter-pill--vertical",n),Kt(),Bt.style.setProperty("border-top",`1px solid ${t}`,"important"),Bt.style.setProperty("border-bottom",`1px solid ${t}`,"important"),Bt.style.setProperty("border-left",r.pillExpanded&&"left-edge"===r.pillPosition?"none":`1px solid ${t}`,"important"),Bt.style.setProperty("border-right",r.pillExpanded&&"right-edge"===r.pillPosition?"none":`1px solid ${t}`,"important");let o="9999px";if("right-edge"===r.pillPosition&&(o="24px 0 0 24px"),"left-edge"===r.pillPosition&&(o="0 24px 24px 0"),Bt.style.setProperty("border-radius",o,"important"),r.pillCollapsedButton){let e="9999px";"right-edge"===r.pillPosition&&(e="24px 0 0 24px"),"left-edge"===r.pillPosition&&(e="0 24px 24px 0"),r.pillCollapsedButton.style.setProperty("border-radius",e,"important"),r.pillCollapsedButton.style.setProperty("border-top",`1px solid ${t}`,"important"),r.pillCollapsedButton.style.setProperty("border-bottom",`1px solid ${t}`,"important"),r.pillCollapsedButton.style.setProperty("border-left","left-edge"===r.pillPosition?"none":`1px solid ${t}`,"important"),r.pillCollapsedButton.style.setProperty("border-right","right-edge"===r.pillPosition?"none":`1px solid ${t}`,"important")}r.pillWrapper&&r.pillWrapper.classList.toggle("simple-commenter-pill-wrapper--vertical",n)}(e)),r.pillIndicator&&r.pillIndicator.style.setProperty("background",t,"important"),r.pillHamburger&&(r.pillHamburger.style.setProperty("border",`1px solid ${o}`,"important"),r.pillHamburger.style.setProperty("background",i,"important"),r.pillHamburger.style.setProperty("color",`${n}55`,"important"),r.pillHamburger.style.setProperty("order","left"===r.pillPosition||"left-edge"===r.pillPosition?"1":"0","important")),r.pillBadge)if(r.pillBadge.style.setProperty("background",n,"important"),r.pillBadge.style.setProperty("color",i,"important"),B(r.pillPosition)){const e="left-edge"===r.pillPosition&&r.pillExpanded&&!r.sidebarDisabled&&r.pillHamburger&&"none"!==r.pillHamburger.style.display?"34px":"-2px";r.pillBadge.style.setProperty("top","auto","important"),r.pillBadge.style.setProperty("bottom",e,"important"),r.pillBadge.style.setProperty("right","left-edge"===r.pillPosition?"-2px":"auto","important"),r.pillBadge.style.setProperty("left","right-edge"===r.pillPosition?"-2px":"auto","important")}else r.pillBadge.style.setProperty("top","-2px","important"),r.pillBadge.style.setProperty("bottom","auto","important"),r.pillBadge.style.setProperty("right","-2px","important"),r.pillBadge.style.setProperty("left","auto","important");r.pillCollapsedButton&&(r.pillCollapsedButton.style.setProperty("background",i,"important"),r.pillCollapsedButton.style.setProperty("box-shadow","0 2px 10px rgba(0, 0, 0, 0.06), 0 0 1px rgba(0, 0, 0, 0.1)","important"),r.pillCollapsedButton.innerHTML="",r.pillCollapsedButton.appendChild(pn(t,a))),en(r.mode),Jt(Zt(r.mode))}function nn(e=r.mode){r.pillCollapsedButton&&Bt&&(r.pillAnimationTimeout&&(clearTimeout(r.pillAnimationTimeout),r.pillAnimationTimeout=null),r.pillExpanded=!0,Kt(),Bt.style.setProperty("display","flex","important"),Bt.classList.remove("simple-commenter-pill-animate-out"),Bt.classList.add("simple-commenter-pill-animate-in"),r.pillCollapsedButton.style.setProperty("display","none","important"),r.pillHamburger&&(r.pillHamburger.classList.remove("simple-commenter-pill-hamburger-animate-out"),r.pillHamburger.style.setProperty("display",r.sidebarDisabled?"none":"flex","important"),r.sidebarDisabled||r.pillHamburger&&(r.pillHamburgerAnimationTimeout&&(clearTimeout(r.pillHamburgerAnimationTimeout),r.pillHamburgerAnimationTimeout=null),r.pillHamburger.classList.remove("simple-commenter-pill-hamburger-animate-in"),r.pillHamburger.classList.remove("simple-commenter-pill-hamburger-press"),r.pillHamburger.classList.remove("simple-commenter-pill-hamburger-animate-out"),r.pillHamburger.offsetWidth,r.pillHamburger.classList.add("simple-commenter-pill-hamburger-animate-in"),r.pillHamburgerAnimationTimeout=setTimeout(()=>{r.pillHamburger&&r.pillHamburger.classList.remove("simple-commenter-pill-hamburger-animate-in"),r.pillHamburgerAnimationTimeout=null},240))),tn(r.simpleCommenterUserData.theme||{}),Jt(Zt(e)),en(e),r.pillBadge&&(r.comments||[]).length>0&&(r.pillBadge.style.setProperty("display","flex","important"),Qt()),r.pillAnimationTimeout=setTimeout(()=>{Bt.classList.remove("simple-commenter-pill-animate-in"),r.pillAnimationTimeout=null},280))}function on(){r.pillCollapsedButton&&Bt&&(r.pillAnimationTimeout&&(clearTimeout(r.pillAnimationTimeout),r.pillAnimationTimeout=null),r.pillHamburgerAnimationTimeout&&(clearTimeout(r.pillHamburgerAnimationTimeout),r.pillHamburgerAnimationTimeout=null),r.pillExpanded=!1,r.pillMenuOpen=!1,Qt(),Kt(),Bt.classList.remove("simple-commenter-pill-animate-in"),Bt.classList.add("simple-commenter-pill-animate-out"),r.pillHamburger&&!r.sidebarDisabled&&(r.pillHamburger.classList.remove("simple-commenter-pill-hamburger-animate-in"),r.pillHamburger.classList.remove("simple-commenter-pill-hamburger-press"),r.pillHamburger.classList.remove("simple-commenter-pill-hamburger-animate-out"),r.pillHamburger.offsetWidth,r.pillHamburger.classList.add("simple-commenter-pill-hamburger-animate-out")),r.pillAnimationTimeout=setTimeout(()=>{Bt.classList.remove("simple-commenter-pill-animate-out"),Bt.style.setProperty("display","none","important"),r.pillCollapsedButton.style.setProperty("display","flex","important"),r.pillHamburger&&(r.pillHamburger.classList.remove("simple-commenter-pill-hamburger-animate-in"),r.pillHamburger.classList.remove("simple-commenter-pill-hamburger-press"),r.pillHamburger.classList.remove("simple-commenter-pill-hamburger-animate-out"),r.pillHamburger.style.setProperty("display","none","important")),r.pillBadge&&(r.pillBadge.classList.remove("simple-commenter-pill-badge-bob"),r.pillBadge.style.setProperty("display",(r.comments||[]).length>0?"flex":"none","important")),tn(r.simpleCommenterUserData.theme||{}),r.pillAnimationTimeout=null},280))}function rn({button:e,id:t,modeName:n,ariaLabel:o,iconFactory:r}){const i=e||document.createElement("button"),a=document.createElement("span");return i.replaceChildren(),i.id=t,i.className="simple-commenter-pill-segment",i.setAttribute("aria-label",o),a.className="simple-commenter-pill-segment-icon",a.appendChild(r()),i.appendChild(a),i.onclick=e=>{e.stopPropagation(),dn(n)},i}Gt.setAttribute("fill","none"),Gt.setAttribute("viewBox","0 0 24 24"),Gt.setAttribute("stroke","currentColor"),Gt.setAttribute("stroke-width","1.5"),Gt.style.width="24px",Gt.style.height="24px",Gt.style.display="block",Gt.innerHTML='';const an=async()=>{if(document.getElementById("simple-commenter-modebox"))return void L("[SimpleCommenter] Modebox already exists, skipping creation");zt.className="simple-commenter-buttons-container",Nt.id="simple-commenter-comment-list-button",Nt.className="simple-commenter-comment-list-button",$t.id="simple-commenter-comment-list-container",$t.className="simple-commenter-comment-list simple-commenter-p-0",$t.style.display="none",_t.className="simple-commenter-comment-container simple-commenter-border-0 simple-commenter-heading",_t.textContent=Pt.localize("allComments"),zt.appendChild(qt),qt.id="simple-commenter-user-button",qt.className="simple-commenter-comment-list-button simple-commenter-user-button",Ht.id="simple-commenter-userContainer",Ht.className="simple-commenter-comment-list simple-commenter-p-0 simple-commenter-container-smaller",Ht.style.display="none";const e=Pt.createCloseButton({icon:"x",ariaLabel:"Close comment list",className:"simple-commenter-m-1-5",onClick:()=>{$t.style.display="none",Nt.classList.remove("simple-commenter-active-button")}}),t=Pt.createCloseButton({icon:"x",ariaLabel:"Close comment list",className:"simple-commenter-m-1-5",onClick:()=>{Ht.style.display="none",qt.classList.remove("simple-commenter-active-button")}});Rt.className="simple-commenter-comments-wrapper",Ut.className="simple-commenter-space-between",Ut.appendChild(_t),Ut.appendChild(e),$t.appendChild(Ut),$t.appendChild(Rt);const n=document.createElement("div"),o=document.createElement("div");n.className="simple-commenter-buttons-wrapper",o.className="simple-commenter-list-buttons";const i=r.allCommentsLoaded?(r.allComments||[]).length:r.allCommentsCount||0,a=(r.comments||[]).length;r.filterDropdown=Pt.createStatusFilterDropdown({onChange:async(e,t)=>{const n=await Pt.fetchCommentsByStatus(t,!0);n&&n.counts&&(r.statusCounts=n.counts,r.filterDropdown.updateCounts(r.statusCounts))}}),r.allCommentsButton=Ye({text:`${i} ${Pt.localize("allPages")||"on other pages"}`,ariaLabel:"Show all comments",className:"simple-commenter-text-sm",onClick:async e=>{if(e.stopPropagation(),r.pageComments=!1,!r.allCommentsLoaded)try{await(Pt.ensureAllCommentsLoaded?.())}catch(e){T("[modebox] failed to lazy-load all comments:",e)}Pt.updateDrawerCommentList(),r.allCommentsButton.classList.add("simple-commenter-active-button"),r.pageCommentsButton.classList.remove("simple-commenter-active-button")}}),r.pageCommentsButton=Ye({text:`${a} ${Pt.localize("thisPage")}`,ariaLabel:"Show comments on this page",className:"simple-commenter-text-sm",onClick:e=>{e.stopPropagation(),r.pageComments=!0,Pt.updateDrawerCommentList(),r.pageCommentsButton.classList.add("simple-commenter-active-button"),r.allCommentsButton.classList.remove("simple-commenter-active-button")}}),r.pageCommentsButton.classList.add("simple-commenter-active-button"),n.appendChild(r.filterDropdown),o.appendChild(r.allCommentsButton),o.appendChild(r.pageCommentsButton),n.appendChild(o),$t.appendChild(n),Ht.appendChild(t);const s=r.simpleCommenterUserData.theme||{},l=(s.modalPosition||M(s.modalAlign||0)).startsWith("side-"),m=P(s);let c=Bt;if(m)c=function(e=r.simpleCommenterUserData.theme||{}){r.pillPosition=((e={})=>{switch(e.modalPosition||M(e.modalAlign||0)){case"bottom-left":return"left";case"bottom-center":return"center";case"side-right":return"right-edge";case"side-left":return"left-edge";default:return"right"}})(e),r.pillMenuOpen=!1,r.pillSegments={},Bt.id="simple-commenter-modebox",Bt.className="simple-commenter-pill",Bt.innerHTML="",r.pillWrapper=document.createElement("div"),r.pillWrapper.className="simple-commenter-pill-wrapper",r.pillHamburger=document.createElement("button"),r.pillHamburger.className="simple-commenter-pill-hamburger",r.pillHamburger.setAttribute("aria-label","Menu"),r.pillHamburger.appendChild(function(){const e=document.createElementNS("http://www.w3.org/2000/svg","svg");return e.setAttribute("fill","none"),e.setAttribute("viewBox","0 0 24 24"),e.setAttribute("stroke","currentColor"),e.setAttribute("stroke-width","2.5"),e.setAttribute("stroke-linecap","round"),e.style.width="10px",e.style.height="10px",e.style.display="block",e.innerHTML='',e}()),r.pillHamburger.onclick=e=>{e.stopPropagation(),r.pillMenuOpen=!1,r.pillHamburger.classList.remove("simple-commenter-pill-hamburger-press"),r.pillHamburger.offsetWidth,r.pillHamburger.classList.add("simple-commenter-pill-hamburger-press"),!r.simpleCommenterUserData.login||r.simpleCommenterUserData.token?Pt.openDrawer("comments"):Pt.openDrawer("login")},r.pillCollapsedButton=document.createElement("button"),r.pillCollapsedButton.className="simple-commenter-pill-collapsed",r.pillCollapsedButton.setAttribute("aria-label","Expand modebox"),r.pillCollapsedButton.onclick=e=>{e.stopPropagation(),!r.simpleCommenterUserData.login||r.simpleCommenterUserData.token?(nn(),dn("view")):Pt.openDrawer("login")},r.pillIndicator=document.createElement("div"),r.pillIndicator.className="simple-commenter-pill-indicator",Bt.appendChild(r.pillIndicator);const t=rn({button:jt,id:"simple-commenter-disabled",modeName:"disabled",ariaLabel:"Disabled",iconFactory:ln}),n=rn({button:Ot,id:"simple-commenter-view",modeName:"view",ariaLabel:"View",iconFactory:mn}),o=rn({button:Vt,id:"simple-commenter-active",modeName:"active",ariaLabel:"Active",iconFactory:cn});return r.pillSegments.disabled=t,r.pillSegments.view=n,r.pillSegments.active=o,Bt.appendChild(t),Bt.appendChild(n),Bt.appendChild(o),r.pillBadge=document.createElement("span"),r.pillBadge.className="simple-commenter-pill-badge",r.pillWrapper.appendChild(r.pillHamburger),r.pillWrapper.appendChild(Bt),r.pillWrapper.appendChild(r.pillCollapsedButton),r.pillWrapper.appendChild(r.pillBadge),r.pillExpanded=!e.minimized,r.mode=r.simpleCommenterUserData.mode||"disabled",tn(e),r.pillExpanded?(Bt.style.setProperty("display","flex","important"),r.pillCollapsedButton.style.setProperty("display","none","important"),r.pillHamburger.style.setProperty("display",r.sidebarDisabled?"none":"flex","important")):(Bt.style.setProperty("display","none","important"),r.pillCollapsedButton.style.setProperty("display","flex","important"),r.pillHamburger.style.setProperty("display","none","important"),r.pillBadge&&r.pillBadge.style.setProperty("display",(r.comments||[]).length>0?"flex":"none","important")),Jt(Zt(r.mode)),en(r.mode),r.pillWrapper}(s);else{Bt.id="simple-commenter-modebox";let e=["simple-commenter-modebox"];l&&e.push("simple-commenter-layout-vertical"),Bt.className=e.join(" "),Bt.innerHTML="",jt.id="simple-commenter-disabled",jt.className="",jt.setAttribute("aria-label","Disabled"),jt.innerHTML="",jt.appendChild(Wt),Bt.appendChild(jt),Ot.id="simple-commenter-view",Ot.className=l?"simple-commenter-border-vertical":"simple-commenter-border",Ot.setAttribute("aria-label","View"),Ot.innerHTML="",Ot.appendChild(Yt),Bt.appendChild(Ot),Vt.id="simple-commenter-active",Vt.className=l?"simple-commenter-border-vertical":"simple-commenter-border",Vt.setAttribute("aria-label","Active"),Vt.innerHTML="",Vt.appendChild(Xt),Bt.appendChild(Vt)}It.id="simple-commenter-modebox-container",It.className="simple-commenter-modebox-container",zt.appendChild(qt),zt.appendChild(Nt),It.appendChild($t),It.appendChild(Ht),It.appendChild(zt),It.appendChild(c),zt.style.display=m?"none":"",r.simpleCommenterUserData.associated||(qt.style.display="none"),r.scButton=function(){const e=document.createElement("div");e.id="simple-commenter-login",e.className="simple-commenter-login";const t=document.createElement("button");return t.type="button",t.setAttribute("aria-label","Simple Commenter Open"),t.className="simple-commenter-pill-collapsed simple-commenter-check-button",t.appendChild(pn("#F7D070","#222222")),e.appendChild(t),e.style.display="none",e.addEventListener("click",e=>{r.simpleCommenterUserData.login?Pt.openDrawer("login"):(dn("view"),sn(!1))}),e}(),It.appendChild(r.scButton),m&&r.scButton?r.scButton.style.display="none":un(r.simpleCommenterUserData.theme||{}),document.body.appendChild(It),r.simpleCommenterUserData.theme&&r.simpleCommenterUserData.theme.minimized||m||(Bt.classList.add("simple-commenter-modebox-animate-in"),zt.classList.add("simple-commenter-buttons-animate-in"),setTimeout(()=>{Bt.classList.remove("simple-commenter-modebox-animate-in"),zt.classList.remove("simple-commenter-buttons-animate-in")},300)),Pt.updateCommentCount(),Pt.updateDrawerCommentList(),function(){const e=document.createElementNS("http://www.w3.org/2000/svg","svg");e.setAttribute("fill","none"),e.setAttribute("viewBox","0 0 24 24"),e.setAttribute("strokeLinecap","1.5"),e.style.width="16px",e.style.height="16px",e.style.strokeWidth="1.5",e.innerHTML=' ',qt.innerHTML="",qt.appendChild(e)}();const p=r.simpleCommenterUserData.mode;dn("active"===p?"view":p,!0),m||(jt.addEventListener("click",function(){dn("disabled")}),Ot.addEventListener("click",function(){dn("view")}),Vt.addEventListener("click",function(){dn("active")})),Nt.addEventListener("click",e=>{e.stopPropagation(),Pt.openDrawer("comments")}),qt.addEventListener("click",e=>{e.stopPropagation(),Pt.openDrawer("user")})};function sn(e=!1,t=!1){if(P(r.simpleCommenterUserData.theme||{}))return void(e&&r.simpleCommenterUserData.login&&!r.simpleCommenterUserData.token&&on());const n=document.getElementById("simple-commenter-login"),o=document.getElementById("simple-commenter-modebox"),i=document.getElementById("simple-commenter-user-button"),a=document.getElementById("simple-commenter-comment-list-button"),s=document.querySelector(".simple-commenter-buttons-container");if(!(n&&o&&i&&a))return void console.error("One or more container elements not found");const l=e?"login":"modebox";if(r.currentLoginContainerState===l)return;if(t&&r.hasCompletedInitialAnimation)return;const m=e=>{e&&e.classList.remove("simple-commenter-modebox-animate-in","simple-commenter-modebox-animate-out","simple-commenter-buttons-animate-in","simple-commenter-buttons-animate-out","simple-commenter-login-animate-in")};e?(m(o),m(s),m(n),"modebox"!==r.currentLoginContainerState||t?(o.style.display="none",i.style.display="none",a.style.display="none",n.style.setProperty("display","flex","important"),t&&n.classList.add("simple-commenter-login-animate-in"),r.currentLoginContainerState="login",t&&(r.hasCompletedInitialAnimation=!0)):(o.classList.add("simple-commenter-modebox-animate-out"),s&&s.classList.add("simple-commenter-buttons-animate-out"),setTimeout(()=>{o.style.display="none",i.style.display="none",a.style.display="none",n.style.setProperty("display","flex","important"),n.classList.add("simple-commenter-login-animate-in"),r.currentLoginContainerState="login"},200))):"block"===window.getComputedStyle(o).display&&"modebox"===r.currentLoginContainerState?(m(o),m(s),m(n),o.classList.add("simple-commenter-modebox-animate-out"),s&&s.classList.add("simple-commenter-buttons-animate-out"),setTimeout(()=>{o.style.display="none",i.style.display="none",a.style.display="none",n.style.setProperty("display","flex","important"),n.classList.add("simple-commenter-login-animate-in"),r.currentLoginContainerState="login"},200)):(m(o),m(s),m(n),n.style.display="none",o.style.display="flex",i.style.display="block",a.style.display="flex",(t||"login"===r.currentLoginContainerState)&&(o.classList.add("simple-commenter-modebox-animate-in"),s&&s.classList.add("simple-commenter-buttons-animate-in")),r.currentLoginContainerState="modebox",t&&(r.hasCompletedInitialAnimation=!0))}function ln(){const e=document.createElementNS("http://www.w3.org/2000/svg","svg");return e.setAttribute("fill","none"),e.setAttribute("viewBox","0 0 24 24"),e.setAttribute("stroke","currentColor"),e.setAttribute("stroke-width","1.2"),e.setAttribute("stroke-linecap","round"),e.setAttribute("stroke-linejoin","round"),e.style.width="16px",e.style.height="16px",e.style.display="block",e.innerHTML='',e}function mn(){const e=document.createElementNS("http://www.w3.org/2000/svg","svg");return e.setAttribute("fill","none"),e.setAttribute("viewBox","0 0 24 24"),e.setAttribute("stroke","currentColor"),e.setAttribute("stroke-width","1.2"),e.setAttribute("stroke-linecap","round"),e.setAttribute("stroke-linejoin","round"),e.style.width="16px",e.style.height="16px",e.style.display="block",e.innerHTML='',e}function cn(){const e=document.createElementNS("http://www.w3.org/2000/svg","svg");return e.setAttribute("fill","none"),e.setAttribute("viewBox","0 0 24 24"),e.setAttribute("stroke","currentColor"),e.setAttribute("stroke-width","1.2"),e.setAttribute("stroke-linecap","round"),e.setAttribute("stroke-linejoin","round"),e.style.width="16px",e.style.height="16px",e.style.display="block",e.innerHTML='',e}function pn(e,t){const n=document.createElementNS("http://www.w3.org/2000/svg","svg");return n.setAttribute("fill","none"),n.setAttribute("viewBox","0 0 44 39"),n.setAttribute("xmlns","http://www.w3.org/2000/svg"),n.style.width="22px",n.style.height="22px",n.style.display="block",n.innerHTML=``,n}function dn(e,t=!1){const n=P(r.simpleCommenterUserData.theme||{});if(!(n||jt?.parentElement&&Ot?.parentElement&&Vt?.parentElement))return;const o=r.mode;if(jt.classList.remove("simple-commenter-disabled-button"),Ot.classList.remove("simple-commenter-view-button"),Vt.classList.remove("simple-commenter-active-button"),"disabled"===e?(n||jt.classList.add("simple-commenter-disabled-button"),r.shouldAnimateMarkers=!1,r.animatedMarkerIds.clear(),Pt.enableAllButtons(),Pt.hideComments(),Pt.exitCommentMode(),Pt.hideCommentModeIndicator(),r.overlay&&(r.overlay.className="simple-commenter-overlay"),(r.simpleCommenterUserData.theme&&r.simpleCommenterUserData.theme.minimized||r.simpleCommenterUserData.login&&!r.simpleCommenterUserData.token)&&(n||sn(!0,t))):"view"===e?(n||Ot.classList.add("simple-commenter-view-button"),"disabled"===o&&(r.shouldAnimateMarkers=!0,r.animatedMarkerIds.clear(),r.markerAnimationIndex=0),Pt.displayComments(),Pt.enableAllButtons(),Pt.hideCommentInput(),Pt.exitCommentMode(),Pt.hideCommentModeIndicator(),r.overlay&&(r.overlay.className="simple-commenter-overlay"),r.simpleCommenterUserData.theme&&r.simpleCommenterUserData.theme.minimized&&(n||(sn(!1,t),r.scButton&&(r.scButton.style.display="none")))):"active"===e&&(n||Vt.classList.add("simple-commenter-active-button"),r.overlay&&!r.assetCommenting&&(r.overlay.className="simple-commenter-overlay simple-commenter-active"),"disabled"===o&&(r.shouldAnimateMarkers=!0,r.animatedMarkerIds.clear(),r.markerAnimationIndex=0),Pt.displayComments(),Pt.disableAllButtons(),Pt.showCommentModeIndicator(),r.simpleCommenterUserData.theme&&r.simpleCommenterUserData.theme.minimized&&(n||(sn(!1,t),r.scButton&&(r.scButton.style.display="none")))),n){Jt(Zt(e)),en(e);const n=!(!r.simpleCommenterUserData.theme||!r.simpleCommenterUserData.theme.minimized),o=t&&!n;"disabled"===e&&r.pillExpanded&&n&&!o&&on(),"disabled"!==e||n||r.pillExpanded||nn(e),"view"!==e&&"active"!==e||r.pillExpanded||nn(e)}r.mode=e,window.dispatchEvent(new CustomEvent("simpleCommenterModeChanged",{detail:{mode:e}})),Ft({mode:e}),t?"view"!==e&&"active"!==e&&Pt.stopCommentsPolling?.():"view"===e||"active"===e?(Pt.ensurePageCommentsLoaded?.({force:!1}),Pt.startCommentsPolling?.()):Pt.stopCommentsPolling?.(),t||Pt.triggerTutorialIfNeeded(e,o)}function un(e=r.simpleCommenterUserData.theme||{}){if(!r.scButton)return;const t=r.scButton.querySelector(".simple-commenter-pill-collapsed");if(!t)return;const n=e.primary||"#F7D070",o=e.text||"#222222",i=e.border||"#E1E1E1",a=e.background||"#ffffff",s=e.iconStroke||o;t.style.setProperty("background",a,"important"),t.style.setProperty("border",`1px solid ${i}`,"important"),t.style.setProperty("box-shadow","0 2px 10px rgba(0, 0, 0, 0.06), 0 0 1px rgba(0, 0, 0, 0.1)","important"),t.innerHTML="",t.appendChild(pn(n,s))}let gn={};const hn=new WeakMap;function fn(e){return hn.has(e)||hn.set(e,new Map),hn.get(e)}function bn(e){if(s(e))return function(e){let t="";function n(e){if(e.nodeType===Node.TEXT_NODE)t+=e.textContent;else if(e.dataset?.mentionId)t+=`@[${e.dataset.mentionLabel||""}](${e.dataset.mentionId})`;else if("BR"===e.tagName)t+="\n";else if("DIV"===e.tagName&&t.length>0&&!t.endsWith("\n")){t+="\n";for(const t of e.childNodes)n(t)}else for(const t of e.childNodes)n(t)}for(const t of e.childNodes)n(t);return t}(e);const t=fn(e);let n=e.value;const o=[...t.entries()].sort((e,t)=>t[0].length-e[0].length);for(const[e,t]of o){const o=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=new RegExp(`@${o}(?=\\s|$|[.,!?;:)])`,"g");n=n.replace(r,`@[${e}](${t.id})`)}return n}const wn=/@\[([^\]]*)\]\(([^)]+)\)/g;function yn(e){if(!e)return[];const t=[];let n;const o=new RegExp(wn.source,"g");for(;null!==(n=o.exec(e));)t.push({id:n[2],displayLabel:n[1]});return t}function xn(e){return e?e.replace(/@\[([^\]]*)\]\([^)]+\)/g,'@$1'):e}function vn(e){return e?e.replace(/&/g,"&").replace(//g,">"):""}function Cn(e){return e?e.replace(/&/g,"&").replace(/"/g,""").replace(//g,">"):""}let kn=null,En=null,Sn=0,Ln=[],Dn=-1;function An(){return!!kn}function Tn(e="unknown"){kn&&(console.log(`[SC-tagging] removeDropdown called — reason: ${e}`,(new Error).stack?.split("\n").slice(1,4).join(" <- ")),kn.remove(),kn=null),En=null,Sn=0,Ln=[],Dn=-1}function Fn(e,t){if(s(t)){const n=window.getSelection();if(n.rangeCount){const o=n.getRangeAt(0).getBoundingClientRect(),r=(t.closest(".simple-commenter-comment-input-body")||t.closest(".simple-commenter-drawer-reply-area")||t.parentElement).getBoundingClientRect();return parseInt(window.getComputedStyle(t).lineHeight),e.style.position="absolute",e.style.top=o.bottom-r.top+4+"px",void(e.style.left=`${Math.max(0,o.left-r.left)}px`)}}const n=function(e,t){const n=document.createElement("div"),o=window.getComputedStyle(e),r=["fontFamily","fontSize","fontWeight","lineHeight","letterSpacing","wordSpacing","textIndent","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","boxSizing","whiteSpace","wordWrap","overflowWrap"];n.style.position="absolute",n.style.visibility="hidden",n.style.whiteSpace="pre-wrap",n.style.wordWrap="break-word",n.style.overflow="hidden",n.style.width=o.width;for(const e of r)n.style[e]=o[e];const i=e.value.substring(0,t),a=document.createTextNode(i),s=document.createElement("span");s.textContent="|",n.appendChild(a),n.appendChild(s),document.body.appendChild(n);const l=s.getBoundingClientRect(),m=n.getBoundingClientRect(),c={top:l.top-m.top+e.offsetTop-e.scrollTop,left:l.left-m.left+e.offsetLeft-e.scrollLeft};return document.body.removeChild(n),c}(t,function(e){if(!e)return 0;if(!s(e))return e.selectionStart||0;const t=window.getSelection();if(!t.rangeCount||!e.contains(t.anchorNode))return 0;const n=t.getRangeAt(0).cloneRange();return n.selectNodeContents(e),n.setEnd(t.anchorNode,t.anchorOffset),n.toString().length}(t)),o=parseInt(window.getComputedStyle(t).lineHeight)||20;e.style.position="absolute",e.style.top=`${n.top+o+4}px`,e.style.left=`${n.left}px`}function Mn(e){e.querySelectorAll(".simple-commenter-mention-item").forEach((e,t)=>{t===Sn?e.classList.add("simple-commenter-mention-item-active"):e.classList.remove("simple-commenter-mention-item-active")})}function Pn(e){if(!e)return[];const t=fn(e),n=e.value||e.innerText||"";return[...t.entries()].filter(([e])=>n.includes(`@${e}`)).map(([e,t])=>({id:t.id,label:e}))}let Bn=null,In=null;function zn(){Bn&&(Bn.remove(),Bn=null),In&&(document.removeEventListener("mousedown",In,!0),In=null)}function Nn(e,{onToggle:t,getManualIds:n,getTextMentionIds:o}){if(Bn)return void zn();if(r.taggingRequiresAuth){zn();const t=document.createElement("div");t.className="simple-commenter-mention-dropdown";const n=document.createElement("div");n.className="simple-commenter-mention-auth";const o=document.createElement("span");o.className="simple-commenter-mention-auth-message",o.textContent=a("signInToTag")||"Sign in to tag people";const i=document.createElement("button");if(i.className="simple-commenter-mention-login-btn",i.textContent=a("signIn")||"Sign in",i.addEventListener("mousedown",e=>{e.preventDefault(),e.stopPropagation(),zn(),gn.onLoginRequested&&gn.onLoginRequested()}),n.appendChild(o),n.appendChild(i),r.taggingCanRegister){const e=document.createElement("button");e.className="simple-commenter-mention-register-btn",e.textContent=a("register")||"Register",e.addEventListener("mousedown",e=>{e.preventDefault(),e.stopPropagation(),zn(),gn.onRegisterRequested&&gn.onRegisterRequested()}),n.appendChild(e)}t.appendChild(n),$n(t,e);const s=e.closest(".simple-commenter-input-body")||e.closest(".simple-commenter-reply-input-container")||e.parentElement;return s.style.position="relative",s.appendChild(t),Bn=t,In=n=>{t.contains(n.target)||n.target===e||zn()},void document.addEventListener("mousedown",In,!0)}const i=document.createElement("div");i.className="simple-commenter-mention-dropdown";const s=n(),l=o(),m=r.taggableMentionables;if(0===m.length){const e=document.createElement("div");e.className="simple-commenter-mention-empty",e.textContent=a("noMentionResults")||"No users available",i.appendChild(e)}else m.forEach(e=>{const n=s.includes(e.id),o=l.includes(e.id),r=n||o,a=document.createElement("div");a.className="simple-commenter-mention-item",r&&a.classList.add("simple-commenter-mention-item-locked");const m=document.createElement("span");m.className="simple-commenter-mention-label",m.textContent=e.label||e.displayLabel||e.name||"Unknown";const c=document.createElement("span");c.className="simple-commenter-mention-role",c.textContent=e.role||e.kind||"",a.appendChild(m),a.appendChild(c),a.addEventListener("mousedown",n=>{n.preventDefault(),n.stopPropagation(),r||(t(e.id,e.label||e.displayLabel||e.name||"Unknown",!0),zn())}),i.appendChild(a)});$n(i,e);const c=e.closest(".simple-commenter-input-body")||e.closest(".simple-commenter-reply-input-container")||e.parentElement;c.style.position="relative",c.appendChild(i),Bn=i,In=t=>{i.contains(t.target)||t.target===e||e.contains(t.target)||zn()},document.addEventListener("mousedown",In,!0)}function $n(e,t){const n=t.getBoundingClientRect(),o=(t.closest(".simple-commenter-input-body")||t.closest(".simple-commenter-reply-input-container")||t.parentElement).getBoundingClientRect();e.style.position="absolute",e.style.top=n.bottom-o.top+4+"px",e.style.right="0px",e.style.left="auto"}function Un(e,t){if(e)return e.addEventListener("input",o),e.addEventListener("keydown",i),e.addEventListener("blur",l),()=>{e.removeEventListener("input",o),e.removeEventListener("keydown",i),e.removeEventListener("blur",l),En===e&&Tn("cleanup-function")};function n(n){(function(e,t){const n=t.label||t.displayLabel||t.name||"Unknown";fn(e).set(n,t),s(e)?function(e,t,n){const o=window.getSelection();if(!o.rangeCount)return;o.getRangeAt(0);const r=o.anchorNode,i=o.anchorOffset;if(r.nodeType===Node.TEXT_NODE){const e=r.textContent.substring(0,i).lastIndexOf("@");if(e>=0){const t=document.createRange();t.setStart(r,e),t.setEnd(r,i),t.deleteContents()}}const a=document.createElement("span");a.className="simple-commenter-mention-inline",a.setAttribute("data-mention-id",t.id),a.setAttribute("data-mention-label",n),a.setAttribute("contenteditable","false"),a.textContent=`@${n}`;const s=o.getRangeAt(0);s.collapse(!0);const l=document.createTextNode(" ");s.insertNode(l),s.insertNode(a);const m=document.createRange();m.setStartAfter(l),m.collapse(!0),o.removeAllRanges(),o.addRange(m),e.focus()}(e,t,n):function(e,t){const n=e.value,o=n.substring(0,Dn),r=n.substring(e.selectionStart),i=`@${t}${r.startsWith(" ")||r.startsWith("\n")?"":" "}`;e.value=o+i+r;const a=o.length+i.length;e.selectionStart=a,e.selectionEnd=a,e.focus()}(e,n),e._scMentionInsert=!0,e.dispatchEvent(new Event("input",{bubbles:!0})),e._scMentionInsert=!1})(e,n),Tn("onSelect-mentionInserted"),t&&t(n.id)}function o(){if(!r.taggingEnabled||e._scMentionInsert)return void Tn("handleInput-disabled-or-mentionInsert");const t=function(e){if(!e)return"";if(!s(e))return(e.value||"").substring(0,e.selectionStart||0);const t=window.getSelection();if(!t.rangeCount||!e.contains(t.anchorNode))return"";let n="";const o=t.anchorNode,r=t.anchorOffset;for(const t of e.childNodes){if(t===o){n+=(t.textContent||"").substring(0,r);break}if(t.contains(o)){t.dataset?.mentionId?n+=`@${t.dataset.mentionLabel||""}`:n+=(t.textContent||"").substring(0,r);break}t.nodeType===Node.TEXT_NODE?n+=t.textContent||"":t.dataset?.mentionId?n+=`@${t.dataset.mentionLabel||""}`:n+=t.textContent||""}return n}(e),o=t.match(/(?:^|\s)@([^\s]*)$/);if(!o)return void Tn("handleInput-no-atMatch");const i=t.lastIndexOf("@");Dn=i;const l=o[1];r.taggingRequiresAuth?function(e){Tn("showAuthPopover-init");const t=e.closest(".simple-commenter-comment-input-body")||e.closest(".simple-commenter-drawer-reply-area")||e.parentElement,n=document.createElement("div");n.className="simple-commenter-mention-dropdown";const o=document.createElement("div");o.className="simple-commenter-mention-auth";const i=document.createElement("span");i.className="simple-commenter-mention-auth-message",i.textContent=a("signInToTag")||"Sign in to tag people";const s=document.createElement("button");if(s.className="simple-commenter-mention-login-btn",s.textContent=a("signIn")||"Sign in",s.addEventListener("mousedown",e=>{e.preventDefault(),e.stopPropagation(),Tn("authPopover-loginBtn-click"),gn.onLoginRequested&&gn.onLoginRequested()}),o.appendChild(i),o.appendChild(s),r.taggingCanRegister){const e=document.createElement("button");e.className="simple-commenter-mention-register-btn",e.textContent=a("register")||"Register",e.addEventListener("mousedown",e=>{e.preventDefault(),e.stopPropagation(),Tn("authPopover-registerBtn-click"),gn.onRegisterRequested&&gn.onRegisterRequested()}),o.appendChild(e)}n.appendChild(o),t.style.position="relative",Fn(n,e),t.appendChild(n),kn=n,En=e}(e):(console.log(`[SC-tagging] showMentionDropdown — query: "${l}", mentionables: ${r.taggableMentionables.length}`),function(e,t,n){const o=e.closest(".simple-commenter-comment-input-body")||e.closest(".simple-commenter-drawer-reply-area")||e.parentElement,i=(t||"").toLowerCase();if(Ln=r.taggableMentionables.filter(e=>(e.label||e.displayLabel||e.name||"").toLowerCase().includes(i)),Sn=0,!kn){const t=document.createElement("div");t.className="simple-commenter-mention-dropdown",o.style.position="relative",o.appendChild(t),kn=t,En=e}Fn(kn,e),function(e,t){if(e.innerHTML="",0===Ln.length){const t=document.createElement("div");return t.className="simple-commenter-mention-empty",t.textContent=a("noMentionResults")||"No results found",void e.appendChild(t)}Ln.forEach((n,o)=>{const r=document.createElement("div");r.className="simple-commenter-mention-item",o===Sn&&r.classList.add("simple-commenter-mention-item-active"),r.setAttribute("data-user-id",n.id);const i=document.createElement("span");i.className="simple-commenter-mention-label",i.textContent=n.label||n.displayLabel||n.name||"Unknown";const a=document.createElement("span");a.className="simple-commenter-mention-role",a.textContent=n.role||n.kind||"",r.appendChild(i),r.appendChild(a),r.addEventListener("mousedown",e=>{e.preventDefault(),e.stopPropagation(),t(n)}),r.addEventListener("mouseenter",()=>{Sn=o,Mn(e)}),e.appendChild(r)})}(kn,n)}(e,l,n))}function i(t){kn&&En===e&&("ArrowDown"===t.key?(t.preventDefault(),Ln.length>0&&(Sn=(Sn+1)%Ln.length,Mn(kn))):"ArrowUp"===t.key?(t.preventDefault(),Ln.length>0&&(Sn=(Sn-1+Ln.length)%Ln.length,Mn(kn))):"Enter"===t.key||"Tab"===t.key?Ln.length>0&&Sn{En===e&&Tn("handleBlur-200ms-timeout")},200)}}let _n={};const Rn=/^sc_[a-f0-9]+$/i;function qn(){const e=r.iframeCommenting&&r.iframeState?.domain?r.iframeState.domain:null,t=r.assetCommenting&&r.assetState?.domain?r.assetState.domain:null;return function(e){const t=(e||"").toString().trim().toLowerCase();return t&&"undefined"!==t&&"null"!==t?t:null}(e||t||r.domain)}function Hn(e="api"){const t=qn();return t?!(r.extensionMode&&!Rn.test(t)&&(T(`[${e}] Skipping request: invalid extension public key domain.`,{domain:t}),wo(),1)):(L(`[${e}] Skipping request: no configured domain for this page.`),wo(),!1)}let jn=!1,On=!1,Vn=0;function Wn(){const e=window.simpleCommenterState?.commentsStagedLoadEnabled;return null==e||!1!==e}function Yn(){return["view","active"].includes(r.mode)}function Xn(){return Wn()&&!0===r.active&&!0===r.commentsLoaded&&Yn()&&"visible"===document.visibilityState&&!!r.commentsFetchToken}function Gn({effectiveDomain:e,referrer:t,locator:n,isTrustedOrigin:o}){return{domain:e,type:"pageview",referrer:t,locator:n,paramActive:r.simpleCommenterUserData.paramActive,token:r.simpleCommenterUserData.token,userData:r.simpleCommenterUserData,assetCommenting:r.assetCommenting,assetState:r.assetState,dashboardToken:r.iframeCommenting&&o?window.simpleCommenterState?.token:null,dashboardSelectedStatuses:r.iframeCommenting&&o?r.iframeState.selectedStatuses:null}}async function Zn({effectiveDomain:e,referrer:t,locator:n,isTrustedOrigin:o}){const r=Gn({effectiveDomain:e,referrer:t,locator:n,isTrustedOrigin:o}),i=await fetch(`${I}getcomments-meta`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}),a=await i.json();return{response:i,data:a}}function Jn(e,t,n=null){const o=new Error(t||"Request failed");return o.status=e,n&&(o.details=n),o}function Kn(e,t,n){return Jn(e?.status||500,t?.message||n||"Request failed",t||null)}function Qn(e){if(!e)return!1;if(401!==e.status)return!1;const t=(e.message||"").toLowerCase();return t.includes("invalid or expired token")||t.includes("invalid token")}function eo(){jn||(jn=!0,document.addEventListener("visibilitychange",()=>{"visible"===document.visibilityState?(L("[CLOSE-DEBUG] Tab became visible, re-fetching"),bo(),Yn()&&ho({force:!1}).catch(e=>{T("[polling] visibility refresh failed:",e)})):wo()}))}let to=null;function no(){to&&clearTimeout(to),to=setTimeout(oo,50)}function oo(){if(to=null,!Hn("safeFetchData")){const e=window.location.pathname;return void(e.startsWith("/app/")&&e.includes("/files/")||_n.removeCommenterElements?.())}if(r.isCleaningUp)return L("[safeFetchData] Cleanup in progress, deferring fetch..."),void(r.pendingFetchTimeout=setTimeout(()=>{no()},100));r.pendingFetchTimeout&&(clearTimeout(r.pendingFetchTimeout),r.pendingFetchTimeout=null),r.pendingStateInterval&&(clearInterval(r.pendingStateInterval),r.pendingStateInterval=null);const{isAssetPage:e,isInternalPage:t,isIframeCommentPage:n}=Me();if(D(),r.iframeCommenting||n)return L("Iframe commenting state.mode detected"),void(r.iframeState.domain&&r.iframeState.iframe?.contentDocument?(L("Iframe state ready, fetching now..."),A(),yo()):(L("Waiting for iframe state to be ready...",{domain:r.iframeState.domain,iframeExists:!!r.iframeState.iframe,contentDocExists:!!r.iframeState.iframe?.contentDocument}),A()));e?(L("Asset page detected, checking state readiness..."),_n.isStateReady()?(L("State ready, fetching now..."),A(),yo()):(L("Waiting for asset state to be ready..."),r.pendingStateInterval=setInterval(()=>{_n.isStateReady()&&(clearInterval(r.pendingStateInterval),r.pendingStateInterval=null,L("State became ready, fetching now..."),A(),yo())},100))):t?(L("Internal page detected, removing elements"),wo(),r.isCleaningUp=!0,_n.removeCommenterElements().then(()=>{r.isCleaningUp=!1,L("Cleanup completed"),A()}).catch(e=>{r.isCleaningUp=!1,F("Cleanup error:",e),A()})):(L("Not an asset page, fetching immediately"),A(),yo())}const ro=async()=>{let e={userAgent:navigator.userAgent,screenWidth:window.screen.width,screenHeight:window.screen.height,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,scrollPosition:{x:window.scrollX,y:window.scrollY},language:navigator.language,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone};if(navigator.userAgentData)try{const t=await navigator.userAgentData.getHighEntropyValues(["architecture","model","platform","platformVersion","uaFullVersion"]);e.platform=t.platform||"Unknown OS",e.platformVersion=t.platformVersion||"Unknown",e.model=t.model||"Unknown",e.browserVersion=t.uaFullVersion||"Unknown"}catch(e){console.warn("Could not retrieve userAgentData:",e)}else e.platform="Unavailable (deprecated)";return e};function io(e,t={}){let n=!1;return r.comments=(r.comments||[]).map(o=>String(o?.id)!==String(e)?o:(n=!0,{...o,screenshot:{...o.screenshot||{},...t}})),n}function ao(e,t={}){const n=String(e),o={...r.screenshotPollHandles.get(n)||{},...t};return r.screenshotPollHandles.set(n,o),o}function so(e){const t=r.screenshotPollHandles.get(String(e));t?.timeoutId&&clearTimeout(t.timeoutId),r.screenshotPollHandles.delete(String(e))}function lo(e,{removePulseMarker:t=!1}={}){r.processingScreenshotCommentIds.delete(String(e)),so(e),t&&r.activeScreenshotPulseCommentId===String(e)&&(r.activeScreenshotPulseCommentId=null,_n.removePulse?.())}function mo(){Array.from(r.screenshotPollHandles.keys()).forEach(e=>{so(e)}),r.processingScreenshotCommentIds.clear(),r.activeScreenshotPulseCommentId=null,_n.removePulse?.()}async function co(e=null){if(!Hn("refreshMetaForPageFetch"))return!1;const t="localhost"===window.location.hostname||"simplecommenter.com"===window.location.hostname||"www.simplecommenter.com"===window.location.hostname,n=r.iframeCommenting&&r.iframeState.domain&&t?r.iframeState.domain:r.domain;let o=r.iframeCommenting?_():document.URL;!r.iframeCommenting||!t||"about:blank"!==o&&o&&"about:srcdoc"!==o||(o=`${r.iframeState.baseUrl||window.simpleCommenterState?.baseUrl||`https://${r.iframeState.domain}`}${r.iframeState.currentSlug||"/"}`);const{locator:i}=Tt(o),{response:a,data:s}=await Zn({effectiveDomain:n,referrer:o,locator:i,isTrustedOrigin:t});if(!a.ok)throw new Error(s?.message||"Failed to refresh comments metadata");if(null!==e&&e!==r.latestFetchSequence)return!1;if(r.commentsFetchToken=s.commentsFetchToken||null,r.commentsFetchTokenExp=s.commentsFetchTokenExp||null,Array.isArray(s.enabledStatuses)&&(r.enabledStatuses=s.enabledStatuses),Array.isArray(s.selectedStatuses)&&(r.selectedStatuses=s.selectedStatuses,Ft({selectedStatuses:r.selectedStatuses})),s.userData){const{theme:e,localization:t,...n}=s.userData;Ft(n)}return!0}async function po(){const e=await fetch(`${I}getcomments-page`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({commentsFetchToken:r.commentsFetchToken,selectedStatuses:r.selectedStatuses})}),t=await e.json();if(!e.ok)throw Kn(e,t,"Failed to fetch page comments");return t}async function uo({data:e,reason:t,requestSeq:n,expectedFetchSeq:o}){if(n!==r.commentsFetchSequence)return null;if(null!==o&&o!==r.latestFetchSequence)return null;if(r.addCommentInFlight&&("poll"===t||"background"===t||"poll-retry"===t))return null;const i=Array.isArray(r.comments)?r.comments:[];if(r.comments=e.comments||[],r.statusCounts=e.counts||{},r.commentsLoading=!1,r.commentsLoaded=!0,r.commentsFetchError=null,!0===e.allCommentsDeferred?r.allCommentsLoaded=!1:Array.isArray(e.allComments)&&(r.allComments=e.allComments,r.allCommentsLoaded=!0),r.filterDropdown&&r.statusCounts&&r.filterDropdown.updateCounts(r.statusCounts),r.drawerFilterDropdown&&r.statusCounts&&r.drawerFilterDropdown.updateCounts(r.statusCounts),"active"===r.mode||"view"===r.mode)if("poll"===t||"background"===t||"poll-retry"===t)try{const e="function"==typeof _n.isReplyDraftActive&&_n.isReplyDraftActive();L("[polling] applying non-destructive thread updates",{reason:t,mode:r.mode,hasDraft:e,hasCustomUpdater:"function"==typeof _n.applyPollCommentUpdates}),"function"==typeof _n.applyPollCommentUpdates?await _n.applyPollCommentUpdates({previousComments:i,nextComments:r.comments,reason:t}):await _n.displayComments(t)}catch(e){T("[polling] non-destructive update failed, falling back to guarded render:",e),await _n.displayComments(t)}else L("[CLOSE-DEBUG] fetchPageComments triggering displayComments",{reason:t,mode:r.mode}),await _n.displayComments(t);return _n.updateCommentCount(),_n.updateDrawerCommentList(),_n.notifyParentFrame("COMMENTS_LOADED",{comments:r.comments,counts:r.statusCounts,slug:window.location.pathname||"/"}),Yn()&&bo(),e}async function go({reason:e="background",expectedFetchSeq:t=null,force:n=!1,silent:o=!1}={}){if(!Hn("fetchPageComments"))return null;if(!r.commentsFetchToken)return null;if(!n&&null!==t&&t!==r.latestFetchSequence)return null;if("poll"===e){if(r.commentsPollInFlight||r.isEditingComment)return null;r.commentsPollInFlight=!0}const i=++r.commentsFetchSequence;o||(r.commentsLoading=!0,r.commentsFetchError=null);try{if(!r.commentsFetchTokenExp||r.commentsFetchTokenExp-Date.now()<=5e3){if(!1===await co(t))return null;if(!r.commentsFetchToken)throw new Error("Missing refreshed comments token")}const n=await po();return await uo({data:n,reason:e,requestSeq:i,expectedFetchSeq:t})}catch(n){if("poll"===e&&Qn(n)){const e=await async function({expectedFetchSeq:e,requestSeq:t}){if(On)return{handled:!0,data:null};On=!0;try{if(T("[polling] token rejected on getcomments-page, attempting immediate meta refresh + retry"),!1===await co(e))return{handled:!0,data:null};if(!r.commentsFetchToken)throw Jn(401,"Missing refreshed comments token");const n=await po();return{handled:!0,data:await uo({data:n,reason:"poll-retry",requestSeq:t,expectedFetchSeq:e})}}catch(e){if(!Qn(e))return{handled:!1,data:null};wo(),r.commentsFetchToken=null,r.commentsFetchTokenExp=null;const t=Date.now();return t>=Vn?(Vn=t+6e4,T("[polling] token recovery failed after refresh; triggering one rebootstrap"),no()):T("[polling] token recovery failed; rebootstrap skipped (cooldown active)"),{handled:!0,data:null}}finally{On=!1}}({expectedFetchSeq:t,requestSeq:i});if(e.handled)return e.data}if("poll"!==e&&i===r.commentsFetchSequence)try{const n=await async function(e=null){if(!Hn("fetchLegacyCommentsFallback"))return null;const t="localhost"===window.location.hostname||"simplecommenter.com"===window.location.hostname||"www.simplecommenter.com"===window.location.hostname,n=r.iframeCommenting&&r.iframeState.domain&&t?r.iframeState.domain:r.domain;let o=r.iframeCommenting?_():document.URL;!r.iframeCommenting||!t||"about:blank"!==o&&o&&"about:srcdoc"!==o||(o=`${r.iframeState.baseUrl||window.simpleCommenterState?.baseUrl||`https://${r.iframeState.domain}`}${r.iframeState.currentSlug||"/"}`);const{locator:i}=Tt(o),a=await fetch(`${I}getcomments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Gn({effectiveDomain:n,referrer:o,locator:i,isTrustedOrigin:t}))}),s=await a.json();if(!a.ok)throw new Error(s?.message||"Legacy comments fallback failed");return null!==e&&e!==r.latestFetchSequence?null:s}(t);if(n)return r.comments=n.comments||[],r.allComments=n.allComments||[],r.allCommentsCount=r.allComments.length,r.statusCounts=n.counts||{},r.allCommentsLoaded=!0,r.commentsLoading=!1,r.commentsLoaded=!0,r.commentsFetchError=null,_n.updateCommentCount(),_n.updateDrawerCommentList(),"active"!==r.mode&&"view"!==r.mode||(L("[CLOSE-DEBUG] fetchPageComments (fallback) triggering displayComments",{reason:e,mode:r.mode}),await _n.displayComments(e)),Yn()&&bo(),n}catch(e){T("[fetchPageComments] legacy fallback failed:",e)}throw i===r.commentsFetchSequence&&(r.commentsLoading=!1,r.commentsLoaded=r.commentsLoaded||r.comments.length>0,r.commentsFetchError=n?.message||"Failed to fetch page comments"),n}finally{"poll"===e&&(r.commentsPollInFlight=!1)}}async function ho({force:e=!1}={}){return r.commentsFetchToken?!e&&r.commentsLoaded?null:go({reason:"ensure",expectedFetchSeq:r.latestFetchSequence,force:e,silent:!1}):null}async function fo(){if(r.allCommentsLoaded)return null;const e=0===r.selectedStatuses.length?"all":r.selectedStatuses,t=await xo(e,!0);return t&&(r.allCommentsLoaded=!0,r.allCommentsCount=r.allComments.length,_n.updateDrawerCommentList()),t}function bo(){eo(),!r.commentsPollIntervalId&&Xn()&&(r.commentsPollIntervalId=setInterval(async()=>{if(Xn())try{await go({reason:"poll",expectedFetchSeq:r.latestFetchSequence,force:!1,silent:!0})}catch(e){T("[polling] page comments refresh failed:",e?.message||e)}else wo()},function(){const e=Number(window.simpleCommenterState?.commentsStagedPollMs);return!Number.isFinite(e)||e<1e3?15e3:e}()))}function wo(){r.commentsPollIntervalId&&(clearInterval(r.commentsPollIntervalId),r.commentsPollIntervalId=null)}const yo=async()=>{if(!Hn("fetchData"))return _n.removeCommenterElements?.(),r.screenshotCaptureConfigResolveFn?.(),r.screenshotCaptureConfigResolveFn=null,null;const n=++r.fetchSequence;r.latestFetchSequence=n;const o="localhost"===window.location.hostname||"simplecommenter.com"===window.location.hostname||"www.simplecommenter.com"===window.location.hostname,i=r.iframeCommenting&&r.iframeState.domain&&o?r.iframeState.domain:r.domain;let a=r.iframeCommenting?_():document.URL;!r.iframeCommenting||!o||"about:blank"!==a&&a&&"about:srcdoc"!==a||(a=`${r.iframeState.baseUrl||window.simpleCommenterState?.baseUrl||`https://${r.iframeState.domain}`}${r.iframeState.currentSlug||"/"}`,L("[fetchData] Fixed referrer from about:blank to:",a)),new URL(a);const s=localStorage.getItem("simpleCommenterUserData");if(s)try{Ft(JSON.parse(s))}catch(e){T("[fetchData] Failed to parse saved userData:",e)}_n.ensureBaseStyle();const l=!!document.getElementById("simple-commenter-modebox");if(!r.simpleCommenterUserData.theme||!r.initialLoad&&l||_n.applyCustomTheme(r.simpleCommenterUserData.theme),!r.simpleCommenterUserData.localization||!r.initialLoad&&l||_n.applyLocalization(r.simpleCommenterUserData.localization),r.initialLoad)try{r.adminBar=_n.hasAdminBar()}catch(e){console.error(e)}_n.checkSimpleCommenterActive(a);const{token:m,login:c,locator:p,pendingApproval:d,oauthError:u,loginSuccess:g}=Tt(a);if(r.pendingApproval)return L("[SimpleCommenter] Google OAuth pending approval"),_n.ensureBaseStyle(),_n.createClientModeSelector(),void setTimeout(()=>{_n.openDrawer("state.pendingApproval")},100);if(u)return L("[SimpleCommenter] Google OAuth error:",u),_n.ensureBaseStyle(),_n.createClientModeSelector(),void setTimeout(()=>{let e;switch(u){case"invite_only":e="Registration is currently invite-only. Please contact the site owner for access.";break;case"domain_not_found":e="This state.domain is not configured for SimpleCommenter.";break;case"account_not_found":e="No account found with this email. Please register first.";break;default:e="An error occurred during sign in. Please try again."}r.drawerErrorMessage=e,_n.openDrawer("error")},100);if(g&&!window.simpleCommenterState?.silentLogin&&(L("[SimpleCommenter] Login successful via token"),setTimeout(()=>{_n.showAlertBanner({type:"success",title:_n.localize("loginSuccess")||"Login Successful",description:_n.localize("loginSuccessDesc")||"You are now signed in."})},500)),function({token:e,login:t}){const n="localhost"===window.location.hostname||"simplecommenter.com"===window.location.hostname||"www.simplecommenter.com"===window.location.hostname;if(r.iframeCommenting&&n)return!1;if(r.simpleCommenterUserData.spam&&r.simpleCommenterUserData.spamUpdated){if((Date.now()-r.simpleCommenterUserData.spamUpdated)/1e3<60)return!0;Ft({spam:!1,spamUpdated:null})}return!1}({token:m,login:c})){if(wo(),F("fetchData aborted: Marked as spam: ",r.simpleCommenterUserData.spamReason),r.simpleCommenterUserData.spamReason&&r.simpleCommenterUserData.spamReason.includes("trial has expired"))return;const e=r.simpleCommenterUserData.login||r.simpleCommenterUserData.spamReason&&r.simpleCommenterUserData.spamReason.includes("Token required");return void(e&&(!1===r.simpleCommenterUserData.paramActiveSetting||!0===r.simpleCommenterUserData.paramActiveSetting&&!0===r.simpleCommenterUserData.paramActive)?document.getElementById("simple-commenter-modebox")||(L("[SimpleCommenter] Spam user with login=true, showing login modal"),_n.createClientModeSelector()):e||(L("[SimpleCommenter] Spam user without valid param, removing elements"),_n.removeCommenterElements()))}let h,f,b=r.iframeCommenting;if(r.iframeCommenting||(b=_n.validateDomainAndReferrer(r.domain,a)),!b)return wo(),F("fetchData aborted due to failed validation."),console.error(`Simple Commenter Validation failed: Domain "${r.domain}" does not match current page "${a}".`),void _n.removeCommenterElements();eo();let y=!1;if(Wn())try{const e=await Zn({effectiveDomain:i,referrer:a,locator:p,isTrustedOrigin:o});e.response.ok?(h=e.response,f={...e.data,comments:[],counts:e.data?.counts||{},allComments:[],allCommentsDeferred:!0},y=!0):T("[fetchData] staged meta request failed, falling back to legacy endpoint",e.data)}catch(e){T("[fetchData] staged meta request threw, falling back to legacy endpoint:",e)}if(!f)try{h=await fetch(`${I}getcomments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Gn({effectiveDomain:i,referrer:a,locator:p,isTrustedOrigin:o}))}),f=await h.json()}catch(e){return F("[fetchData] Fetch failed:",e),r.screenshotCaptureConfigResolveFn?.(),void(r.screenshotCaptureConfigResolveFn=null)}if(n!==r.latestFetchSequence)return void L("[fetchData] Ignoring stale response",{requestSeq:n,latestFetchSequence:r.latestFetchSequence});L("ResponseData: ",f),r.active=f.active,r.userMode=f.mode,r.theme=f.theme,r.localization=f.localization,r.drawing=f.drawing,r.screenshots=f.screenshots,r.extensionAutoScreenshots=!0===f.extensionAutoScreenshots,r.screenshotCaptureEnabledForAccount=!0===f.screenshotCaptureEnabledForAccount,r.effectiveScreenshotCaptureEnabled=!0===f.effectiveScreenshotCaptureEnabled,r.configuredCaptureHost="string"==typeof f.configuredCaptureHost?f.configuredCaptureHost:null,r.screenshotAuthDynamicConfig=f.screenshotAuthDynamic&&"object"==typeof f.screenshotAuthDynamic?f.screenshotAuthDynamic:null,r.screenshotCaptureConfigResolved=!0,r.screenshotCaptureConfigResolveFn?.(),r.screenshotCaptureConfigResolveFn=null,function(){const e=w();!0!==r.screenshotCaptureConfigResolved||!1!==r.effectiveScreenshotCaptureEnabled&&!1!==e.enabled&&!1!==function(e){return Boolean(!1!==e?.cookieHarvest?.enabled||!1!==e?.headerHarvest?.enabled||!1!==e?.storageHarvest?.enabled||Array.isArray(e?.storageReads)&&e.storageReads.length>0)}(e)||r.observedAuthHeaders.clear()}(),function(){if(!0===r.active&&!0===r.effectiveScreenshotCaptureEnabled){if(r.interactionTrackerAttached)return;document.addEventListener("click",De,{capture:!0,passive:!0}),Se=De,r.interactionTrackerAttached=!0,L("[interaction-tracker] attached")}else Ae()}(),r.extensionMode&&L("[Extension] extensionAutoScreenshots:",r.extensionAutoScreenshots,"raw:",f.extensionAutoScreenshots),r.uploads=f.uploads,r.commentTitle=f.commentTitle,r.metaData=f.metaData,r.tier=f.tier||"pro",r.resolveSettings=f.resolveSettings,r.elementMatchingMode=f.elementMatchingMode||"static",r.elementMatchingWeights=f.elementMatchingWeights||null,r.allComments=f.allComments||[],r.allCommentsLoaded=!0!==f.allCommentsDeferred,r.allCommentsCount=r.allCommentsLoaded?r.allComments.length:"number"==typeof f.allCommentsCount?f.allCommentsCount:0,r.statusCounts=f.counts||{},r.enabledStatuses=f.enabledStatuses||e,r.selectedStatuses=f.selectedStatuses||["todo","review"],r.commentsFetchToken=f.commentsFetchToken||null,r.commentsFetchTokenExp=f.commentsFetchTokenExp||null,r.commentsFetchError=null,f.tagging&&(r.taggingEnabled=f.tagging.enabled||!1,r.taggingRequiresAuth=f.tagging.requiresAuth||!1,r.taggingCanRegister=f.tagging.canRegister||!1,r.taggableMentionables=f.tagging.mentionables||[]),r.commentsLoading=y&&!0===f.canFetchComments&&Yn(),r.commentsLoaded=!y||!0!==f.canFetchComments;const x=f.userData;if(L("Data: ",f),h.ok){if(!0===window.simpleCommenterDisabled&&!r.extensionMode)return L("SimpleCommenter is disabled via the window.simpleCommenterDisabled flag."),wo(),void _n.removeCommenterElements();if(f.theme&&(Ft({theme:f.theme,associated:f.associated,hideCommentModeBanner:f.hideCommentModeBanner||!1}),_n.applyCustomTheme(f.theme)),f.localization&&_n.applyLocalization(f.localization),!1===f.active){if(f.loginRequired)return L("[SimpleCommenter] Login required for this file"),Ft({login:!0,clientAccessMode:f.clientAccessMode||"open",localization:f.localization,theme:f.theme}),_n.createClientModeSelector(),sn(!0,!0),void wo();if(f.alert&&console.error(f.message),f.spam&&(f.spam&&Ft({spam:f.spam,spamUpdated:Date.now(),spamReason:f.message,login:f.login,localization:f.localization,theme:f.theme}),f.paramActiveSetting&&(r.paramActiveSetting=!0,Ft({spam:f.spam,spamUpdated:Date.now(),paramActiveSetting:f.paramActiveSetting,spamReason:"Simple Commenter state.active parameter from URL missing"})),f.login)){L("[SimpleCommenter] Login required by server");const e=r.simpleCommenterUserData;r.simpleCommenterUserData=t,localStorage.removeItem("simpleCommenterUserData"),Ft({login:!0,paramActive:e.paramActive,paramActiveSetting:e.paramActiveSetting,spam:e.spam,spamUpdated:e.spamUpdated,theme:e.theme,localization:e.localization,clientAccessMode:e.clientAccessMode,clientLogin:e.clientLogin,showTutorial:e.showTutorial,userTutorialPreference:e.userTutorialPreference,tutorial:e.tutorial}),L("[SimpleCommenter] Restored userData after reset:",r.simpleCommenterUserData);let n=!1;if(L("[SimpleCommenter] Checking login modal condition:","paramActiveSetting=",r.paramActiveSetting,"state.simpleCommenterUserData.paramActive=",r.simpleCommenterUserData.paramActive),!1===r.paramActiveSetting||!0===r.paramActiveSetting&&!0===r.simpleCommenterUserData.paramActive?(L("[SimpleCommenter] ✅ Creating login modal (modebox + login container)"),_n.createClientModeSelector(),sn(!0,!0),n=!0):L("[SimpleCommenter] ❌ Login modal condition not met, skipping modal creation"),n)return L("[SimpleCommenter] Login modal shown, skipping _callbacks.removeCommenterElements()"),void wo()}if(f.message&&f.message.includes("trial has expired")&&f.showTrialBanner)return;return L("[SimpleCommenter] Removing commenter elements (no login modal shown)"),wo(),void _n.removeCommenterElements()}if(r.initialLoad&&(await _n.fetchFont(),r.isMobile=/iPhone|iPad|iPod|Android/i.test(navigator.userAgent),r.initialLoad=!1,r.emailFromUrl&&Mt()),Ft({enabledStatuses:r.enabledStatuses,selectedStatuses:r.selectedStatuses}),x){const{theme:e,localization:t,...n}=x;Ft({...n,login:!1,unauthorized:!0===n.unauthorized})}r.comments=f.comments||[],document.getElementById("simple-commenter-modebox")||_n.createClientModeSelector(),r.active=!0;const e=localStorage.getItem("simpleCommenterUserData");if(e)try{r.simpleCommenterUserData=JSON.parse(e),_n.refreshUserInner()}catch(e){console.error("Error parsing stored userData:",e)}return _n.updateCommentCount(),_n.updateDrawerCommentList(),_n.changeMode(r.simpleCommenterUserData.mode,!0),"active"!==r.mode&&"view"!==r.mode||await _n.displayComments(),_n.checkSimpleCommenterHash(),r.filterDropdown&&r.statusCounts&&r.filterDropdown.updateCounts(r.statusCounts),y&&(!0===f.canFetchComments?go({reason:"background",expectedFetchSeq:n,force:!0,silent:!1}).then(()=>{window.location.hash.startsWith("#simple-comment=")&&_n.checkSimpleCommenterHash()}).catch(e=>{T("[fetchData] staged page fetch failed:",e?.message||e),_n.updateDrawerCommentList()}):r.commentsLoading=!1,async function({force:e=!1}={}){if(r.allCommentsLoaded)return r.allCommentsCount=(r.allComments||[]).length,null;if(!e&&r.allCommentsCount>0)return null;const t=0===r.selectedStatuses.length?"all":r.selectedStatuses,n=await xo(t,!0,{countsOnly:!0});return n&&"number"==typeof n.allCommentsCount&&(r.allCommentsCount=n.allCommentsCount),n}({force:0===r.allCommentsCount}).catch(e=>{T("[fetchData] staged all-comments count prefetch failed:",e?.message||e)})),Yn()?bo():wo(),_n.notifyParentFrame("COMMENTS_LOADED",{comments:r.comments,counts:r.statusCounts,slug:window.location.pathname||"/"}),f}A()},xo=async(t=null,n=!1,o={})=>{if(!Hn("fetchCommentsByStatus"))return null;const{countsOnly:i=!1}=o,{token:a,locator:s}=Tt(document.URL),l=t||e,m=await fetch(`${I}getcommentsbystatus`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({domain:r.domain,referrer:document.URL,statusFilter:l,includeArchived:!1,includeCounts:n,countsOnly:i,token:a,paramActive:r.simpleCommenterUserData.paramActive,locator:s,assetCommenting:r.assetCommenting,assetState:r.assetState,userData:r.simpleCommenterUserData})}),c=await m.json();if(m.ok)return i?(r.statusCounts=c.counts||r.statusCounts,"number"==typeof c.allCommentsCount&&(r.allCommentsCount=c.allCommentsCount),_n.updateCommentCount(),_n.updateDrawerCommentList(),c):(r.comments=c.comments||[],r.allComments=c.allComments||[],r.allCommentsCount=r.allComments.length,r.statusCounts=c.counts||r.statusCounts,r.allCommentsLoaded=!0,r.commentsLoading=!1,r.commentsLoaded=!0,r.commentsFetchError=null,L("✅ Updated state.comments and state.allComments from fetchCommentsByStatus",{commentsCount:r.comments.length,allCommentsCount:r.allComments.length}),await _n.displayComments(),_n.updateCommentCount(),_n.updateDrawerCommentList(),r.filterDropdown&&r.filterDropdown.updateCheckboxes&&r.filterDropdown.updateCheckboxes(),L("data from fetchCommentsByStatus: ",c),Yn()&&bo(),c);console.error(c.message)},vo=async e=>{if(!Hn("deleteComment"))return null;const{locator:t}=Tt(document?.URL),n=await fetch(`${I}deletecomment`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({domain:r.domain,referrer:document.URL,commentId:e,locator:t,token:r.simpleCommenterUserData.token,assetCommenting:r.assetCommenting,assetState:r.assetState})}),o=await n.json();if(n.ok)return!1===o.active?void(o.alert&&(console.error(o.message),_n.showAlertBanner({description:o.message}))):(r.comments=o,await _n.displayComments(),_n.updateCommentCount(),_n.updateDrawerCommentList(),o);console.error(o.message)},Co=async(e,t,n,o)=>{if(!Hn("editComment"))return null;const{locator:i}=Tt(document?.URL),a=await fetch(`${I}editcomment`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({domain:r.domain,referrer:document.URL,commentId:e,title:t,text:n,mentionUserIds:o,locator:i,token:r.simpleCommenterUserData.token,assetCommenting:r.assetCommenting,assetState:r.assetState})}),s=await a.json();if(a.ok)return!1===s.active?void(s.alert&&(console.error(s.message),_n.showAlertBanner({description:s.message}))):(r.comments=s,await _n.displayComments(),_n.updateCommentCount(),_n.updateDrawerCommentList(),s);console.error(s.message)},ko=async(e,{newStatus:t,newPriority:n,elementXPath:o,relativePosition:i,elementFingerprint:a}={})=>{if(!Hn("updateCommentStatus"))return null;const{locator:s}=Tt(document?.URL),l=await fetch(`${I}updatecommentstatus`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({domain:r.domain,referrer:document.URL,commentId:e,status:t,priority:n,elementXPath:o,relativePosition:i,elementFingerprint:a,locator:s,token:r.simpleCommenterUserData.token,assetCommenting:r.assetCommenting,assetState:r.assetState,userData:r.simpleCommenterUserData})}),m=await l.json();if(l.ok){if(!1===m.active)return void(m.alert&&(console.error(m.message),_n.showAlertBanner({description:m.message})));L("Comment status/priority updated successfully",m),r.comments=m.comments,r.statusCounts=m.counts,r.simpleCommenterUserData;let o=!1;if(t&&!r.selectedStatuses.includes(t)&&(o=!0,L("🗑️ Comment status not in filter, will close:",{commentId:e,newStatus:t,selectedStatuses:r.selectedStatuses})),L("Attempting to update state.allComments array...",{allCommentsExists:!!r.allComments,allCommentsLength:r.allComments?.length,commentId:e,newStatus:t,newPriority:n,selectedStatuses:r.selectedStatuses}),r.allComments&&r.allComments.length>0){const o=r.allComments.findIndex(t=>t.id===e);if(L("Finding comment in state.allComments:",{commentIndex:o,found:-1!==o,totalComments:r.allComments.length}),-1!==o){if(n&&(r.allComments[o].priority=n,L("✅ Updated comment priority in state.allComments array:",{commentId:e,newPriority:n,commentIndex:o})),t){const n=r.allComments[o].status;r.selectedStatuses.includes(t)?(r.allComments[o].status=t,L("✅ Updated comment status in state.allComments array:",{commentId:e,oldStatus:n,newStatus:t,commentIndex:o})):(r.allComments.splice(o,1),L("🗑️ Removed comment from state.allComments (status not in filter):",{commentId:e,oldStatus:n,newStatus:t,selectedStatuses:r.selectedStatuses,removedFromIndex:o,newAllCommentsLength:r.allComments.length}))}}else L("⚠️ Comment not found in state.allComments array:",e)}else L("⚠️ state.allComments array is empty or undefined");r.filterDropdown&&r.statusCounts&&r.filterDropdown.updateCounts(r.statusCounts);const i=new Set;if(document.querySelectorAll('.simple-commenter-comment-box[style*="visible"]').forEach(e=>{const t=e.getAttribute("data-id");t&&i.add(t)}),o){L("[CLOSE-DEBUG] updateCommentStatus: status not in filter, removing",{commentId:e,newStatus:t,selectedStatuses:r.selectedStatuses}),i.delete(e);const n=document.querySelector(`.simple-commenter-comment-box[data-id="${e}"]`);n&&n.remove();const o=document.querySelector(`.simple-commenter-marker[data-id="${e}"]`);o&&o.remove(),document.querySelectorAll(".simple-commenter-comment-marker, .simple-commenter-comment-box").forEach(e=>{const t=e.getAttribute("data-id");i.has(t)||e.remove()});for(const e of r.comments){const t=i.has(e.id);await _n.displaySingleComment(e,null,t)}}else{document.querySelectorAll(".simple-commenter-comment-marker, .simple-commenter-comment-box").forEach(e=>{const t=e.getAttribute("data-id");i.has(t)||e.remove()});for(const e of r.comments){const t=i.has(e.id);await _n.displaySingleComment(e,null,t)}}return _n.updateCommentCount(),_n.updateDrawerCommentList(),window.dispatchEvent(new CustomEvent("simpleCommenterStatusUpdated",{detail:{comments:m.comments,counts:m.counts,commentId:e,newStatus:t,newPriority:n}})),m}console.error(m.message)};let Eo={},So={},Lo={};function Do(e="comments",t={}){const{isInternalPage:n}=Me();if(n||r.hideModal)L("[openDrawer] Blocked on internal page");else{if(r.sidebarDisabled)return L("[openDrawer] state.sidebarDisabled=true, emitting event for React"),void window.dispatchEvent(new CustomEvent("simpleCommenterDrawerRequest",{detail:{page:e,options:t}}));!function(){if(r.hideModal)return void L("[initDrawer] Blocked - state.hideModal is true");if(r.drawerElements.backdrop)return;const e=document.createElement("div");e.className="simple-commenter-drawer-backdrop",e.addEventListener("click",Ao),document.body.appendChild(e),r.drawerElements.backdrop=e;const t=document.createElement("div");t.className="simple-commenter-drawer",t.innerHTML='\n
\n
\n
\n

Comments

\n
\n \n
\n
\n \n \n \n \n
\n
\n
\n ',document.body.appendChild(t),r.drawerElements.drawer=t,r.drawerElements.content=t.querySelector(".simple-commenter-drawer-content"),t.querySelector(".simple-commenter-drawer-close").addEventListener("click",Ao),t.querySelectorAll(".simple-commenter-drawer-tab-btn").forEach(e=>{e.addEventListener("click",t=>{const n=e.dataset.tab;"comments"===n?To("comments"):"user"===n?r.simpleCommenterUserData.email||r.simpleCommenterUserData.token?To("user"):(r.drawerLoginMethod="magic",r.drawerShowRegister=!1,To("login")):"settings"===n?To("settings"):"help"===n&&(Ao(),setTimeout(()=>{Eo.openPopup("tutorial")},300))})}),document.addEventListener("keydown",e=>{"Escape"===e.key&&r.drawerOpen&&Ao()})}(),r.drawerOpen=!0,r.simpleCommenterUserData.login||r.simpleCommenterUserData.email||"login"===e||"checkEmail"===e||"verified"===e||"error"===e||"pendingApproval"===e||"comments"===e||"allComments"===e||"comment"===e||"settings"===e?r.drawerPage=e:(r.drawerPage="login",r.drawerLoginMethod="magic",r.drawerShowRegister=!1),t.commentId&&(r.drawerCommentId=t.commentId),t.loginState&&(r.drawerLoginState=t.loginState),"login"===e&&(r.drawerLoginMethod=t.loginMethod||"magic",r.drawerShowRegister=!0===t.showRegister),document.body.style.overflow="hidden",Fo(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{r.drawerElements.backdrop.classList.add("open"),r.drawerElements.drawer.classList.add("open")})})}}function Ao(){r.drawerOpen&&(r.drawerOpen=!1,r.drawerElements.backdrop.classList.remove("open"),r.drawerElements.drawer.classList.remove("open"),document.body.style.overflow="",setTimeout(()=>{r.drawerPage="comments",r.drawerCommentId=null,r.drawerLoginState="form"},300))}function To(e,t={}){r.drawerPage=e,t.commentId&&(r.drawerCommentId=t.commentId),t.loginState&&(r.drawerLoginState=t.loginState),t.message&&(r.drawerErrorMessage=t.message),"allComments"!==e||r.allCommentsLoaded||Eo.ensureAllCommentsLoaded?.().catch(e=>{T("[drawer] failed to lazy-load all comments:",e)}),"comments"!==e||r.commentsLoaded||Eo.ensurePageCommentsLoaded?.({force:!1}).catch(e=>{T("[drawer] failed to ensure page comments:",e)}),Fo()}function Fo(){if(!r.drawerElements.drawer||!r.drawerElements.content)return;const e=r.drawerElements.content;e._commentsFingerprint&&"comments"!==r.drawerPage&&"allComments"!==r.drawerPage&&delete e._commentsFingerprint;const t=r.drawerElements.drawer.querySelector(".simple-commenter-drawer-title"),n=r.drawerElements.drawer.querySelector(".simple-commenter-drawer-tabs-nav");switch(n&&(r.simpleCommenterUserData.login?n.style.setProperty("display","none","important"):n.style.setProperty("display","flex","important")),r.drawerPage){case"comments":t&&(t.textContent=Eo.localize("comments")),r.commentsLoaded||Eo.ensurePageCommentsLoaded?.({force:!1}).catch(e=>{T("[drawer] comments preload failed:",e)}),$o(e,r.comments);break;case"allComments":t&&(t.textContent=Eo.localize("comments")),r.allCommentsLoaded||Eo.ensureAllCommentsLoaded?.().catch(e=>{T("[drawer] all comments preload failed:",e)}),$o(e,r.allComments);break;case"comment":r.drawerDetailComment?(t&&(t.textContent=`#${r.drawerDetailComment.commentNumber||"?"}`),function(e){if(!r.drawerDetailComment)return void To(r.drawerPreviousPage||"comments");e.innerHTML="";const t=document.createElement("div");t.style.cssText="display: flex; align-items: center; gap: 8px; padding: 12px; border-bottom: 1px solid #E5E7EB;";const n=document.createElement("button");n.type="button",n.style.cssText="display: flex; align-items: center; gap: 6px; padding: 6px 12px; background: #F3F4F6; border: none; border-radius: 6px; cursor: pointer; font-size: 13px; font-weight: 500; color: #374151; font-family: 'Poppins', sans-serif; transition: background 0.15s;",n.innerHTML=`\n \n \n \n ${Eo.localize("back")}\n `,n.addEventListener("mouseenter",()=>{n.style.background="#E5E7EB"}),n.addEventListener("mouseleave",()=>{n.style.background="#F3F4F6"}),n.addEventListener("click",()=>{r.drawerDetailComment=null,To(r.drawerPreviousPage||"comments")});const o=document.createElement("span");o.style.cssText="font-size: 14px; font-weight: 600; color: #111827;",o.textContent=`#${r.drawerDetailComment.commentNumber||"?"}`,t.appendChild(n),t.appendChild(o),e.appendChild(t);const i=document.createElement("div");i.style.cssText="padding: 16px; overflow-y: auto; flex: 1;";const a=function(e,t=!1){const n=e.id||e._id,o=e.userData||{},i=o.name&&o.name.trim()?o.name.trim():o.role&&["client","team","user"].includes(o.role)&&Eo.localize(o.role)?Eo.localize(o.role):Eo.localize("anonymous"),a=Eo.timeAgo(e.date),s=e.text||"",l=e.title||"",m=document.createElement("div");m.className="simple-commenter-drawer-comment-item",m.dataset.commentId=n;const c=document.createElement("div");c.style.cssText="display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px;";const p=document.createElement("div");p.style.cssText="display: flex; align-items: center; gap: 8px;";const d=document.createElement("div");d.style.cssText="display: flex; align-items: center; gap: 8px;";const u=document.createElement("span");u.style.cssText="font-size: 11px; font-weight: 600; color: #6B7280; background: #F3F4F6; padding: 2px 6px; border-radius: 4px;",u.textContent=`#${e.commentNumber||"?"}`,p.appendChild(u);const g=Eo.createPriorityDropdown({currentPriority:e.priority||"normal",onChange:async e=>{try{await Eo.updateCommentStatus(n,{newPriority:e})}catch(e){F("Error updating comment priority:",e)}}});p.appendChild(g.element),c.appendChild(p),c.appendChild(d),m.appendChild(c);const h=document.createElement("div");if(h.style.cssText="margin-bottom: 12px;",l.trim()){const e=document.createElement("p");e.className="simple-commenter-title simple-commenter-title-bold",e.textContent=l,e.style.cssText="margin: 0 0 4px 0; white-space: pre-wrap;",h.appendChild(e)}if(s.trim()){const e=document.createElement("p");e.className=l.trim()?"simple-commenter-title simple-commenter-text":"simple-commenter-title simple-commenter-title-bold";let t=Eo.decodeHTMLEntities(s);t=Eo.decodeHTMLEntities(t),e.innerHTML=xn(t),e.style.cssText="margin: 0; white-space: pre-wrap;",h.appendChild(e)}const f=document.createElement("div");f.className="simple-commenter-attribution-row";const b=document.createElement("span");if(b.className="simple-commenter-attribution",b.textContent=`— ${i}`,r.metaData&&e.metadata){const t=Io(e.metadata,!1,e);f.appendChild(t.querySelector(".simple-commenter-disclosure-btn")),f.appendChild(b),h.appendChild(f),h.appendChild(t.querySelector(".simple-commenter-disclosure-panel"))}else f.appendChild(b),h.appendChild(f);if(e.attachedUsers&&e.attachedUsers.length>0){const t=document.createElement("div");t.className="simple-commenter-attached-badges",t.style.display="flex",e.attachedUsers.forEach(e=>{const n=document.createElement("span");n.className="simple-commenter-attached-badge",n.textContent=`@${e.name||e.displayLabel||"User"}`,t.appendChild(n)}),h.appendChild(t)}if(m.appendChild(h),e.screenshot){const t=Eo.createScreenshotButton({screenshot:e.screenshot});t&&(t.style.marginBottom="12px",m.appendChild(t))}if(e.attachments&&e.attachments.length>0){const t=document.createElement("div");t.className="simple-commenter-files-wrapper",t.style.marginBottom="12px",e.attachments.forEach((e,n)=>{const o=nt({file:e,asLink:!0});t.appendChild(o)}),m.appendChild(t)}if(e.replies&&e.replies.length>0){const t=document.createElement("div");t.style.cssText="font-size: 13px; font-weight: 600; color: #374151; margin-bottom: 8px;",t.textContent=`${e.replies.length} ${1===e.replies.length?Eo.localize("reply"):Eo.localize("replies")}`,m.appendChild(t);const n=document.createElement("div");n.className="simple-commenter-replies-wrapper",n.style.marginBottom="12px",e.replies.forEach(e=>{const t=Eo.createReplyItem(e);n.appendChild(t)}),m.appendChild(n)}const w=No(n);m.appendChild(w);const y=document.createElement("div");y.style.cssText="display: flex; align-items: center; justify-content: space-between; margin-top: 12px; padding-top: 12px; border-top: 1px solid rgb(229, 231, 235, 0.5);";const x=document.createElement("span");x.className="simple-commenter-comment-date-large",x.style.cssText="font-size: 12px; color: #9CA3AF;",x.textContent=a,y.appendChild(x);const v=Eo.createStatusDropdown({currentStatus:e.status,dataId:n,onChange:async(e,t)=>{e.stopPropagation();try{await Eo.updateCommentStatus(n,{newStatus:t})}catch(e){F("Error updating comment status:",e)}}});y.appendChild(v.element);const C=Bo({icon:'\n \n \n ',text:Eo.localize("view"),title:Eo.localize("viewComment"),onClick:o=>{if(o.stopPropagation(),Ao(),"view"!==r.mode&&dn("view"),t){let t;return t=e.locator?`${e.locator.slugValue}?${e.locator.key}=${e.locator.value}`:e.slug,void(window.location.href=`${t}#simple-comment=${n}`)}if(r.assetCommenting&&e.assetState&&e.assetState.pageNumber!==r.assetState.pageNumber)return"function"==typeof window.simpleCommenterSetPageNumber&&window.simpleCommenterSetPageNumber(e.assetState.pageNumber),void setTimeout(()=>{Eo.displaySingleComment(e,null,!0)},300);const i=document.querySelector(`.simple-commenter-comment-marker[data-id="${n}"]`);i?.scrollIntoView({behavior:"smooth",block:"center"});const a=document.querySelector(`.simple-commenter-comment-box[data-id="${n}"]`);a?Eo.showCommentBoxPanel(a,!0):Eo.displaySingleComment(e,null,!0)}});return y.appendChild(C),m.appendChild(y),m}(r.drawerDetailComment,r.drawerDetailIsExternal);i.appendChild(a),e.appendChild(i)}(e)):(t&&(t.textContent=`Comment #${r.drawerCommentId}`),function(e){const t=[...r.comments,...r.allComments].find(e=>(e.id||e._id)===r.drawerCommentId);if(!t)return void(e.innerHTML='\n
\n

Comment not found

\n
\n ');const n=t.date?new Date(t.date).toLocaleString():"",o=t.userData?.name||"Anonymous",i=document.createElement("div");i.style.cssText="padding: 16px 20px;";const a=document.createElement("button");a.className="simple-commenter-drawer-back",a.setAttribute("aria-label","Back to comments"),a.innerHTML='\n \n \n \n Back to comments\n ',a.style.cssText="display: flex; align-items: center; gap: 4px; margin-bottom: 16px; padding: 0; background: none; border: none; color: #6B7280; cursor: pointer; font-family: inherit;",a.addEventListener("click",()=>{"comment"===r.drawerPage?(r.drawerPage="comments",r.drawerCommentId=null,Fo()):["checkEmail","verified","error"].includes(r.drawerPage)&&(r.drawerPage="login",r.drawerLoginState="form",Fo())}),i.appendChild(a);const s=document.createElement("div");s.style.cssText="display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px;";const l=Eo.createStatusDropdown({currentStatus:t.status,dataId:t.id||t._id,onChange:async(e,n)=>{e.stopPropagation();try{await Eo.updateCommentStatus(t.id||t._id,{newStatus:n}),Fo()}catch(e){F("Error updating comment status:",e)}}}),m=document.createElement("span");if(m.style.cssText="font-size: 12px; color: #9CA3AF;",m.textContent=n,s.appendChild(l.element),s.appendChild(m),i.appendChild(s),t.title){const e=document.createElement("h3");e.style.cssText="font-size: 16px; font-weight: 600; color: #111827; margin: 0 0 8px 0;",e.textContent=t.title,i.appendChild(e)}const c=document.createElement("p");c.style.cssText="font-size: 14px; color: #374151; line-height: 1.6; margin: 0 0 16px 0;",c.innerHTML=xn(t.text||""),i.appendChild(c);const p=document.createElement("div");if(p.style.cssText="font-size: 12px; color: #6B7280;",p.textContent=`By ${o}`,i.appendChild(p),t.replies&&t.replies.length>0){const e=document.createElement("div");e.style.cssText="margin-top: 20px; padding-top: 16px; border-top: 1px solid #E5E7EB;";const n=document.createElement("h4");n.style.cssText="font-size: 13px; font-weight: 600; color: #374151; margin: 0 0 12px 0;",n.textContent=`Replies (${t.replies.length})`,e.appendChild(n),t.replies.forEach(t=>{const n=document.createElement("div");n.style.cssText="padding: 12px; background: #F9FAFB; border-radius: 8px; margin-bottom: 8px;";const o=document.createElement("p");o.style.cssText="font-size: 13px; color: #374151; margin: 0 0 4px 0;",o.innerHTML=xn(t.text||""),n.appendChild(o);const r=document.createElement("span");r.style.cssText="font-size: 11px; color: #9CA3AF;",r.textContent=t.userData?.name||"Anonymous",n.appendChild(r),e.appendChild(n)}),i.appendChild(e)}e.innerHTML="",e.appendChild(i)}(e));break;case"login":t&&(t.textContent=r.drawerShowRegister?Eo.localize("register"):Eo.localize("signIn")),_o(e);break;case"checkEmail":t&&(t.textContent=r.drawerShowRegister?Eo.localize("register"):Eo.localize("signIn")),Ro(e,"info",Eo.localize("checkEmailTitle"),Eo.localize("checkEmailDesc"));break;case"verified":t&&(t.textContent=Eo.localize("verified")),Ro(e,"success",Eo.localize("verifiedTitle"),Eo.localize("verifiedDesc"));break;case"pendingApproval":t&&(t.textContent=Eo.localize("pendingApproval")||"Pending Approval"),Ro(e,"info",Eo.localize("pendingApprovalTitle")||"Registration Submitted",Eo.localize("pendingApprovalDesc")||"Your registration is pending approval. You will receive an email once approved.");break;case"error":t&&(t.textContent=Eo.localize("error")),Ro(e,"error",Eo.localize("errorTitle"),r.drawerErrorMessage||Eo.localize("errorDesc")),r.drawerErrorMessage=null;break;case"user":t&&(t.textContent=Eo.localize("userNameTitle")),qo(e);break;case"settings":t&&(t.textContent=Eo.localize("settings")),function(e){e.innerHTML="";const t=document.createElement("div");t.className="simple-commenter-settings-list";const n=void 0!==r.simpleCommenterUserData.userHideBannerPreference?r.simpleCommenterUserData.userHideBannerPreference:!0===r.simpleCommenterUserData.hideCommentModeBanner,o=Po({id:"hideCommentModeBanner",label:Eo.localize("settingHideBannerLabel"),description:Eo.localize("settingHideBannerDesc"),checked:n,onChange:e=>{Ft({userHideBannerPreference:e})}});t.appendChild(o);const i=void 0!==r.simpleCommenterUserData.userTutorialPreference?r.simpleCommenterUserData.userTutorialPreference:!1!==r.simpleCommenterUserData.tutorial,a=Po({id:"tutorial",label:Eo.localize("settingTutorialLabel"),description:Eo.localize("settingTutorialDesc"),checked:i,onChange:e=>{Ft({userTutorialPreference:e})}});t.appendChild(a),e.appendChild(t)}(e);break;default:e.innerHTML=""}if(window.SIMPLE_COMMENTER_DEBUG){let t=r.drawerElements.drawer.querySelector(".simple-commenter-debug-page-indicator");t||(t=document.createElement("div"),t.className="simple-commenter-debug-page-indicator",t.style.cssText="\n position: absolute !important;\n bottom: 8px !important;\n left: 8px !important;\n padding: 4px 8px !important;\n background: #3B82F6 !important;\n color: white !important;\n font-family: monospace !important;\n font-size: 10px !important;\n font-weight: bold !important;\n border-radius: 4px !important;\n z-index: 10000 !important;\n pointer-events: none !important;\n ",r.drawerElements.drawer.appendChild(t)),t.textContent=`📍 Page: ${r.drawerPage}`;let n=e.querySelector(".simple-commenter-debug-drawer-switcher");n&&n.remove(),n=Mo(r.drawerPage),e.appendChild(n)}r.drawerElements.drawer&&r.drawerElements.drawer.querySelectorAll(".simple-commenter-drawer-tab-btn").forEach(e=>{const t=e.dataset.tab,n="comments"===t&&["comments","allComments","comment"].includes(r.drawerPage)||"user"===t&&["user","login","checkEmail","verified","error"].includes(r.drawerPage)||"settings"===t&&"settings"===r.drawerPage;e.classList.toggle("active",n)})}function Mo(e){const t=document.createElement("div");t.className="simple-commenter-debug-drawer-switcher",t.style.cssText="\n padding: 10px !important;\n margin: 16px !important;\n background: #FEF3C7 !important;\n border: 2px dashed #F59E0B !important;\n border-radius: 6px !important;\n font-family: monospace !important;\n font-size: 11px !important;\n ";const n=document.createElement("div");n.textContent="🐛 Debug: Switch Drawer Page",n.style.cssText="margin-bottom: 8px; color: #92400E; font-weight: bold;",t.appendChild(n);const o=document.createElement("div");return o.style.cssText="display: flex; gap: 4px; flex-wrap: wrap;",[{id:"comments",label:"Comments"},{id:"allComments",label:"All Comments"},{id:"login",label:"Login (Magic)"},{id:"loginPassword",label:"Login (Password)"},{id:"register",label:"Register (Magic)"},{id:"registerPassword",label:"Register (Password)"},{id:"user",label:"User"},{id:"checkEmail",label:"Check Email"},{id:"verified",label:"Verified"},{id:"pendingApproval",label:"Pending Approval"},{id:"error",label:"Error"},{id:"settings",label:"Settings"}].forEach(t=>{const n=document.createElement("button");n.textContent=t.label;const i="login"===t.id&&"login"===e&&!r.drawerShowRegister&&"magic"===r.drawerLoginMethod,a="loginPassword"===t.id&&"login"===e&&!r.drawerShowRegister&&"password"===r.drawerLoginMethod,s="register"===t.id&&"login"===e&&r.drawerShowRegister&&"magic"===r.drawerLoginMethod,l="registerPassword"===t.id&&"login"===e&&r.drawerShowRegister&&"password"===r.drawerLoginMethod,m=!["login","loginPassword","register","registerPassword"].includes(t.id)&&e===t.id,c=i||a||s||l||m;n.style.cssText=`\n padding: 4px 8px !important;\n font-size: 10px !important;\n font-family: monospace !important;\n border: 1px solid #D97706 !important;\n border-radius: 3px !important;\n cursor: pointer !important;\n background: ${c?"#FCD34D":"#FEF3C7"} !important;\n color: #78350F !important;\n min-height: auto !important;\n line-height: 1.2 !important;\n `,n.addEventListener("click",()=>{console.log("🐛 Debug: Navigating to drawer page:",t.id),"login"===t.id?(Ft({email:"",verified:!1}),r.drawerShowRegister=!1,r.drawerLoginMethod="magic",To("login")):"loginPassword"===t.id?(Ft({email:"",verified:!1}),r.drawerShowRegister=!1,r.drawerLoginMethod="password",To("login")):"register"===t.id?(Ft({email:"",verified:!1}),r.drawerShowRegister=!0,r.drawerLoginMethod="magic",To("login")):"registerPassword"===t.id?(Ft({email:"",verified:!1}),r.drawerShowRegister=!0,r.drawerLoginMethod="password",To("login")):"user"===t.id?(Ft({email:"test@example.com",verified:!0,name:"Test User",needsName:!1,checkEmail:!1,unauthorized:!1}),To(t.id)):To(t.id)}),o.appendChild(n)}),t.appendChild(o),t}function Po({id:e,label:t,description:n,checked:o,onChange:r}){const i=document.createElement("div");i.className="simple-commenter-settings-item";const a=document.createElement("div");a.className="simple-commenter-settings-info";const s=document.createElement("p");s.className="simple-commenter-settings-label",s.textContent=t;const l=document.createElement("p");l.className="simple-commenter-settings-description",l.textContent=n,a.appendChild(s),a.appendChild(l);const m=document.createElement("label");m.className="simple-commenter-toggle";const c=document.createElement("input");c.type="checkbox",c.id=`setting-${e}`,c.checked=o,c.addEventListener("change",e=>{r(e.target.checked)});const p=document.createElement("span");return p.className="simple-commenter-toggle-slider",m.appendChild(c),m.appendChild(p),i.appendChild(a),i.appendChild(m),i}function Bo({icon:e,title:t,text:n,onClick:o,size:r=28}){const i=document.createElement("button");if(i.type="button",i.title=t,n){i.className="simple-commenter-button",i.style.cssText="display: inline-flex !important; align-items: center !important; gap: 4px !important;";const t=document.createElement("span");t.style.cssText="display: flex; align-items: center; width: 16px; height: 16px;",t.innerHTML=e;const o=t.querySelector("svg");o&&(o.setAttribute("class",""),o.style.width="16px",o.style.height="16px");const r=document.createElement("span");r.textContent=n,i.appendChild(t),i.appendChild(r)}else i.style.cssText=`display: flex; align-items: center; justify-content: center; width: ${r}px; height: ${r}px; background: #F7F7F7; border: none; border-radius: 6px; cursor: pointer; color: #6B7280; transition: background 0.15s;`,i.innerHTML=e,i.addEventListener("mouseenter",()=>{i.style.background="#E1E1E1"}),i.addEventListener("mouseleave",()=>{i.style.background="#F7F7F7"});return i.addEventListener("click",o),i}function Io(e,t=!1,n=null){const o=document.createElement("div");o.className="simple-commenter-metadata-disclosure-wrapper";const r=document.createElement("button");r.className="simple-commenter-disclosure-btn",r.setAttribute("aria-expanded",t?"true":"false"),t&&r.classList.add("simple-commenter-disclosure-open"),r.innerHTML=`\n ${Eo.localize("technicalInfo")}\n \n \n \n `;const i=document.createElement("div");i.className="simple-commenter-disclosure-panel",i.style.cssText=`\n overflow: hidden;\n max-height: ${t?"500px":"0"};\n opacity: ${t?"1":"0"};\n transition: max-height 0.3s ease-out, opacity 0.2s ease-out;\n `;const a=document.createElement("div");a.className="simple-commenter-meta-table",a.style.paddingTop="8px";const s=(e,t)=>{if(!t)return;const n=document.createElement("div");n.className="simple-commenter-meta-row",n.innerHTML=`\n ${e}\n ${t}\n `,a.appendChild(n)};return s("Platform",e.platform),s("OS Version",e.platformVersion),s("Browser",(e.userAgent?.includes("Chrome")?"Chrome":e.userAgent?.includes("Firefox")?"Firefox":e.userAgent?.includes("Safari")?"Safari":"Browser")+(e.browserVersion?` ${e.browserVersion}`:"")),e.screenWidth&&e.screenHeight&&s("Screen",`${e.screenWidth} × ${e.screenHeight}px`),e.viewportWidth&&e.viewportHeight&&s("Viewport",`${e.viewportWidth} × ${e.viewportHeight}px`),s("Language",e.language),s("Timezone",e.timeZone),n&&s("Page",n.locator?`${n.locator.slugValue}?${n.locator.key}=${n.locator.value}`:n.slug),i.appendChild(a),r.addEventListener("click",e=>{e.stopPropagation(),"0px"!==i.style.maxHeight?(i.style.maxHeight="0",i.style.opacity="0",r.setAttribute("aria-expanded","false"),r.classList.remove("simple-commenter-disclosure-open")):(i.style.maxHeight=a.scrollHeight+20+"px",i.style.opacity="1",r.setAttribute("aria-expanded","true"),r.classList.add("simple-commenter-disclosure-open"))}),o.appendChild(r),o.appendChild(i),o}function zo(e,t=!1){r.drawerDetailComment=e,r.drawerDetailIsExternal=t,r.drawerPreviousPage=r.drawerPage,r.drawerPage="comment",Fo()}function No(e){const t=document.createElement("div");t.className="simple-commenter-reply-input-row simple-commenter-dropzone";const n=document.createElement("div");n.className="simple-commenter-reply-input-container";const o=document.createElement("div");o.className="simple-commenter-reply-top-row",o.style.cssText="display: flex; flex-direction: row; align-items: center; gap: 4px; width: 100%;";const i=document.createElement("div");i.setAttribute("contenteditable","true"),i.className="simple-commenter-reply-textarea-inline",i.setAttribute("data-placeholder",r.taggingEnabled&&r.taggableMentionables.length>0?Eo.localize("addReplyPlaceholderWithMentions"):Eo.localize("addReplyPlaceholder")),i.setAttribute("data-id",e),i.setAttribute("role","textbox"),i.addEventListener("input",()=>{i.scrollHeight>100?(i.style.maxHeight="100px",i.style.overflowY="auto"):i.style.overflowY="hidden"}),i.addEventListener("paste",e=>{e.preventDefault();const t=(e.clipboardData||window.clipboardData).getData("text/plain");document.execCommand("insertText",!1,t)}),i.addEventListener("keydown",e=>{"Enter"!==e.key||e.shiftKey||An()||(e.preventDefault(),document.execCommand("insertLineBreak"))}),So[e]||(So[e]=[]),Lo[e]||(Lo[e]=[]),Un(i,t=>{So[e]||(So[e]=[]),So[e].includes(t)||So[e].push(t),s()}),i.addEventListener("input",()=>s());const a=document.createElement("div");function s(){a.innerHTML="";const t=Lo[e]||[],n=Pn(i),o=[];for(const e of t)o.push({id:e.id,label:e.label,removable:!0});for(const e of n)t.some(t=>t.id===e.id)||o.push({id:e.id,label:e.label,removable:!1});if(0!==o.length){a.style.display="flex";for(const t of o){const n=document.createElement("span");if(n.className="simple-commenter-attached-badge",n.textContent=`@${t.label}`,t.removable){const o=document.createElement("button");o.type="button",o.className="simple-commenter-attached-badge-remove",o.textContent="×",o.addEventListener("click",n=>{n.preventDefault(),n.stopPropagation(),Lo[e]=(Lo[e]||[]).filter(e=>e.id!==t.id),s()}),n.appendChild(o)}a.appendChild(n)}}else a.style.display="none"}a.className="simple-commenter-attached-badges",a.style.display="none";let m=null;if(r.taggingEnabled){m=document.createElement("button"),m.type="button",m.className="simple-commenter-attach-users-btn",m.title=Eo.localize("tagUsers")||"Tag users";const t='',n=document.createElement("span");n.textContent=Eo.localize("tagUsers")||"Tag users",m.innerHTML=t,m.appendChild(n),m.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation(),Nn(m,{onToggle:(t,n,o)=>{Lo[e]||(Lo[e]=[]),o?Lo[e].some(e=>e.id===t)||Lo[e].push({id:t,label:n}):Lo[e]=Lo[e].filter(e=>e.id!==t),s()},getManualIds:()=>(Lo[e]||[]).map(e=>e.id),getTextMentionIds:()=>Pn(i).map(e=>e.id)})})}const p=document.createElement("div");p.id=`simple-commenter-drawer-file-container-reply-${e}`,p.style.display="none",p.style.marginTop="8px";const d=document.createElement("span");d.className="simple-commenter-attribution",d.style.display="block",d.style.overflow="hidden",d.style.maxHeight="0",d.style.opacity="0",d.style.transition="max-height 0.2s ease-out, opacity 0.15s ease-out, margin 0.2s ease-out",d.style.marginTop="0",d.textContent=`— ${Dt()}`;const u=document.createElement("div");u.className="simple-commenter-reply-bottom-row",u.style.cssText="display: flex; flex-direction: row; align-items: center; justify-content: flex-end; gap: 8px; overflow: hidden; max-height: 0; opacity: 0; transition: max-height 0.2s ease-out, opacity 0.15s ease-out, margin 0.2s ease-out; margin-top: 0;",r.replyFileSessions[`drawer_${e}`]||(r.replyFileSessions[`drawer_${e}`]=[]);const g=({validFiles:t,invalidFiles:n})=>{if(t.length>0&&(r.replyFileSessions[`drawer_${e}`].push(...t),p.style.display="block",rt(`drawer_${e}`,p),w()),n.length>0){const e=ht(r.tier);Eo.showAlertBanner({type:"error",title:"File Upload Error",description:`Some files were rejected. Max size: ${e.maxSizeMB}MB.`})}};let h=null;r.uploads&&(h=Eo.createUploadButton({iconSvg:Eo.iconSvgs.upload,ariaLabel:"Upload File",className:"simple-commenter-reply-upload-btn",onFilesSelected:g}));let f=null;r.uploads&&(f=Eo.createUploadButton({iconSvg:Eo.iconSvgs.upload,ariaLabel:"Upload File",className:"simple-commenter-reply-upload-btn",onFilesSelected:g}),u.appendChild(f));const b=document.createElement("button");b.textContent=Eo.localize("addReply"),b.className="simple-commenter-button simple-commenter-reply-submit-btn",b.setAttribute("data-id",e),u.appendChild(b);const w=()=>{const t=l(i).trim().length>0,n=(r.replyFileSessions[`drawer_${e}`]||[]).length>0,o=t||n;o?(u.style.maxHeight="50px",u.style.opacity="1",u.style.marginTop="8px",d.style.maxHeight="30px",d.style.opacity="1",d.style.marginTop="4px"):(u.style.maxHeight="0",u.style.opacity="0",u.style.marginTop="0",d.style.maxHeight="0",d.style.opacity="0",d.style.marginTop="0"),h&&(h.style.cssText=o?"display: none !important; opacity: 0 !important; pointer-events: none !important;":"")};return i.addEventListener("input",w),i.addEventListener("focus",w),i.addEventListener("blur",()=>{setTimeout(w,150)}),b.addEventListener("click",async()=>{const t=R(bn(i),{allowNewlines:!0}),n=r.replyFileSessions[`drawer_${e}`]||[];if(t||0!==n.length){Xe(b);try{const n=So[e]||[],o=yn(t).map(e=>e.id),a=(Lo[e]||[]).map(e=>e.id),s=[...new Set([...n,...o,...a])];await Eo.replyComment(t,e,{mentionUserIds:s.length>0?s:void 0,fileSessionKey:`drawer_${e}`}),So[e]=[],Lo[e]=[],c(i),r.replyFileSessions[`drawer_${e}`]=[],p.innerHTML="",p.style.display="none",w(),Fo()}catch(e){console.error("Error submitting reply:",e),Eo.showAlertBanner({description:"There was an error submitting your reply."})}finally{Ge(b)}}else Eo.showAlertBanner({description:"Please enter a reply or attach a file."})}),o.appendChild(i),h&&o.appendChild(h),n.appendChild(o),n.appendChild(d),n.appendChild(a),n.appendChild(p),m&&u.insertBefore(m,u.firstChild),n.appendChild(u),t.appendChild(n),t}function $o(e,t){const n="comments"===r.drawerPage,i=r.comments?.length||0,a=r.allCommentsLoaded?r.allComments?.length||0:r.allCommentsCount||0,s=(t||[]).map(e=>`${e.id||e._id}:${e.status}:${e.priority}:${(e.replies||[]).length}:${e.screenshot?.status||""}:${e.screenshot?.imgSmall?1:0}`).join(","),l=n?"page":"all";if(e._commentsFingerprint&&e._commentsFingerprint[l]===s&&e.children.length>0)return void(r.drawerFilterDropdown&&r.statusCounts&&r.drawerFilterDropdown.updateCounts(r.statusCounts));e._commentsFingerprint||(e._commentsFingerprint={}),e._commentsFingerprint[l]=s,e.innerHTML="";const m=t=>{const n=document.createElement("div");n.className="simple-commenter-drawer-loading",n.innerHTML=`\n \n

${t}

\n \n `,e.appendChild(n)};if(!(n||r.allCommentsLoaded||r.allComments&&0!==r.allComments.length)){const e=Eo.localize("allPages")||"Other Pages";return void m(`${Eo.localize("loading")||"Loading"} ${e}...`)}const c=document.createElement("div");c.style.cssText="display: flex; padding: 12px; gap: 8px; border-bottom: 1px solid #E5E7EB; align-items: center; flex-wrap: wrap;";const p=document.createElement("span");if(p.style.cssText="font-size: 12px; font-weight: 500; color: #6B7280; margin-right: 4px;",p.textContent=Eo.localize("filters"),c.appendChild(p),r.drawerFilterDropdown=Eo.createStatusFilterDropdown({onChange:async(e,t)=>{const n=await Eo.fetchCommentsByStatus(t,!0);n&&n.counts&&(r.statusCounts=n.counts,r.drawerFilterDropdown.updateCounts(r.statusCounts)),Fo()}}),c.appendChild(r.drawerFilterDropdown),r.drawerPageDropdown=function({isPageComments:e,pageCount:t,allCount:n,onChange:o}){const r=document.createElement("div");r.classList.add("simple-commenter-dropdown-container");const i=document.createElement("button");i.type="button",i.classList.add("simple-commenter-status-button");const a=document.createElement("span");a.classList.add("simple-commenter-status-label"),a.textContent=e?`This Page (${t})`:`Other Pages (${n})`;const s=document.createElement("span");s.innerHTML='\n \n \n \n ',i.appendChild(a),i.appendChild(s.firstElementChild),i.style.setProperty("--status-bg","#ffffff"),i.style.setProperty("--status-text","#000000"),i.style.setProperty("--status-ring","#E1E1E1"),r.appendChild(i);const l=document.createElement("div");l.classList.add("simple-commenter-dropdown-menu"),l.style.position="fixed",[{value:"comments",label:`This Page (${t})`},{value:"allComments",label:`Other Pages (${n})`}].forEach(t=>{const n=document.createElement("div");n.classList.add("simple-commenter-dropdown-option"),("comments"===t.value&&e||"allComments"===t.value&&!e)&&n.classList.add("selected"),n.dataset.value=t.value;const o=document.createElement("span");o.classList.add("simple-commenter-option-label"),o.textContent=t.label,n.appendChild(o),l.appendChild(n)}),document.body.appendChild(l);let m=!1;function c(){m=!1,l.classList.remove("open"),document.removeEventListener("click",p,!0)}const p=e=>{r.contains(e.target)||l.contains(e.target)||c()};return l.addEventListener("click",e=>{const t=e.target.closest(".simple-commenter-dropdown-option");t&&(c(),o&&o(t.dataset.value))}),i.addEventListener("click",function(e){e.stopPropagation(),m=!m,m?(l.classList.add("open"),function(){const e=i.getBoundingClientRect();l.style.top=`${e.bottom+4}px`,l.style.left=`${e.left}px`,l.style.minWidth=`${e.width}px`}(),setTimeout(()=>{document.addEventListener("click",p,!0)},0)):c()}),r}({isPageComments:n,pageCount:i,allCount:a,onChange:e=>{To(e)}}),c.appendChild(r.drawerPageDropdown),r.drawerSortDropdown=function({currentSort:e,onChange:t}){const n=[{value:"newest",label:Eo.localize("newest")},{value:"oldest",label:Eo.localize("oldest")},{value:"highPriority",label:Eo.localize("highPriority")},{value:"lowPriority",label:Eo.localize("lowPriority")}],o=document.createElement("div");o.classList.add("simple-commenter-dropdown-container");const r=document.createElement("button");r.type="button",r.classList.add("simple-commenter-status-button");const i=n.find(t=>t.value===e)||n[0],a=document.createElement("span");a.classList.add("simple-commenter-status-label"),a.textContent=i.label;const s=document.createElement("span");s.innerHTML='\n \n \n \n ',r.appendChild(a),r.appendChild(s.firstElementChild),r.style.setProperty("--status-bg","#ffffff"),r.style.setProperty("--status-text","#000000"),r.style.setProperty("--status-ring","#E1E1E1"),o.appendChild(r);const l=document.createElement("div");l.classList.add("simple-commenter-dropdown-menu"),l.style.position="fixed",n.forEach(t=>{const n=document.createElement("div");n.classList.add("simple-commenter-dropdown-option"),t.value===e&&n.classList.add("selected"),n.dataset.value=t.value;const o=document.createElement("span");o.classList.add("simple-commenter-option-label"),o.textContent=t.label,n.appendChild(o),l.appendChild(n)}),document.body.appendChild(l);let m=!1;function c(){m=!1,l.classList.remove("open"),document.removeEventListener("click",p,!0)}const p=e=>{o.contains(e.target)||l.contains(e.target)||c()};return l.addEventListener("click",e=>{const n=e.target.closest(".simple-commenter-dropdown-option");n&&(c(),t&&t(n.dataset.value))}),r.addEventListener("click",function(e){e.stopPropagation(),m=!m,m?(l.classList.add("open"),function(){const e=r.getBoundingClientRect(),t=l.getBoundingClientRect(),n=window.innerWidth;let o=e.left;o+t.width>n-8&&(o=e.right-t.width),l.style.top=`${e.bottom+4}px`,l.style.left=`${Math.max(8,o)}px`,l.style.minWidth=`${e.width}px`}(),setTimeout(()=>{document.addEventListener("click",p,!0)},0)):c()}),o}({currentSort:r.drawerSortOrder,onChange:e=>{r.drawerSortOrder=e,Fo()}}),c.appendChild(r.drawerSortDropdown),r.drawerPriorityDropdown=function({currentFilter:e,onChange:t}){const n=[{value:"all",label:Eo.localize("allPriorities")},{value:"high",label:Eo.localize("high")},{value:"normal",label:Eo.localize("normal")},{value:"low",label:Eo.localize("low")}],o=document.createElement("div");o.classList.add("simple-commenter-dropdown-container");const r=document.createElement("button");r.type="button",r.classList.add("simple-commenter-status-button");const i=n.find(t=>t.value===e)||n[0],a=document.createElement("span");a.classList.add("simple-commenter-status-label"),a.textContent=i.label;const s=document.createElement("span");s.innerHTML='\n \n \n \n ',r.appendChild(a),r.appendChild(s.firstElementChild),r.style.setProperty("--status-bg","#ffffff"),r.style.setProperty("--status-text","#000000"),r.style.setProperty("--status-ring","#E1E1E1"),o.appendChild(r);const l=document.createElement("div");l.classList.add("simple-commenter-dropdown-menu"),l.style.position="fixed",n.forEach(t=>{const n=document.createElement("div");n.classList.add("simple-commenter-dropdown-option"),t.value===e&&n.classList.add("selected"),n.dataset.value=t.value;const o=document.createElement("span");o.classList.add("simple-commenter-option-label"),o.textContent=t.label,n.appendChild(o),l.appendChild(n)}),document.body.appendChild(l);let m=!1;function c(){m=!1,l.classList.remove("open"),document.removeEventListener("click",p,!0)}const p=e=>{o.contains(e.target)||l.contains(e.target)||c()};return l.addEventListener("click",e=>{const n=e.target.closest(".simple-commenter-dropdown-option");n&&(c(),t&&t(n.dataset.value))}),r.addEventListener("click",function(e){e.stopPropagation(),m=!m,m?(l.classList.add("open"),function(){const e=r.getBoundingClientRect(),t=l.getBoundingClientRect(),n=window.innerWidth;let o=e.left;o+t.width>n-8&&(o=e.right-t.width),l.style.top=`${e.bottom+4}px`,l.style.left=`${Math.max(8,o)}px`,l.style.minWidth=`${e.width}px`}(),setTimeout(()=>{document.addEventListener("click",p,!0)},0)):c()}),o}({currentFilter:r.drawerPriorityFilter,onChange:e=>{r.drawerPriorityFilter=e,Fo()}}),c.appendChild(r.drawerPriorityDropdown),e.appendChild(c),n&&r.commentsFetchError){const t=document.createElement("div");t.style.cssText="margin: 12px; padding: 10px 12px; border: 1px solid #FECACA; background: #FEF2F2; border-radius: 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px;";const n=document.createElement("span");n.style.cssText="font-size: 12px; color: #B91C1C;",n.textContent=r.commentsFetchError||"Failed to refresh page comments.";const o=document.createElement("button");o.type="button",o.className="simple-commenter-status-button",o.style.cssText="min-height: 28px; padding: 4px 10px; font-size: 12px;",o.textContent=Eo.localize("retry")||"Retry",o.addEventListener("click",async()=>{try{await(Eo.ensurePageCommentsLoaded?.({force:!0}))}catch(e){T("[drawer] retry page comments failed:",e)}}),t.appendChild(n),t.appendChild(o),e.appendChild(t)}if(n&&r.commentsLoading&&(!t||0===t.length))return void m(`${Eo.localize("loading")||"Loading comments..."}`);let d=t;"all"!==r.drawerPriorityFilter&&(d=t.filter(e=>e.priority===r.drawerPriorityFilter));const u=[...d].sort((e,t)=>{switch(r.drawerSortOrder){case"newest":default:return new Date(t.date)-new Date(e.date);case"oldest":return new Date(e.date)-new Date(t.date);case"highPriority":return(o[e.priority]||4)-(o[t.priority]||4);case"lowPriority":return(o[t.priority]||4)-(o[e.priority]||4)}});if(!u||0===u.length){const t=document.createElement("div");return t.className="simple-commenter-drawer-empty",t.innerHTML=`\n \n \n \n

${"all"!==r.drawerPriorityFilter?Eo.localize("noCommentsWithPriority"):Eo.localize("noComments")}

\n `,e.appendChild(t),void(r.drawerFilterDropdown&&r.statusCounts&&r.drawerFilterDropdown.updateCounts(r.statusCounts))}const g=document.createElement("div");g.className="simple-commenter-drawer-comments-list",u.forEach(e=>{const t=function(e,t=!1){const n=e.id||e._id,o=e.userData||{},i=o.name&&o.name.trim()?o.name.trim():o.role&&["client","team","user"].includes(o.role)&&Eo.localize(o.role)?Eo.localize(o.role):Eo.localize("anonymous"),a=Eo.timeAgo(e.date),s=e.text||"",l=e.title||"",m=document.createElement("div");m.className="simple-commenter-drawer-comment-item",m.dataset.commentId=n;const c=document.createElement("div");c.style.cssText="display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px;";const p=document.createElement("div");p.style.cssText="display: flex; align-items: center; gap: 8px;";const d=document.createElement("div");d.style.cssText="display: flex; align-items: center; gap: 8px;";const u=document.createElement("span");u.style.cssText="font-size: 11px; font-weight: 600; color: #6B7280; background: #F3F4F6; padding: 2px 6px; border-radius: 4px;",u.textContent=`#${e.commentNumber||"?"}`,p.appendChild(u);const g=Eo.createPriorityDropdown({currentPriority:e.priority||"normal",onChange:async e=>{try{await Eo.updateCommentStatus(n,{newPriority:e})}catch(e){F("Error updating comment priority:",e)}}});p.appendChild(g.element),Bo({icon:'\n \n ',title:Eo.localize("moreInfo"),onClick:n=>{n.stopPropagation(),zo(e,t)}}),c.appendChild(p),c.appendChild(d),m.appendChild(c);const h=document.createElement("div");if(h.style.cssText="margin-bottom: 12px;",l.trim()){const e=document.createElement("p");e.className="simple-commenter-title simple-commenter-title-bold",e.textContent=l,e.style.cssText="margin: 0 0 4px 0; white-space: pre-wrap;",h.appendChild(e)}if(s.trim()){const e=document.createElement("p");e.className=l.trim()?"simple-commenter-title simple-commenter-text":"simple-commenter-title simple-commenter-title-bold";let t=Eo.decodeHTMLEntities(s);t=Eo.decodeHTMLEntities(t),e.innerHTML=xn(t),e.style.cssText="margin: 0; white-space: pre-wrap;",h.appendChild(e)}const f=document.createElement("div");f.className="simple-commenter-attribution-row";const b=document.createElement("span");if(b.className="simple-commenter-attribution",b.textContent=`— ${i}`,r.metaData&&e.metadata){const t=Io(e.metadata,!1,e);f.appendChild(t.querySelector(".simple-commenter-disclosure-btn")),f.appendChild(b),h.appendChild(f),h.appendChild(t.querySelector(".simple-commenter-disclosure-panel"))}else f.appendChild(b),h.appendChild(f);if(e.attachedUsers&&e.attachedUsers.length>0){const t=document.createElement("div");t.className="simple-commenter-attached-badges",t.style.display="flex",e.attachedUsers.forEach(e=>{const n=document.createElement("span");n.className="simple-commenter-attached-badge",n.textContent=`@${e.name||e.displayLabel||"User"}`,t.appendChild(n)}),h.appendChild(t)}if(m.appendChild(h),e.screenshot){const t=Eo.createScreenshotButton({screenshot:e.screenshot});t&&(t.style.marginBottom="12px",m.appendChild(t))}if(e.attachments&&e.attachments.length>0){const t=document.createElement("div");t.className="simple-commenter-files-wrapper",t.style.marginBottom="12px",e.attachments.forEach((e,n)=>{const o=nt({file:e,asLink:!0});t.appendChild(o)}),m.appendChild(t)}if(e.replies&&e.replies.length>0){const t=e.replies.length,n=function({buttonText:e,count:t,renderContent:n,startOpen:o=!1}){const r=document.createElement("div");r.className="simple-commenter-replies-disclosure";const i=document.createElement("button");i.type="button",i.className="simple-commenter-replies-disclosure-btn";const a=document.createElement("span");a.className="simple-commenter-replies-disclosure-chevron",a.innerHTML='\n \n ';const s=document.createElement("span");s.className="simple-commenter-replies-disclosure-text",s.textContent=e;const l=document.createElement("span");l.className="simple-commenter-replies-disclosure-count",l.textContent=t,i.appendChild(a),i.appendChild(s),i.appendChild(l);const m=document.createElement("div");m.className="simple-commenter-replies-disclosure-content";const c=document.createElement("div");c.className="simple-commenter-replies-disclosure-content-inner";let p=o,d=!1;return i.addEventListener("click",e=>{e.stopPropagation(),p=!p,i.classList.toggle("simple-commenter-replies-disclosure-open",p),p?(d||(n(c),d=!0),m.style.maxHeight=c.scrollHeight+100+"px"):m.style.maxHeight="0"}),m.appendChild(c),r.appendChild(i),r.appendChild(m),o&&(n(c),d=!0,i.classList.add("simple-commenter-replies-disclosure-open"),requestAnimationFrame(()=>{m.style.maxHeight=c.scrollHeight+100+"px"})),r}({buttonText:1===t?Eo.localize("reply"):Eo.localize("replies"),count:t,renderContent:t=>{const n=document.createElement("div");n.className="simple-commenter-replies-wrapper",e.replies.forEach(e=>{const t=Eo.createReplyItem(e);n.appendChild(t)}),t.appendChild(n)},startOpen:!1});m.appendChild(n)}const w=No(n);m.appendChild(w);const y=document.createElement("div");y.style.cssText="display: flex; align-items: center; justify-content: space-between; margin-top: 12px; padding-top: 12px; border-top: 1px solid rgb(229, 231, 235, 0.5);";const x=document.createElement("span");x.className="simple-commenter-comment-date-large",x.style.cssText="font-size: 12px; color: #9CA3AF;",x.textContent=a,y.appendChild(x);const v=document.createElement("div");v.style.cssText="display: flex; align-items: center; gap: 8px;";const C=Eo.createStatusDropdown({currentStatus:e.status,dataId:n,onChange:async(e,t)=>{e.stopPropagation();try{await Eo.updateCommentStatus(n,{newStatus:t})}catch(e){F("Error updating comment status:",e)}}});v.appendChild(C.element);const k=Bo({icon:'\n \n \n ',text:Eo.localize("view"),title:Eo.localize("viewComment"),onClick:o=>{if(o.stopPropagation(),Ao(),"view"!==r.mode&&dn("view"),t){let t;return t=e.locator?`${e.locator.slugValue}?${e.locator.key}=${e.locator.value}`:e.slug,void(window.location.href=`${t}#simple-comment=${n}`)}if(r.assetCommenting&&e.assetState&&e.assetState.pageNumber!==r.assetState.pageNumber)return"function"==typeof window.simpleCommenterSetPageNumber&&window.simpleCommenterSetPageNumber(e.assetState.pageNumber),void setTimeout(()=>{Eo.displaySingleComment(e,null,!0)},300);const i=document.querySelector(`.simple-commenter-comment-marker[data-id="${n}"]`);i?.scrollIntoView({behavior:"smooth",block:"center"});const a=document.querySelector(`.simple-commenter-comment-box[data-id="${n}"]`);a?Eo.showCommentBoxPanel(a,!0):Eo.displaySingleComment(e,null,!0)}});return v.appendChild(k),y.appendChild(v),m.appendChild(y),m}(e,!n);g.appendChild(t)}),e.appendChild(g),r.drawerFilterDropdown&&r.statusCounts&&r.drawerFilterDropdown.updateCounts(r.statusCounts)}async function Uo(){const e=document.querySelector(".simple-commenter-textarea-new.simple-commenter-textarea-check"),t=e&&l(e)?.trim()||"",n=document.querySelectorAll(".simple-commenter-reply-textarea-inline");let o="",i=null;for(const e of n)if(l(e)?.trim()){o=l(e).trim(),i=e.getAttribute("data-id");break}if(!t&&!o)return null;const a={};if(o&&i)a.draftType="reply",a.parentCommentId=i,a.text=o;else if(t){if(a.draftType="comment",a.text=t,r.currentElement)try{a.elementXPath=W(r.currentElement)}catch(e){L("[draft] Failed to get XPath for current element:",e)}const n=document.querySelector(".simple-commenter-title-input-new");n?.value?.trim()&&(a.title=n.value.trim())}a.slug=window.location.pathname||"/";const s=await async function(e){const t=`${I}save-draft`;return(await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({domain:r.domain,...e})})).json()}(a);return s?.draftResumeToken?s.draftResumeToken:null}function _o(e){const t=r.drawerShowRegister,n="password"===r.drawerLoginMethod,o=r.simpleCommenterUserData.clientAccessMode||"invite",i="open"===o||"request"===o,a="open"===o;let s,l;s=t?a?Eo.localize("registerTitle"):Eo.localize("requestAccessTitle"):Eo.localize("loginTitle"),l=t?a?Eo.localize("registerDescription"):Eo.localize("requestAccessDescription"):!0===r.simpleCommenterUserData.login?Eo.localize("loginDescription"):Eo.localize("loginDescriptionOptional");const m=t?Eo.localize("alreadyHaveAccount"):i?Eo.localize("noAccount"):"",c=t?Eo.localize("signIn"):a?Eo.localize("register"):Eo.localize("requestAccessButton");Eo.localize("sendMagicLink"),t?a?Eo.localize("createAccount"):Eo.localize("requestAccess"):Eo.localize("signIn"),e.innerHTML=`\n \n `,function(e){const t=e.querySelector("#drawer-login-form"),n=e.querySelector("#drawer-magic-btn"),o=e.querySelector("#drawer-password-btn"),i=e.querySelector("#drawer-google-btn"),a=e.querySelector("#drawer-toggle-register"),s=e.querySelector("#drawer-password-group");let l="none"!==s.style.display;n.addEventListener("click",e=>{e.preventDefault(),r.drawerLoginMethod="magic",t.requestSubmit()}),o.addEventListener("click",n=>{if(n.preventDefault(),l)r.drawerLoginMethod="password",t.requestSubmit();else{s.style.display="flex",l=!0;const t=e.querySelector("#drawer-password-input");t&&t.focus()}}),t.addEventListener("submit",async t=>{t.preventDefault();const i=e.querySelector("#drawer-email-input"),a=function(e){if("string"!=typeof e)return"";let t=e.toLowerCase().trim();if(t=t.replace(/[^a-z0-9@.\-_+]/g,""),(t.match(/@/g)||[]).length>1){const e=t.indexOf("@");t=t.slice(0,e+1)+t.slice(e+1).replace(/@/g,"")}return t.length>254&&(t=t.slice(0,254)),t}(i?i.value:""),s=e.querySelector("#drawer-password-input"),l=s?s.value:"",m=e.querySelector("#drawer-name-input"),c=q(m?m.value:""),p="magic"===r.drawerLoginMethod?n:o;if(a)if(!r.drawerShowRegister||c)if("password"!==r.drawerLoginMethod||l){Xe(p);try{const t=document.URL,{token:n}=Tt(t);let o,i,s=null;if("magic"===r.drawerLoginMethod)try{s=await Uo()}catch(e){L("[drawer login] Draft save failed, continuing without:",e)}if(r.drawerShowRegister){if(o=await fetch(`${I}register`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({domain:r.domain,email:a,name:c,password:"password"===r.drawerLoginMethod?l:void 0,loginMethod:r.drawerLoginMethod,...s&&{draftResumeToken:s}})}),i=await o.json(),!o.ok)throw new Error(i.message||Eo.localize("registrationFailed"));return i.checkEmail?void To("checkEmail"):i.pending?(r.drawerShowRegister=!1,void To("pendingApproval")):i.token&&i.userData?(Ft({...i.userData,token:i.token,spam:!1,spamUpdated:null,spamReason:null}),Eo.showAlertBanner({type:"success",title:Eo.localize("registrationSuccess"),description:i.message||Eo.localize("registrationSuccessDesc")}),r.drawerShowRegister=!1,void To("user")):(Eo.showAlertBanner({type:"success",title:Eo.localize("registrationSuccess"),description:i.message||Eo.localize("registrationSuccessDesc")}),r.drawerShowRegister=!1,void _o(e))}if(o=await fetch(`${I}login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({domain:r.domain,referrer:t,token:r.simpleCommenterUserData.token||n,loginMethod:r.drawerLoginMethod,userData:{email:a,name:c||a.split("@")[0],password:"password"===r.drawerLoginMethod?l:void 0},...s&&{draftResumeToken:s}})}),i=await o.json(),!o.ok)throw new Error(i.message||"Login failed");const m=i.userData;if(m)if(Ft({...m,...i.token&&{token:i.token},spam:!1,spamUpdated:null,spamReason:null}),m.unauthorized)To("error"),Eo.showAlertBanner({type:"error",title:Eo.localize("unauthorized"),description:m.message||Eo.localize("unauthorizedDesc")});else if(m.pendingApproval)Eo.showAlertBanner({type:"info",title:Eo.localize("pendingApproval"),description:m.message||Eo.localize("pendingApprovalDesc")});else if(m.checkEmail)To("checkEmail");else if(m.active&&m.verified){"magic"===r.drawerLoginMethod&&Eo.showAlertBanner({type:"success",title:Eo.localize("loginSuccess"),description:i.message||`Welcome, ${m.name||m.email}!`});try{const e=await Uo();e&&(r.activeDraftResumeToken=e)}catch(e){L("[drawer login] Draft save before password refresh failed:",e)}Eo.fetchData(),dn("view"),To("user")}else m.needsName&&To("user")}catch(e){console.error("Login error:",e),Eo.showAlertBanner({type:"error",title:Eo.localize("loginError"),description:e.message||Eo.localize("loginErrorDesc")})}finally{Ge(p)}}else Eo.showAlertBanner({type:"error",title:Eo.localize("validationError"),description:Eo.localize("passwordRequired")});else Eo.showAlertBanner({type:"error",title:Eo.localize("validationError"),description:Eo.localize("nameRequired")});else Eo.showAlertBanner({type:"error",title:Eo.localize("validationError"),description:Eo.localize("emailRequired")})}),i.addEventListener("click",async()=>{Xe(i);try{let e=null;try{e=await Uo()}catch(e){L("[drawer google] Draft save failed, continuing without:",e)}const t=encodeURIComponent(document.URL),n=encodeURIComponent(r.domain);let o=`${"localhost"===window?.location?.hostname?"http://localhost:3000":"https://www.simplecommenter.com"}/api/users/google/auth?domain=${n}&referrer=${t}&widget=true`;r.drawerShowRegister&&(o+="&clientRegister=true"),e&&(o+=`&draftResumeToken=${encodeURIComponent(e)}`),console.log("Redirecting to Google OAuth:",o),window.location.href=o}catch(e){console.error("Google login error:",e),Eo.showAlertBanner({type:"error",title:Eo.localize("loginError"),description:"Failed to initiate Google login."}),Ge(i)}}),a&&a.addEventListener("click",t=>{if(t.preventDefault(),r.drawerShowRegister=!r.drawerShowRegister,_o(e),window.SIMPLE_COMMENTER_DEBUG){let t=e.querySelector(".simple-commenter-debug-drawer-switcher");t&&t.remove(),t=Mo(r.drawerPage),e.appendChild(t)}})}(e)}function Ro(e,t,n,o){const i={success:'\n \n ',error:'\n \n ',info:'\n \n '};e.innerHTML=`\n
\n
\n ${i[t]||i.info}\n
\n

${n}

\n

${o}

\n ${"success"===t?`\n \n `:""}\n ${"error"===t||"info"===t?`\n \n `:""}\n
\n `;const a=e.querySelector("#drawer-message-try-again-btn");a&&a.addEventListener("click",()=>{r.simpleCommenterUserData&&(r.simpleCommenterUserData.checkEmail=!1),r.drawerShowRegister=!1,To("login")})}function qo(e){const t=r.simpleCommenterUserData,n=t.name||t.email,o=t.verified,i=t.unauthorized,a=!0===t.needsName;if(t.checkEmail)return void To("checkEmail");if(!n)return void _o(e);if(i)return e.innerHTML=`\n
\n
\n
\n \n \n \n
\n

${Eo.localize("loginError")}

\n

${Eo.localize("unauthorized")}

\n \n
\n
\n `,void Ho(e);if(a&&o)return e.innerHTML=`\n \n `,void function(e){const t=e.querySelector("#drawer-save-name-btn"),n=e.querySelector("#drawer-name-input"),o=e.querySelector("#drawer-name-error");t&&n&&t.addEventListener("click",async()=>{o.style.display="none";const i=q(n.value);if(!i)return o.textContent=Eo.localize("nameErrorText"),void(o.style.display="block");t.disabled=!0,t.textContent=Eo.localize("saving");try{Ft({...r.simpleCommenterUserData,name:i});const t=await fetch(`${I}update-user`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({domain:r.domain,referrer:document.URL,token:r.simpleCommenterUserData.token,userData:{userId:r.simpleCommenterUserData.userId,role:r.simpleCommenterUserData.role,name:i,email:r.simpleCommenterUserData.email}})}),n=await t.json();t.ok&&n.userData?(Ft(n.userData),await Mt(),Eo.refreshUserInner(),qo(e)):(o.textContent=n.error||"Failed to update name",o.style.display="block")}catch(e){console.error("Error saving name:",e),o.textContent="Network error. Please try again.",o.style.display="block"}finally{t.disabled=!1,t.textContent=Eo.localize("userSave")}})}(e);const s=function(e){const t={user:kt.localize("user"),team:kt.localize("team"),client:kt.localize("client")}[e.role]||"User";return"string"==typeof e.name&&""!==e.name.trim()?`${e.name.trim()} - ${t}`:t}(t),l=t.email||{admin:"Workspace Admin",member:"Team Member",client:"Client",viewer:"Viewer"}[m=t.role]||m||"User";var m;const c=o?`
\n \n \n \n ${Eo.localize("verified")}\n
`:`
\n \n \n \n ${Eo.localize("unverified")}\n
`;e.innerHTML=`\n
\n \n ${c}\n \n
\n `,function(e){Ho(e);const t=e.querySelector("#drawer-exit-btn");t&&t.addEventListener("click",()=>{L("Exiting user session, skipping paramActiveSetting"),Eo.resetUserData({skipParamActiveSetting:!0}),Ao()})}(e)}function Ho(e){const n=e.querySelector("#drawer-logout-btn");n&&n.addEventListener("click",()=>{const e=r.simpleCommenterUserData;r.simpleCommenterUserData=t,localStorage.removeItem("simpleCommenterUserData"),Ft({login:e.login,paramActive:e.paramActive,theme:e.theme,localization:e.localization,spam:e.spam,spamUpdated:e.spamUpdated,clientAccessMode:e.clientAccessMode,clientLogin:e.clientLogin,showTutorial:e.showTutorial,userTutorialPreference:e.userTutorialPreference,tutorial:e.tutorial});const n=new URL(window.location.href);n.searchParams.delete("simple-commenter-token"),n.searchParams.delete("simple-commenter-name"),n.searchParams.delete("email"),window.history.replaceState({},document.title,n.toString()),dn("disabled"),Eo.fetchData(),Eo.refreshUserInner(),Ao()})}let jo=null;function Oo(){const e=E?.src;if(e)try{return new URL(e).origin}catch{}return"undefined"!=typeof window&&window.location?.origin?window.location.origin:"https://www.simplecommenter.com"}const Vo=['[role="menu"]','[role="listbox"]','[role="dialog"]','[role="tooltip"]',"[data-headlessui-portal]","[data-radix-portal]","[data-floating-ui-portal]","[data-popper-placement]",'[data-state="open"]'];function Wo(e){const t=getComputedStyle(e);return{transform:"none"===t.transform?"":t.transform,transformOrigin:t.transformOrigin,opacity:t.opacity,filter:t.filter,backdropFilter:t.backdropFilter,boxShadow:t.boxShadow,zIndex:t.zIndex}}function Yo(e){return{name:"sc-viewport-stage",afterClone(t){const n=t.clone;if(!n)return;n.style.setProperty("width",`${e.vw}px`,"important"),n.style.setProperty("height",`${e.vh}px`,"important"),n.style.setProperty("overflow","hidden","important"),n.style.setProperty("margin","0","important"),n.style.setProperty("padding","0","important"),n.style.setProperty("position","relative","important");const o=document.createElement("div");o.setAttribute("data-sc-overlay","1"),o.style.setProperty("position","absolute","important"),o.style.setProperty("top","0","important"),o.style.setProperty("left","0","important"),o.style.setProperty("width",`${e.vw}px`,"important"),o.style.setProperty("height",`${e.vh}px`,"important"),o.style.setProperty("overflow","visible","important"),o.style.setProperty("margin","0","important"),o.style.setProperty("padding","0","important"),o.style.setProperty("pointer-events","none","important"),n.appendChild(o);const r=e.pins.slice().sort((e,t)=>{const n=parseInt(e.zIndex,10),o=parseInt(t.zIndex,10);return(Number.isFinite(n)?n:0)-(Number.isFinite(o)?o:0)});for(const e of r){const t=n.querySelector(`[data-sc-pin="${e.id}"]`);t&&(t.style.setProperty("position","absolute","important"),t.style.setProperty("top",`${e.top}px`,"important"),t.style.setProperty("left",`${e.left}px`,"important"),t.style.setProperty("right","auto","important"),t.style.setProperty("bottom","auto","important"),t.style.setProperty("margin","0","important"),e.transform?(t.style.setProperty("transform",e.transform,"important"),t.style.setProperty("transform-origin",e.transformOrigin,"important")):t.style.setProperty("transform","none","important"),e.opacity&&"1"!==e.opacity&&t.style.setProperty("opacity",e.opacity,"important"),e.filter&&"none"!==e.filter&&t.style.setProperty("filter",e.filter,"important"),e.backdropFilter&&"none"!==e.backdropFilter&&(t.style.setProperty("backdrop-filter",e.backdropFilter,"important"),t.style.setProperty("-webkit-backdrop-filter",e.backdropFilter,"important")),e.boxShadow&&"none"!==e.boxShadow&&t.style.setProperty("box-shadow",e.boxShadow,"important"),t.removeAttribute("data-sc-pin"),o.appendChild(t))}}}}let Xo={},Go=[],Zo=[],Jo={};function Ko(e={}){const t=e.screenshotDecision||null,n=t?.skipReason||e.skipReason||(e.quotaExceeded?"quota_exceeded":e.screenshotBackpressure?"queue_full":e.screenshotUrlNotReachable?"url_not_publicly_reachable":null);return{accepted:"accepted"===t?.status||!0===e.screenshotJobAccepted,skipReason:n}}function Qo(e){const t=e.getBoundingClientRect(),n={left:t.left,top:t.top,right:t.right,bottom:t.bottom,width:t.width,height:t.height};return{viewportRect:n,stableRect:H(e)?n:{left:t.left+window.scrollX,top:t.top+window.scrollY,right:t.right+window.scrollX,bottom:t.bottom+window.scrollY,width:t.width,height:t.height}}}function er(e,t){const{viewportRect:n,stableRect:o}=Qo(t);return e._lastViewportRect=n,e._lastRect=o,{viewportRect:n,stableRect:o}}function tr(e=!1){if(!r.comments?.length||"disabled"===r.simpleCommenterUserData.mode)return;const t=document.activeElement;t&&t.classList.contains("simple-commenter-reply-textarea-inline")||r.batchProcessingActive||(r.batchProcessingIndex=0,r.batchProcessingActive=!0,nr(e))}function nr(e){if(!r.batchProcessingActive||r.batchProcessingIndex>=r.comments.length)return r.batchProcessingActive=!1,void(r.batchProcessingIndex=0);const t=Date.now(),n=r.comments.length>50?1:3,o=Math.min(r.batchProcessingIndex+n,r.comments.length);for(let n=r.batchProcessingIndex;nnr(e)):(r.batchProcessingActive=!1,r.batchProcessingIndex=0)}function or(e,t,n){if(e._validationCooldownUntil&&t-t&&e.top-t&&e.left0)return!0;const i=document.querySelector(`.simple-commenter-reply-textarea-inline[data-id="${t}"]`);if(i&&l(i).trim().length>0)return!0;if(yr(document.querySelector(`.simple-commenter-comment-box[data-id="${t}"]`)))return!0;const a=r.replyFileSessions?.[t];return Array.isArray(a)&&a.length>0}(e.id);if(!o&&!e.isError){if(i)return void L("[polling] preserving protected thread despite missing element",{commentId:e.id});const n=document.querySelector(`.simple-commenter-comment-marker[data-id="${e.id}"]`);n&&n.remove();const o=document.querySelector(`.simple-commenter-comment-box[data-id="${e.id}"]`);o&&L("[CLOSE-DEBUG] processSingleComment: element not found, removing box",{commentId:e.id,xpath:e.xpath?.substring(0,80),wasVisible:o.style.visibility}),o&&o.remove(),e.isError=!0,e._lastRect=null,e._lastViewportRect=null;const r=(e._validationFailCount||0)+1;e._validationFailCount=r;const a=Math.min(5e3*Math.pow(1.5,r-1),6e4);e._validationCooldownUntil=t+a;const s=function(e){const t=e.elementFingerprint;if(!t||!t.viewport||!t.clickPosition)return null;const n=t.viewport,o=t.clickPosition,r=window.innerWidth,i=window.innerHeight,a=r/n.width,s=i/n.height;if(!(a>=.8&&a<=1.2&&s>=.8&&s<=1.2))return L(`Viewport too different for comment ${e.id}. Saved: ${n.width}x${n.height}, Current: ${r}x${i}`),null;const l=o.x*a,m=o.y*s;return L(`Calculated approximate location for comment ${e.id} at (${Math.round(l)}, ${Math.round(m)})`),{x:l,y:m,isApproximate:!0}}(e);return s&&(e._approximatePosition=s),void Xo.updateDrawerCommentList()}if(e.isError)if(o&&"disabled"!==r.simpleCommenterUserData.mode)e.isError=!1,e._validationFailCount=0,e._validationCooldownUntil=null,Xo.updateDrawerCommentList(),br(e,o),er(e,o);else{const n=(e._validationFailCount||0)+1;e._validationFailCount=n;const o=Math.min(5e3*Math.pow(1.5,n-1),6e4);e._validationCooldownUntil=t+o}else if(o&&"disabled"!==r.simpleCommenterUserData.mode){const{viewportRect:t,stableRect:n}=Qo(o),a=e._lastRect;if(a){const s=r.assetCommenting&&e.asset?10:1;if(Math.abs(a.left-n.left)>s||Math.abs(a.top-n.top)>s||Math.abs(a.right-n.right)>s||Math.abs(a.bottom-n.bottom)>s){const r=document.querySelector(`.simple-commenter-comment-box[data-id="${e.id}"]`),s=r&&"visible"===r.style.visibility;if(i)return e._lastRect=n,e._lastViewportRect=t,void L("[polling] skipped move-based re-render for protected thread",{commentId:e.id,keepOpen:s});L("[CLOSE-DEBUG] processSingleComment: element moved, re-rendering",{commentId:e.id,oldRect:a,newRect:n,keepOpen:s}),br(e,o,s),e._lastRect=n,e._lastViewportRect=t}else e._lastViewportRect=t}else e._lastRect=n,e._lastViewportRect=t}}function rr(){r.assetCommenting||(document.querySelectorAll("button:not(.simple-commenter-modebox button):not(.simple-commenter-button-primary):not(.simple-commenter-x-button)").forEach(e=>{"true"!==e.getAttribute("data-disabled")&&e.setAttribute("data-disabled","true")}),document.querySelectorAll("a:not(#simple-commenter-modebox a)").forEach(e=>{if("true"===e.getAttribute("data-disabled"))return;const t=e.getAttribute("href");null!==t&&""!==t&&(e.setAttribute("data-original-href",t),e.setAttribute("href","#")),e.setAttribute("data-disabled","true")}))}function ir(){document.querySelectorAll("[data-disabled='true']").forEach(e=>{if("a"===e.tagName.toLowerCase()&&e.hasAttribute("data-original-href")){const t=e.getAttribute("data-original-href");null!==t&&""!==t&&"null"!==t&&e.setAttribute("href",t),e.removeAttribute("data-original-href")}e.removeAttribute("data-disabled")})}function ar(){if(r.sidebarDisabled)return;if(document.getElementById("simple-commenter-mode-indicator"))return;const e=document.createElement("div");e.className="simple-commenter-mode-indicator",e.id="simple-commenter-mode-indicator",document.body.appendChild(e);const t=void 0!==r.simpleCommenterUserData.userHideBannerPreference?r.simpleCommenterUserData.userHideBannerPreference:!0===r.simpleCommenterUserData.hideCommentModeBanner;if(L("Checking banner visibility:","userHideBannerPreference:",r.simpleCommenterUserData.userHideBannerPreference,"hideCommentModeBanner:",r.simpleCommenterUserData.hideCommentModeBanner,"shouldHideBanner:",t),t)return void L("Banner is hidden by user preference");const n=document.createElement("div");n.className="simple-commenter-mode-banner",n.id="simple-commenter-mode-banner";const o=window.innerWidth<=768;let i=o?Xo.localize("commentModeDescriptionMobile"):Xo.localize("commentModeDescription");o||(i=i.replace("ESC",'ESC')),n.innerHTML=`\n \n \n \n
\n
${Xo.localize("commentModeActive")}
\n
\n ${i}\n
\n \n
\n \n `,n.querySelector(".simple-commenter-mode-banner-close").addEventListener("click",e=>{e.stopPropagation(),lr()}),n.querySelector(".simple-commenter-mode-banner-dismiss").addEventListener("click",e=>{e.stopPropagation(),Ft({userHideBannerPreference:!0}),L("Banner dismissed permanently. userHideBannerPreference set to:",r.simpleCommenterUserData.userHideBannerPreference),lr()}),document.body.appendChild(n);const a=setTimeout(()=>{const e=document.getElementById("simple-commenter-mode-banner");e&&(e.style.transition="opacity 0.3s ease-out",e.style.opacity="0",setTimeout(()=>{e.parentNode&&e.remove()},300))},5e3);n._autoDismissTimer=a}function sr(){const e=document.getElementById("simple-commenter-mode-indicator"),t=document.getElementById("simple-commenter-mode-banner");e&&e.remove(),t&&(t._autoDismissTimer&&clearTimeout(t._autoDismissTimer),t.remove())}function lr(){const e=document.getElementById("simple-commenter-mode-banner");e&&(e._autoDismissTimer&&clearTimeout(e._autoDismissTimer),e.remove())}function mr(e="Unknown reason"){qe()}_e();const cr=async(e,t,n,o,i,a="normal")=>{if(!n)return void console.error("No element provided for adding a comment.");if(D(),L("Title:",e),L("Text:",t),L("state.shapes.length:",r.shapes.length),L("state.addedFiles.length:",r.addedFiles.length),L("state.addedFiles:",r.addedFiles.map(e=>({name:e.name,size:e.size,type:e.type}))),""===t&&r.shapes.length<=0&&r.addedFiles.length<=0)return L("Validation failed: no text, state.shapes, or files"),A(),void alert("Please enter some text or attach a file before submitting.");if(r.simpleCommenterUserData.login&&!r.simpleCommenterUserData.token)return L("[addComment] Login required but no token, showing login"),A(),void Xo.openDrawer("login");r.screenshotCaptureConfigResolved||await Promise.race([r.screenshotCaptureConfigResolvedPromise,new Promise(e=>setTimeout(e,5e3))]);const s=xr(),{locator:l}=Tt(document?.URL),m=W(n),c=i?{clientX:i.x,clientY:i.y}:null,p=Z(n,c),d=await ro(),u=!!r.effectiveScreenshotCaptureEnabled&&!r.extensionMode&&!r.assetCommenting&&!0===(r.screenshotCaptureUserToggle??function(){try{const e=localStorage.getItem("sc-screenshot-capture-pref");return null===e||"false"!==e}catch(e){return!0}}()),g=yn(t).map(e=>e.id),h=Zo.map(e=>e.id),f=[...new Set([...Go,...g,...h])],b={title:e||"",text:t,id:"comment-"+r.commentIdCounter++,elementXPath:m,elementFingerprint:p,metadata:d,userData:r.simpleCommenterUserData,date:new Date,relativePosition:o,priority:a,mentionUserIds:f.length>0?f:void 0},w=b.id;if(Go=[],Zo=[],L("Adding comment data:",b),L("Element for comment:",n),r.assetCommenting)r.shapes.length>0&&ct();else if(u)b.useScreenshotOne=!0,b.captureShapes=function(e=[]){return(e||[]).map(e=>{if(!e||!e.type)return null;const t=e.element?.style||{},n=Number.parseFloat(t.left||e.startX||0),o=Number.parseFloat(t.top||e.startY||0),r=Number.parseFloat(t.width||0),i=Number.parseFloat(t.height||0);return{type:e.type,startX:Number.isFinite(e.startX)?e.startX:n,startY:Number.isFinite(e.startY)?e.startY:o,x:Number.isFinite(n)?n:0,y:Number.isFinite(o)?o:0,width:Number.isFinite(r)?r:0,height:Number.isFinite(i)?i:0,pathData:"string"==typeof e.pathData?e.pathData:"",selectedColorValue:e.selectedColorValue||""}}).filter(Boolean)}(r.shapes),b.captureUrl=document.URL,b.captureViewport={width:window.innerWidth,height:window.innerHeight},b.captureScroll={x:window.scrollX,y:window.scrollY},b.metadata={...b.metadata,screenshotCaptureMethod:"screenshotone"},ct();else if(r.extensionMode&&r.extensionAutoScreenshots)try{const e=await vt();if(!e?.imgLarge)return void Xo.showAlertBanner({type:"error",title:"Screenshot Required",description:"Screenshot capture did not complete. Please capture the page and try posting again."});b.screenshot=e,b.metadata={...b.metadata,screenshotCaptureMethod:"extension-auto"},r.shapes.length>0&&ct()}catch{return void Xo.showAlertBanner({type:"error",title:"Screenshot Required",description:"Screenshot capture was cancelled or failed. Please capture the page and try posting again."})}else if(r.screenshotData)b.screenshot=r.screenshotData,b.metadata={...b.metadata,screenshotCaptureMethod:r.extensionMode?"extension-manual":"displayMedia"};else if(r.shapes.length>0){const e=await vt();b.screenshot=e,b.metadata={...b.metadata,screenshotCaptureMethod:"displayMedia"},ct()}else b.metadata={...b.metadata,screenshotCaptureMethod:"none"};const y=new FormData;if(y.append("domain",r.domain),y.append("type","addComment"),y.append("token",r.simpleCommenterUserData.token),y.append("referrer",document?.URL),y.append("locator",JSON.stringify(l)),y.append("title",b.title),y.append("text",b.text),y.append("elementXPath",b.elementXPath),y.append("elementFingerprint",JSON.stringify(b.elementFingerprint)),y.append("relativePosition",JSON.stringify(b.relativePosition)),y.append("metadata",JSON.stringify(b.metadata)),y.append("userData",JSON.stringify(b.userData)),y.append("priority",b.priority),r.assetCommenting&&(y.append("assetCommenting",JSON.stringify(r.assetCommenting)),y.append("assetState",JSON.stringify(r.assetState))),b.screenshot&&y.append("screenshot",JSON.stringify(b.screenshot)),b.useScreenshotOne){let n=null;try{n=await async function(){const e=await("undefined"!=typeof window&&window.__scSnapdom?Promise.resolve(window.__scSnapdom):jo||(jo=new Promise((e,t)=>{const n=document.createElement("script");n.src=function(){const e=E?.src;return e&&/comments(\.min)?\.js/.test(e)?e.replace(/comments(\.min)?\.js.*$/,"snapdom.min.js"):`${Oo()}/js/snapdom.min.js`}(),n.async=!0,n.onload=()=>{window.__scSnapdom?e(window.__scSnapdom):t(new Error("snapdom did not expose on window"))},n.onerror=()=>t(new Error("failed to load snapdom bundle")),document.head.appendChild(n)}).catch(e=>{throw jo=null,e}),jo));await new Promise(e=>{requestAnimationFrame(()=>requestAnimationFrame(e))});const t=function(){const e=document.createElement("style");return e.setAttribute("data-sc-no-hover","1"),e.textContent="*, *::before, *::after { pointer-events: none !important; }",document.head.appendChild(e),document.documentElement.offsetWidth,e}(),n=document.documentElement,o="undefined"!=typeof window?window.visualViewport:null,r=o?.width??n.clientWidth,i=o?.height??n.clientHeight,a=o?.offsetTop??0,s=o?.offsetLeft??0,l=function(e,t){const n=[],o=[],r=wt.join(","),i=document.querySelectorAll("*");let a=0;for(const s of i){if(!(s instanceof HTMLElement))continue;if(r&&s.matches(r))continue;if(o.some(e=>e.contains(s)))continue;const i=getComputedStyle(s);if("fixed"!==i.position&&"sticky"!==i.position)continue;const l=s.getBoundingClientRect();if(l.width<1||l.height<1)continue;const m="sc-pin-"+a++;s.setAttribute("data-sc-pin",m),n.push({id:m,kind:i.position,top:l.top-t,left:l.left-e,width:l.width,height:l.height,...Wo(s)}),o.push(s)}return n}(s,a),m=function(e,t,n){const o=[],r=e.map(e=>document.querySelector(`[data-sc-pin="${e.id}"]`)).filter(Boolean),i=wt.join(","),a=document.querySelectorAll(Vo.join(",")),s=new Set;let l=0;for(const e of a){if(!(e instanceof HTMLElement))continue;if(s.has(e))continue;if(s.add(e),i&&e.matches(i))continue;if(i&&e.closest(i))continue;if(r.some(t=>t===e||t.contains(e)))continue;const a=getComputedStyle(e);if("none"===a.display||"hidden"===a.visibility)continue;if(0===parseFloat(a.opacity))continue;const m=e.getBoundingClientRect();if(m.width<1||m.height<1)continue;if(m.bottom<0||m.top>window.innerHeight)continue;if(m.right<0||m.left>window.innerWidth)continue;const c="sc-portal-"+l++;e.setAttribute("data-sc-pin",c),o.push({id:c,kind:"portal",top:m.top-n,left:m.left-t,width:m.width,height:m.height,...Wo(e)})}return o}(l,s,a),c={vw:r,vh:i,offsetTop:a,offsetLeft:s,pins:[...l,...m]},p=function(e,t){const n=[document.documentElement,document.body],o=[];for(const r of n)r&&(Object.defineProperty(r,"scrollHeight",{get:()=>t,configurable:!0}),Object.defineProperty(r,"scrollWidth",{get:()=>e,configurable:!0}),o.push(r));return o}(r,i),d="undefined"!=typeof window&&!0===window.__scSnapdomDebug;try{const t=await e(document.documentElement,{embedFonts:!0,backgroundColor:"#ffffff",useProxy:`${Oo()}/api/js/image-proxy?url=`,exclude:[...wt,"[data-sc-no-hover]"],excludeMode:"remove",plugins:[Yo(c)]}),n=await t.toBlob({type:"png",scale:2,dpr:1,backgroundColor:"#ffffff"});return d&&console.log("[snapdom-debug]",{vw:r,vh:i,offsetTop:a,offsetLeft:s,fixed:l.filter(e=>"fixed"===e.kind).length,sticky:l.filter(e=>"sticky"===e.kind).length,portals:m.length,preservedTransforms:c.pins.filter(e=>e.transform).length,bytes:n.size}),{blob:n,mimeType:"image/png",filename:"viewport.png"}}finally{!function(e){for(const t of e)delete t.scrollHeight,delete t.scrollWidth}(p),t.remove(),function(e){for(const{id:t}of e){const e=document.querySelector(`[data-sc-pin="${t}"]`);e&&e.removeAttribute("data-sc-pin")}}(c.pins)}}()}catch(t){T("[snapdom] capture failed — submitting without screenshot",t),n=null}if(n?.blob){y.append("capturedImage",n.blob,n.filename),y.append("captureMethod","snapdom"),y.append("captureUrl",b.captureUrl),y.append("captureViewport",JSON.stringify(b.captureViewport)),y.append("captureScroll",JSON.stringify(b.captureScroll)),y.append("captureShapes",JSON.stringify(b.captureShapes));const t=Ee.slice();t.length&&y.append("captureClickSequence",JSON.stringify(t));try{const e=k();e&&(e.cookies?.length&&y.append("screenshotAuthCookies",JSON.stringify(e.cookies)),e.headers?.length&&y.append("screenshotAuthHeaders",JSON.stringify(e.headers)),e.storageSeeds?.length&&y.append("screenshotAuthStorageSeeds",JSON.stringify(e.storageSeeds)))}catch(e){T("[screenshot-auth] Failed to build ephemeral auth payload",e)}}}b.mentionUserIds&&b.mentionUserIds.length>0&&y.append("mentionUserIds",JSON.stringify(b.mentionUserIds)),L("About to process files for upload, state.addedFiles.length:",r.addedFiles.length);let x=[];if(r.addedFiles.length>0){try{const e=document.querySelector("#simple-commenter-file-container"),{preUploadedFiles:t,smallFiles:n}=await tt(r.addedFiles,r.simpleCommenterUserData.token,e);x=t;for(const e of n)L(`Appending small file to FormData: ${e.name}, size: ${e.size}`),y.append("files",e,e.name);x.length>0&&(L(`Pre-uploaded ${x.length} large file(s) via presigned URL`),y.append("preUploadedFiles",JSON.stringify(x)))}catch(e){return F("File upload failed:",e),void Xo.showAlertBanner({type:"error",title:"Upload Failed",description:e.message||"Failed to upload files. Please try again."})}L("All files processed")}else L("No files to process");r.addCommentInFlight=!0;const v={...b,title:Ve(e||""),text:Ve(t),files:r.addedFiles};b.useScreenshotOne&&(v.screenshot={status:"pending",captureMethod:"screenshotone",attempts:0}),function({holdMs:e=300,animateMs:t=150}={}){const n=r.commentInputUI;n&&(r.commentInputUI=null,r.screenshotData=null,je(),r.overlay&&(r.overlay.className="simple-commenter-overlay"),setTimeout(()=>{n.isConnected&&(n.style.pointerEvents="none",n.classList.remove("simple-commenter-panel-animate-in"),n.classList.add("simple-commenter-panel-animate-out"),setTimeout(()=>n.remove(),t))},e))}(),r.addedFiles=[],r.comments.push(v),await wr(),r.shouldAnimateMarkers=!1,Xo.updateCommentCount(),Xo.updateDrawerCommentList();try{const e=await fetch(`${I}addcomment`,{method:"POST",body:y}),t=await e.json();if(e.ok){if(!1===t.active)return void(t.alert&&console.error(t.message));r.addCommentInFlight=!1;const e=t.comments.find(e=>String(e.id)===String(t.createdCommentId)),n=e?.id;n&&w&&n!==w&&document.querySelectorAll(`[data-id="${w}"]`).forEach(e=>e.setAttribute("data-id",n)),r.comments=t.comments,r.statusCounts=t.counts,e&&r.sessionCommentIds.add(e.id),r.filterDropdown&&r.statusCounts&&r.filterDropdown.updateCounts(r.statusCounts),await wr(),Xo.updateCommentCount(),Xo.updateDrawerCommentList();const o=new Set(s);n&&o.add(n);for(const e of o){const t=document.querySelector(`.simple-commenter-comment-box[data-id="${e}"]`);t&&hr(t,!1)}const i=Ko(t);return function({useScreenshotOne:e=!1,screenshotAccepted:t=!1,createdCommentId:n=null}={}){return!0===e&&!0===t&&Boolean(n)}({useScreenshotOne:b.useScreenshotOne,screenshotAccepted:i.accepted,createdCommentId:t.createdCommentId})&&(async function(e){const t=String(e||""),n=qn();if(!t||!n)return null;try{const e=await fetch(`${I}screenshot-start/${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({domain:n})}),o=await e.json();if(!e.ok)throw Kn(e,o,"Failed to start screenshot processing.");return o}catch(e){return T("[screenshot-start] Failed to start immediate screenshot job:",e),null}}(t.createdCommentId),async function(e){const t=String(e),n=qn();if(!t||!n)return;so(t),r.processingScreenshotCommentIds.add(t);const o=Date.now(),i=e=>{const n=window.setTimeout(a,e);ao(t,{timeoutId:n,startedAt:o})};ao(t,{startedAt:o,consecutiveErrorCount:0,retryNoticeShown:!1,pollWarningShown:!1});const a=async()=>{if(r.processingScreenshotCommentIds.has(t)){if(Date.now()-o>=12e4)return so(t),r.processingScreenshotCommentIds.delete(t),r.activeScreenshotPulseCommentId===t&&(r.activeScreenshotPulseCommentId=null,_n.removePulse?.()),void _n.showAlertBanner?.({type:"info",title:"Screenshot still processing",description:"Your screenshot is still processing. Refresh the page in a moment to see the final image."});try{const e=await fetch(`${I}screenshot-status/${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({domain:n})});if(429===e.status)return void i(1e3);const o=await e.json();if(!e.ok)throw new Error(o?.message||"Failed to check screenshot status.");const r=ao(t,{consecutiveErrorCount:0});if("ready"===o.status)return io(t,{status:"ready",imgLarge:o.imgLarge,imgSmall:o.imgSmall,failureCode:"",failureMessage:"",failureReason:"",attempts:o.attempts||0,nextAttemptAt:null}),lo(t,{removePulseMarker:!0}),await(_n.displayComments?.("screenshot-ready")),void _n.updateDrawerCommentList?.();if("failed"===o.status)return io(t,{status:"failed",failureCode:o.failureCode||"",failureMessage:o.failureMessage||"",failureReason:o.failureReason||"",attempts:o.attempts||0,nextAttemptAt:null}),lo(t,{removePulseMarker:!0}),await(_n.displayComments?.("screenshot-failed")),_n.updateDrawerCommentList?.(),void _n.showAlertBanner?.({type:"error",title:"Screenshot failed",description:o.failureReason||"We could not finish the screenshot for this comment."});io(t,function(e={}){return{status:e.status||"processing",attempts:e.attempts||0,failureCode:e.failureCode||"",failureMessage:e.failureMessage||"",failureReason:e.failureReason||"",nextAttemptAt:e.nextAttemptAt||null}}(o)),function({status:e="",failureReason:t="",nextAttemptAt:n=null,retryNoticeShown:o=!1}={}){return"pending"===e&&Boolean(t)&&Boolean(n)&&!0!==o}({...o,retryNoticeShown:r.retryNoticeShown})&&(_n.showAlertBanner?.({type:"info",title:"Screenshot retrying automatically",description:"The first screenshot attempt failed. We will retry automatically and update this comment when the screenshot is ready."}),ao(t,{retryNoticeShown:!0})),i(2e3)}catch(e){const n=ao(t,{consecutiveErrorCount:(r.screenshotPollHandles.get(t)?.consecutiveErrorCount||0)+1});(function({consecutiveErrorCount:e=0,warningShown:t=!1}={}){return e>=3&&!0!==t})({consecutiveErrorCount:n.consecutiveErrorCount,warningShown:n.pollWarningShown})&&(_n.showAlertBanner?.({type:"info",title:"Screenshot status delayed",description:"We are still checking the screenshot status. The screenshot may finish in the background, so keep this page open or refresh again shortly."}),ao(t,{pollWarningShown:!0})),i(2e3)}}else so(t)};i(1e3)}(t.createdCommentId)),function(e={}){const{accepted:t,skipReason:n}=Ko(e);if(t||!n)return;const o={quota_exceeded:{title:"Screenshot skipped",description:"Your comment was posted, but the screenshot quota has been reached for this account."},queue_full:{title:"Screenshot queue is full",description:"Your comment was posted, but screenshot capture is temporarily busy. Please try again shortly."},url_not_publicly_reachable:{title:"Screenshot skipped — URL not reachable",description:"Your comment was posted. Our screenshot service can't reach localhost or intranet URLs. Install the Chrome extension to capture these pages from your own browser."},auth_forwarding_unavailable:{title:"Screenshot skipped — auth was not available",description:"Your comment was posted, but we could not forward the page's live login state to the screenshot service."},disabled:{title:"Screenshot skipped",description:"Your comment was posted, but server-side screenshots are disabled for this project."}}[n];o&&Xo.showAlertBanner({type:"info",title:o.title,description:o.description})}(t),window.dispatchEvent(new CustomEvent("simpleCommenterNewComment",{detail:{comments:t.comments,counts:t.counts}})),Xo.notifyParentFrame("COMMENT_ADDED",{comment:t.comments?.[0]||b,comments:t.comments,counts:t.counts}),t}r.addCommentInFlight=!1,Xo.showAlertBanner({type:"error",title:"Error Submitting Comment",description:t.message||"An error occurred while submitting your comment."}),console.error(t.message)}catch(e){r.addCommentInFlight=!1,Xo.showAlertBanner({type:"error",title:"Request Failed",description:e.message})}},pr=async(e,t,{mentionUserIds:n,fileSessionKey:o}={})=>{D(),L("Reply text:",e),L("All state.replyFileSessions keys:",Object.keys(r.replyFileSessions));const i=o||t,a=r.replyFileSessions[i]||[];if(L(`filesForThisReply for ${t}:`,a.length,a.map(e=>e.name)),!e&&0===a.length)return L("Validation failed: no text or files"),A(),void alert("Please enter some reply text or attach a file.");const{locator:s}=Tt(document?.URL),l=await ro(),m=new FormData;if(m.append("domain",r.domain),m.append("referrer",document.URL),m.append("token",r.simpleCommenterUserData.token),m.append("commentId",t),m.append("reply",e),m.append("locator",JSON.stringify(s)),m.append("metadata",JSON.stringify(l)),m.append("userData",JSON.stringify(r.simpleCommenterUserData)),r.assetCommenting&&(m.append("assetCommenting",JSON.stringify(r.assetCommenting)),m.append("assetState",JSON.stringify(r.assetState))),n&&n.length>0&&m.append("mentionUserIds",JSON.stringify(n)),L("About to process reply files, filesForThisReply.length:",a.length),a.length>0){try{const e=document.getElementById(`simple-commenter-file-container-reply-${t}`)||document.getElementById(`simple-commenter-drawer-file-container-reply-${t}`),{preUploadedFiles:n,smallFiles:o}=await tt(a,r.simpleCommenterUserData.token,e);for(const e of o)L(`Appending small reply file to FormData: ${e.name}, size: ${e.size}`),m.append("files",e,e.name);n.length>0&&(L(`Pre-uploaded ${n.length} large reply file(s) via presigned URL`),m.append("preUploadedFiles",JSON.stringify(n)))}catch(e){return F("Reply file upload failed:",e),void Xo.showAlertBanner({type:"error",title:"Upload Failed",description:e.message||"Failed to upload files. Please try again."})}L("All reply files processed"),L(`Deleting state.replyFileSessions[${i}]`),delete r.replyFileSessions[i]}const c=await fetch(`${I}replycomment`,{method:"POST",body:m}),p=await c.json();if(c.ok){if(!1===p.active)return void(p.alert&&console.error(p.message));r.comments=p,delete r.replyDrafts[t],r.justRepliedCommentId=t;const e=xr();document.querySelectorAll(".simple-commenter-comment-marker, .simple-commenter-comment-box").forEach(t=>{const n=t.getAttribute("data-id");e.has(n)||t.remove()});for(const t of r.comments){const n=e.has(t.id);await br(t,null,n)}r.justRepliedCommentId=null;const n=p.find(e=>e.id===t);return n?(Xo.showAlertBanner({type:"success",title:"Reply Submitted!",description:"Your feedback has been successfully posted."}),window.dispatchEvent(new CustomEvent("simpleCommenterReplyAdded",{detail:{comments:p,commentId:t,updatedComment:n}})),p):(console.error("Updated comment not found in response."),p)}Xo.showAlertBanner({type:"error",title:"Error Submitting Reply",description:p.message||"An error occurred while submitting your reply."}),console.error(p.message)};function dr(e,t,n,o){const i=n||r.currentElement;if(!i)return void console.error("No element is currently selected for commenting.");r.currentElement=i,r.commentInputUI&&r.commentInputUI.remove(),document.getElementById("simple-commenter-comment-input")?.remove(),He(i),function(e,t){je();const n=document.createElement("div");n.className="simple-commenter-pulse-container",n.id="simple-commenter-pulse",n.style.left=`${e}px`,n.style.top=`${t}px`;const o=document.createElement("div");o.className="simple-commenter-pulse-dot";const r=document.createElement("div");r.className="simple-commenter-pulse-anim",n.appendChild(r),n.appendChild(o),document.body.appendChild(n)}(e,t);const a={x:e,y:t};let s="normal";r.commentInputUI=document.createElement("div"),r.commentInputUI.style="position:fixed;",r.commentInputUI.className="simple-commenter-container simple-commenter-panel-animate-in",r.commentInputUI.id="simple-commenter-comment-input";const{header:l}=function(){const e=document.createElement("div");e.className="simple-commenter-input-header";const t=document.createElement("div");t.className="simple-commenter-comment-meta simple-commenter-flex-1 simple-commenter-gap-1 simple-commenter-draw-icons-div";const n=Xo.createIconButton({icon:"square",ariaLabel:"Draw Square",onClick:e=>{const t=e.currentTarget.querySelector("svg");t&&(document.body.style.cursor="crosshair",r.overlay.className="simple-commenter-overlay",t.classList.toggle("simple-commenter-icons-active"),r.isDrawing=!r.isDrawing,r.currentTool=r.isDrawing?"square":null,r.isDrawing?(document.addEventListener("mousedown",pt),document.addEventListener("touchstart",pt,{passive:!1})):(document.removeEventListener("mousedown",pt),document.removeEventListener("touchstart",pt)))}}),o=Xo.createIconButton({icon:"circle",ariaLabel:"Draw Circle",onClick:e=>{const t=e.currentTarget.querySelector("svg");t&&(document.body.style.cursor="crosshair",r.overlay.className="simple-commenter-overlay",t.classList.toggle("simple-commenter-icons-active"),r.isDrawing=!r.isDrawing,r.currentTool=r.isDrawing?"circle":null,r.isDrawing?(document.addEventListener("mousedown",pt),document.addEventListener("touchstart",pt,{passive:!1})):(document.removeEventListener("mousedown",pt),document.removeEventListener("touchstart",pt)))}}),i=Xo.createIconButton({icon:"line",ariaLabel:"Draw Line",onClick:e=>{const t=e.currentTarget.querySelector("svg");t&&(document.body.style.cursor="crosshair",r.overlay.className="simple-commenter-overlay",t.classList.toggle("simple-commenter-icons-active"),r.isDrawing=!r.isDrawing,r.currentTool=r.isDrawing?"line":null,r.isDrawing?(document.addEventListener("mousedown",pt),document.addEventListener("touchstart",pt,{passive:!1})):(document.removeEventListener("mousedown",pt),document.removeEventListener("touchstart",pt)))}}),a=Xo.createIconButton({icon:"arrow",ariaLabel:"Draw Arrow Line",onClick:e=>{const t=e.currentTarget.querySelector("svg");t&&(document.body.style.cursor="crosshair",r.overlay.className="simple-commenter-overlay",t.classList.toggle("simple-commenter-icons-active"),r.isDrawing=!r.isDrawing,r.currentTool=r.isDrawing?"arrow":null,r.isDrawing?(document.addEventListener("mousedown",pt),document.addEventListener("touchstart",pt,{passive:!1})):(document.removeEventListener("mousedown",pt),document.removeEventListener("touchstart",pt)))}}),s=Xo.createIconButton({icon:"pen",ariaLabel:"Draw Pen",onClick:e=>{const t=e.currentTarget.querySelector("svg");t&&(document.body.style.cursor="crosshair",r.overlay.className="simple-commenter-overlay",t.classList.toggle("simple-commenter-icons-active"),r.isDrawing=!r.isDrawing,r.currentTool=r.isDrawing?"pen":null,r.isDrawing?(document.addEventListener("mousedown",pt),document.addEventListener("touchstart",pt,{passive:!1})):(document.removeEventListener("mousedown",pt),document.removeEventListener("touchstart",pt)))}}),l=Xo.createIconButton({icon:"visible",ariaLabel:"Hide",onClick:()=>{Ir(l,m),zr()}}),m=Xo.createIconButton({icon:"hidden",ariaLabel:"Visible",className:"simple-commenter-display-none",onClick:()=>{Ir(m,l),zr()}}),c=Xo.createIconButton({icon:"back",ariaLabel:"Back",onClick:()=>{if(r.shapes.length>0){const e=r.shapes.pop();e.element&&e.element.parentNode&&e.element.parentNode.removeChild(e.element),r.redoShapes.push(e),gt()}}}),p=Xo.createIconButton({icon:"forward",ariaLabel:"Forward",onClick:()=>{if(r.redoShapes.length>0){const e=r.redoShapes.pop();document.body.appendChild(e.element),r.shapes.push(e),gt()}}});let d=null,u=null;d=function(){const e=document.createElement("div");return e.className="simple-commenter-color-picker simple-commenter-display-none",e.style.position="absolute",[{name:"primary",value:r.theme?.primary||"purple"},{name:"red",value:"#E66A6A"},{name:"blue",value:"#62B0E8"},{name:"green",value:"#7BC47F"},{name:"white",value:"#FFFFFF"},{name:"black",value:"#000000"}].forEach(t=>{const n=Qe.createIconButton({icon:"color",ariaLabel:`Select color ${t.name}`,className:"simple-commenter-color-option",color:t.value,dataColor:t.value,onClick:t=>{t.stopPropagation(),r.selectedColorValue=t.currentTarget.dataset.color,(e=>{const t="simple-commenter-shape-styles";let n=document.getElementById(t);n||(n=document.createElement("style"),n.id=t,document.head.appendChild(n));const o=`\n .simple-commenter-background-primary {\n fill: ${e};\n }\n `;n.innerHTML=o})(r.selectedColorValue),e.classList.add("simple-commenter-display-none")}});e.appendChild(n)}),e}(),u=Xo.createIconButton({icon:"color",ariaLabel:"Pick Color",position:"relative",onClick:e=>{d.classList.toggle("simple-commenter-display-none")}});const g=document.createElement("div");return g.className="simple-commenter-vertical-line",t.appendChild(n),t.appendChild(o),t.appendChild(i),t.appendChild(a),t.appendChild(s),t.appendChild(u),u.appendChild(d),t.appendChild(g),t.appendChild(l),t.appendChild(m),t.appendChild(c),t.appendChild(p),e.appendChild(t),{header:e,drawIconsContainer:t}}(),{body:c,titleInput:p,textarea:d,fileContainer:u,screenshotsContainer:g}=function({onPriorityChange:e,onGrow:t}={}){const n=document.createElement("div");n.className="simple-commenter-input-body simple-commenter-dropzone",n.id="simple-commenter-comment-textarea";const o=Mr({currentPriority:"normal",onChange:t=>{e&&e(t)}});let i=null;if(r.taggingEnabled){i=document.createElement("button"),i.type="button",i.className="simple-commenter-attach-users-btn",i.title=Xo.localize("tagUsers")||"Tag users";const e='',t=document.createElement("span");t.textContent=Xo.localize("tagUsers")||"Tag users",i.innerHTML=e,i.appendChild(t)}const a=document.createElement("div");a.className="simple-commenter-attached-badges",a.style.display="none";let s=null;if(r.commentTitle){s=document.createElement("input"),s.type="text",s.className="simple-commenter-title-input-new",s.placeholder=Xo.localize("enterCommentTitlePlaceholder");const e=document.createElement("div");e.className="simple-commenter-input-separator",n.appendChild(s),n.appendChild(e)}const l=document.createElement("div");l.setAttribute("contenteditable","true"),l.className="simple-commenter-textarea-new simple-commenter-textarea-check",l.setAttribute("data-placeholder",r.taggingEnabled&&r.taggableMentionables.length>0?Xo.localize("enterCommentPlaceholderWithMentions"):Xo.localize("enterCommentPlaceholder")),l.setAttribute("role","textbox");const c=()=>{l.scrollHeight>125?l.classList.add("has-overflow"):l.classList.remove("has-overflow"),t&&t()};function p(){a.innerHTML="";const e=Pn(l),t=[];for(const n of Zo)e.some(e=>e.id===n.id),t.push({id:n.id,label:n.label,removable:!0});for(const n of e)Zo.some(e=>e.id===n.id)||t.push({id:n.id,label:n.label,removable:!1});if(0!==t.length){a.style.display="flex";for(const e of t){const t=document.createElement("span");if(t.className="simple-commenter-attached-badge",t.textContent=`@${e.label}`,e.removable){const n=document.createElement("button");n.type="button",n.className="simple-commenter-attached-badge-remove",n.textContent="×",n.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation(),Zo=Zo.filter(t=>t.id!==e.id),p()}),t.appendChild(n)}a.appendChild(t)}}else a.style.display="none"}l.addEventListener("input",c),l.addEventListener("paste",e=>{e.preventDefault();const t=(e.clipboardData||window.clipboardData).getData("text/plain");document.execCommand("insertText",!1,t)}),l.addEventListener("keydown",e=>{if("Enter"===e.key&&!e.shiftKey){if(An())return;e.preventDefault(),document.execCommand("insertLineBreak"),c()}}),r.pendingDraftText&&(m(l,r.pendingDraftText),r.pendingDraftText=null),Go=[],Zo=[],Un(l,e=>{Go.includes(e)||Go.push(e),p()}),l.addEventListener("input",()=>p()),i&&i.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),Nn(i,{onToggle:(e,t,n)=>{n?Zo.some(t=>t.id===e)||Zo.push({id:e,label:t}):Zo=Zo.filter(t=>t.id!==e),p()},getManualIds:()=>Zo.map(e=>e.id),getTextMentionIds:()=>Pn(l).map(e=>e.id)})});const d=document.createElement("div");d.id="simple-commenter-file-container";const u=document.createElement("div");u.id="simple-commenter-screenshots-container";const g=document.createElement("div");g.className="simple-commenter-drop-overlay simple-commenter-label",g.textContent=Xo.localize("dropFilesHere"),g.style.display="none";let h=null;return r.simpleCommenterUserData.name&&r.simpleCommenterUserData.name.trim()&&(h=document.createElement("p"),h.className="simple-commenter-attribution",h.textContent=`— ${r.simpleCommenterUserData.name}`),n.appendChild(l),h&&n.appendChild(h),n.appendChild(a),n.appendChild(d),n.appendChild(u),i&&(o.element.style.display="flex",o.element.style.alignItems="center",o.element.style.gap="4px",o.element.appendChild(i)),n.appendChild(o.element),n.appendChild(g),{body:n,titleInput:s,textarea:l,fileContainer:d,screenshotsContainer:u,dropOverlay:g,priorityDropdown:o}}({onPriorityChange:e=>{s=e,L("Priority changed to:",e)},onGrow:()=>{h()}}),h=()=>{if(!r.commentInputUI)return;const e=r.commentInputUI.getBoundingClientRect(),t=window.innerHeight;if(e.bottom>t-10){const n=Math.max(10,t-e.height-10);r.commentInputUI.style.top=`${n}px`}},f=document.createElement("div"),b=document.createElement("div");if(b.className="simple-commenter-space-between simple-commenter-comment-meta-container simple-commenter-margin--4px-left",!r.simpleCommenterUserData.name||!r.simpleCommenterUserData.name.trim()){const e=Xo.createIconButton({icon:"user",ariaLabel:"Attach Identity",tooltip:Xo.localize("attachIdentity"),onClick:()=>{const e=document.getElementById("simple-commenter-userContainer");e&&(e.style.display="block")}});r.simpleCommenterUserData.associated&&b.appendChild(e)}const w=Xo.createIconButton({icon:"draw",ariaLabel:"Edit Mode",tooltip:Xo.localize("draw"),onClick:e=>{const t=e.currentTarget.querySelector("svg");t&&t.classList.toggle("simple-commenter-icons-active");const n=l.classList.toggle("simple-commenter-draw-mode-active");r.commentInputUI.classList.toggle("simple-commenter-draw-active",n)}}),y=Xo.createIconButton({icon:"screenshot",ariaLabel:"Capture Screenshot",tooltip:Xo.localize("screenshot"),onClick:async()=>{r.overlay&&(r.overlay.className="simple-commenter-overlay");const e=ot({screenshot:await vt()});e&&(g.appendChild(e),setTimeout(h,50))}}),x=Xo.createUploadButton({iconSvg:Xo.iconSvgs.upload,ariaLabel:"Upload File",tooltip:Xo.localize("uploads"),onFilesSelected:({validFiles:e,invalidFiles:t})=>{if(e.length>0&&(r.addedFiles.push(...e),rt(null,u),setTimeout(h,50)),t.length>0){const e=ht(r.tier);Xo.showAlertBanner({type:"error",title:"File Upload Error",description:`Some files were rejected. Please ensure files are of an allowed type and do not exceed your plan's ${e.maxSizeMB}MB size limit.`}),console.warn("Invalid files rejected:",t)}}});r.isMobile||(r.drawing&&b.appendChild(w),!r.screenshots||r.extensionMode&&r.extensionAutoScreenshots||b.appendChild(y)),r.uploads&&b.appendChild(x),f.className="simple-commenter-comment-box-menu",f.style.cssText="margin-top: 4px;";const v=document.createElement("button");v.textContent=Xo.localize("post"),v.setAttribute("aria-label","Submit your comment"),v.className="simple-commenter-button";const C=window.innerWidth-10,k=window.innerHeight-10,E=Math.min(360,C-24),S=e+6,D=t+6,A=Math.max(12,Math.min(S,C-E)),T=Math.max(12,Math.min(D,k-210));r.commentInputUI.style.left=`${A}px`,r.commentInputUI.style.top=`${T}px`,r.commentInputUI.style.zIndex="12111",v.onclick=async()=>{Xe(v);try{const e=R(p?p.value:"",{allowNewlines:!1}),t=R(bn(d),{allowNewlines:!0});await cr(e,t,i,o,a,s)}catch(e){console.error("Failed to add comment:",e),Xo.showAlertBanner({description:"Failed to post comment. Please try again."})}finally{Ge(v)}};const F=document.createElement("button");F.className="simple-commenter-drag-handle",F.setAttribute("aria-label","Drag to move");let M,P,B=!1;const I=e=>e.touches?e.touches[0].clientX:e.clientX,z=e=>e.touches?e.touches[0].clientY:e.clientY,N=e=>{e.preventDefault(),B=!0,F.style.background="linear-gradient(135deg, rgb(67 56 202) 0%, rgb(109 40 217) 100%)",M=I(e)-parseFloat(r.commentInputUI.style.left||0)||0,P=z(e)-parseFloat(r.commentInputUI.style.top||0)||0,document.body.style.userSelect="none",document.body.style.touchAction="proxy.php?url=https%3A%2F%2Fsimplecommenter.com%2Fnone",document.addEventListener("mousemove",$),document.addEventListener("touchmove",$,{passive:!1}),document.addEventListener("mouseup",U,{once:!0}),document.addEventListener("touchend",U,{once:!0})},$=e=>{if(!B)return;e.preventDefault();const t=I(e)-M,n=z(e)-P,o=window.innerWidth,i=window.innerHeight,a=o-(r.commentInputUI.offsetWidth||360),s=i-(r.commentInputUI.offsetHeight||180),l=Math.max(0,Math.min(t,a)),m=Math.max(0,Math.min(n,s));r.commentInputUI.style.left=`${l}px`,r.commentInputUI.style.top=`${m}px`},U=()=>{B=!1,F.style.background="",document.removeEventListener("mousemove",$),document.removeEventListener("touchmove",$),document.body.style.userSelect="",document.body.style.touchAction=""};F.addEventListener("mousedown",N),F.addEventListener("touchstart",N,{passive:!1}),r.commentInputUI.appendChild(F);const _=document.createElement("button");_.className="simple-commenter-floating-close-btn",_.setAttribute("aria-label","Close"),_.innerHTML='\n \n \n \n ',_.addEventListener("click",()=>{$r(),ct(),zr()}),r.commentInputUI.appendChild(_),r.commentInputUI.appendChild(l),r.commentInputUI.appendChild(c),f.appendChild(b),f.appendChild(v),r.commentInputUI.appendChild(f),document.body.appendChild(r.commentInputUI);const q=ht(r.tier);ft(d,u,q),c.addEventListener("contentAdded",()=>{setTimeout(h,50)}),p?p.focus():d.focus()}function ur(){L("[CLOSE-DEBUG] hideComments() removing ALL elements",{caller:(new Error).stack?.split("\n")[2]?.trim()}),$r(),document.querySelectorAll(".simple-commenter-comment-marker, .simple-commenter-comment-box, .simple-commenter-container").forEach(e=>e.remove())}function gr(){$r(),document.querySelectorAll(".simple-commenter-container").forEach(e=>e.remove())}function hr(e,t=!0){e&&(e._hideTimeout&&(clearTimeout(e._hideTimeout),e._hideTimeout=null),e.style.display="flex",e.style.visibility="visible",e.style.pointerEvents="auto",e.classList.remove("simple-commenter-panel-animate-out"),t?(e.classList.add("simple-commenter-panel-animate-in"),setTimeout(()=>{e.classList.remove("simple-commenter-panel-animate-in")},200)):e.classList.remove("simple-commenter-panel-animate-in"))}function fr(e,t="unknown"){if(!e)return;const n=e.getAttribute("data-id");L("[CLOSE-DEBUG] hideCommentBoxPanel called",{commentId:n,reason:t}),e._hideTimeout&&(clearTimeout(e._hideTimeout),e._hideTimeout=null),e.style.pointerEvents="none",e.classList.remove("simple-commenter-panel-animate-in"),e.classList.add("simple-commenter-panel-animate-out"),e._hideTimeout=setTimeout(()=>{e.style.visibility="hidden",e.style.display="none",e.classList.remove("simple-commenter-panel-animate-out"),e._hideTimeout=null},150)}const br=async(e,t=null,n=!1)=>{if(!t&&(t=ve(e))){const e=t.getBoundingClientRect();r.iframeCommenting||e.width>0&&e.height>0&&e.right>0&&e.bottom>0&&e.left{o.style.transform="",o.style.opacity="",o.classList.add("simple-commenter-marker-animate-in"),setTimeout(()=>{o.classList.remove("simple-commenter-marker-animate-in")},300)},t),r.animatedMarkerIds.add(e.id),r.markerAnimationIndex++}i&&(o.setAttribute("data-approximate","true"),o.style.opacity="0.6",o.style.border="2px dashed rgba(255, 255, 255, 0.8)")}if(o){const t=Tr.find(t=>t.value===e.status)||Tr.find(e=>"todo"===e.value);t&&o.style.setProperty("--status-bg",t.ring)}let a=document.querySelector(`.simple-commenter-comment-box[data-id="${e.id}"]`),s=r.replyDrafts?.[e.id]||"",m=null,p=null,d=!1;if(a){const t=a.querySelector(".simple-commenter-reply-textarea-inline");t&&e.id!==r.justRepliedCommentId&&(s=l(t),r.replyDrafts[e.id]=l(t));const n=a.querySelector(".simple-commenter-disclosure-btn");n&&(d="true"===n.getAttribute("aria-expanded")),p=e._priorityDropdown,m=e._statusDropdown}a?(n&&hr(a,!1),m&&m.element.parentNode&&m.element.parentNode.removeChild(m.element),e._actionsDropdown&&e._actionsDropdown.element.parentNode&&e._actionsDropdown.element.parentNode.removeChild(e._actionsDropdown.element),a.innerHTML=""):(a=document.createElement("div"),a.style.visibility=n?"visible":"hidden",a.className=n?"simple-commenter-comment-box simple-commenter-panel-animate-in":"simple-commenter-comment-box",a.setAttribute("data-id",e.id),n&&setTimeout(()=>{a.classList.remove("simple-commenter-panel-animate-in")},200)),a._hasClickStopPropagation||(a._hasClickStopPropagation=!0,a.addEventListener("click",e=>{e.stopPropagation()}));const u=e.userData||{},g=u.name&&u.name.trim()?u.name.trim():u.role&&["client","team","user"].includes(u.role)&&Xo.localize(u.role)&&Xo.localize(u.role).trim()?Xo.localize(u.role):Xo.localize("anonymous"),h=document.createElement("div");h.className="simple-commenter-comment-box-header";const f=document.createElement("div");f.className="simple-commenter-comment-box-header-left";const b=document.createElement("div");if(b.className="simple-commenter-comment-box-header-right",(e.isError||!t)&&(!r.assetCommenting||!e.asset)){const t=document.createElement("button");t.className="simple-commenter-hidden-btn",t.innerHTML=Xo.iconSvgs.hidden||"";const n=document.createElement("span");n.textContent=Xo.localize("hidden"),t.appendChild(n),t.addEventListener("click",t=>{t.stopPropagation(),Xo.openPopup("hidden-comment",{commentId:e.id})}),f.appendChild(t)}let w;p?w=p:(w=Mr({currentPriority:e.priority||"normal",onChange:async t=>{try{await Xo.updateCommentStatus(e.id,{newPriority:t})}catch(e){F("Error updating comment priority:",e)}}}),e._priorityDropdown=w);const y=document.createElement("span");y.textContent=`#${e.commentNumber||"?"}`,y.style.cssText="font-size: 11px !important; font-weight: 600 !important; color: rgb(107, 114, 128) !important; background: rgb(243, 244, 246) !important; padding: 6px 6px !important; border-radius: 4px !important; margin-right: 6px !important; line-height: 1 !important; display: inline-flex !important; align-items: center !important; box-sizing: border-box !important;",f.appendChild(y),f.appendChild(w.element);let x=null;if(!r.sidebarDisabled){const t=[{key:"reattach",label:Xo.localize("reattachComment")||"Reattach Comment",icon:"reattach",onClick:()=>{fr(a,"reattach-mode"),it(e.id)}}];r.sessionCommentIds.has(e.id)&&(t.push({key:"edit",label:Xo.localize("editComment")||"Edit Comment",icon:"pen",onClick:()=>{!function(e,t){r.isEditingComment=!0;let n=[],o=null;const i=t.querySelector(`.simple-commenter-comment-container[data-id="${e.id}"]`);if(!i)return;const a=""!==(e.title||"").trim(),s=a?i.querySelector(".simple-commenter-title.simple-commenter-title-bold"):null,l=a?i.querySelector(".simple-commenter-title.simple-commenter-text")||i.querySelector(".simple-commenter-title:not(.simple-commenter-title-bold)"):i.querySelector(".simple-commenter-title"),m=Xo.decodeHTMLEntities(Xo.decodeHTMLEntities(e.text||"")),c=Xo.decodeHTMLEntities(e.title||""),p=yn(m);n=p.map(e=>e.id);let d=null;s&&(d=document.createElement("input"),d.type="text",d.value=c,d.className="simple-commenter-textarea-new",d.style.cssText="font-weight: 600 !important; font-size: 14px !important; margin: 0 0 4px 0 !important; min-height: auto !important;",s.replaceWith(d));let u=null;l&&(u=document.createElement("div"),u.setAttribute("contenteditable","true"),u.className="simple-commenter-textarea-new simple-commenter-textarea-check",u.setAttribute("role","textbox"),u.innerHTML=function(e){if(!e)return"";const t=e.split(/(@\[([^\]]*)\]\(([^)]+)\))/g);let n="",o=0;for(;o");const e=t[o+2];n+=`@${vn(e)}`,o+=4}else n+=vn(t[o]).replace(/\n/g,"
"),o++;return n}(m),u.addEventListener("paste",e=>{e.preventDefault();const t=(e.clipboardData||window.clipboardData).getData("text/plain");document.execCommand("insertText",!1,t)}),u.addEventListener("keydown",e=>{if("Enter"===e.key&&!e.shiftKey){if(An())return;e.preventDefault(),document.execCommand("insertLineBreak")}}),l.replaceWith(u),o=Un(u,e=>{n.includes(e)||n.push(e)}));const g=i.querySelector(".simple-commenter-attribution-row");g&&(g.style.display="none");const h=i.querySelector(".simple-commenter-attached-badges");h&&(h.style.display="none");const f=document.createElement("div");f.className="simple-commenter-edit-actions",f.style.cssText="display: flex !important; gap: 8px !important; margin-top: 8px !important; justify-content: flex-end !important;";const b=Ye({ariaLabel:Xo.localize("cancel")||"Cancel",text:Xo.localize("cancel")||"Cancel",onClick:async()=>{r.isEditingComment=!1,o&&o(),await wr()}}),w=Ye({ariaLabel:Xo.localize("save")||"Save",text:Xo.localize("save")||"Save",onClick:async()=>{const t=d?d.value.trim():c,i=u?bn(u).trim():m;if(!i)return;Xe(w);const a=yn(i),s=[...new Set([...n,...a.map(e=>e.id)])];await Xo.editComment(e.id,t,i,s.length>0?s:void 0),r.isEditingComment=!1,o&&o()}});f.appendChild(b),f.appendChild(w);const y=i.querySelector(".simple-commenter-replies-wrapper"),x=i.querySelector(".simple-commenter-reply-input-row"),v=y||x;if(v?i.insertBefore(f,v):i.appendChild(f),u){u.focus();const e=window.getSelection();e.selectAllChildren(u),e.collapseToEnd()}else d&&d.focus()}(e,a)}}),t.push({key:"delete",label:Xo.localize("deleteComment")||"Delete Comment",icon:"trash",onClick:async()=>{r.sessionCommentIds.delete(e.id),a.remove();const t=document.querySelector(`.simple-commenter-comment-marker[data-id="${e.id}"]`);t&&t.remove(),await Xo.deleteComment(e.id)}})),x=function({actions:e=[],dataId:t}={}){let n=!1,o=null;const r=document.createElement("button");function i(){n||(n=!0,o=function(){const t=document.createElement("div");return t.classList.add("simple-commenter-actions-menu"),t.addEventListener("click",e=>{e.stopPropagation()}),e.forEach(e=>{const n=document.createElement("button");if(n.type="button",n.classList.add("simple-commenter-actions-option"),n.dataset.action=e.key,e.icon&&Xo.iconSvgs[e.icon]){const t=document.createElement("span");t.innerHTML=Xo.iconSvgs[e.icon],n.appendChild(t)}const o=document.createElement("span");o.textContent=e.label,n.appendChild(o),n.addEventListener("click",t=>{t.stopPropagation(),a(),e.onClick&&e.onClick(t)}),t.appendChild(n)}),t}(),document.body.appendChild(o),requestAnimationFrame(()=>{(function(){if(!o)return;const e=r.getBoundingClientRect(),t=o.getBoundingClientRect(),n=window.innerHeight,i=window.innerWidth;let a=e.bottom+4,s=e.right-t.width;a+t.height>n-8&&(a=e.top-t.height-4),s<8&&(s=8),s+t.width>i-8&&(s=i-t.width-8),o.style.top=`${a}px`,o.style.left=`${s}px`})(),o.classList.add("open")}),setTimeout(()=>{document.addEventListener("click",s,!0)},0))}function a(){n&&(n=!1,o&&(o.classList.remove("open"),setTimeout(()=>{o&&o.parentNode&&o.parentNode.removeChild(o),o=null},150)),document.removeEventListener("click",s,!0))}function s(e){r.contains(e.target)||o&&o.contains(e.target)||a()}return r.type="button",r.className="simple-commenter-actions-btn",r.setAttribute("aria-label","More actions"),r.innerHTML=Xo.iconSvgs.more||"",t&&r.setAttribute("data-id",t),r.addEventListener("click",e=>{e.stopPropagation(),n?a():i()}),{element:r,close:a,open:i}}({dataId:e.id,actions:t}),e._actionsDropdown=x,b.appendChild(x.element)}const v=document.createElement("button");v.className="simple-commenter-floating-close-btn simple-commenter-header-close-btn",v.setAttribute("aria-label","Close"),v.innerHTML='\n \n \n \n ',v.addEventListener("click",()=>{w&&w.close&&w.close(),x&&x.close&&x.close()}),b.appendChild(v),h.appendChild(f),h.appendChild(b),a.appendChild(h);const C=document.createElement("div");if(C.className="simple-commenter-comment-container",C.style.borderRadius="0",C.setAttribute("data-id",e.id),e.title&&e.title.trim()){const t=document.createElement("p");t.className="simple-commenter-title simple-commenter-title-bold",t.innerHTML=e.title,t.style.whiteSpace="pre-wrap",C.appendChild(t)}const k=document.createElement("p");k.className="simple-commenter-title";let E=Xo.decodeHTMLEntities(e.text||"");E=Xo.decodeHTMLEntities(E),k.innerHTML=xn(E),k.style.whiteSpace="pre-wrap",""===(e.title||"").trim()?k.classList.add("simple-commenter-title-bold"):k.classList.add("simple-commenter-text"),C.appendChild(k);const S=document.createElement("div");S.className="simple-commenter-attribution-row";const L=document.createElement("span");if(L.className="simple-commenter-attribution",L.textContent=`— ${g}`,r.metaData&&e.metadata){const t=Io(e.metadata,d,e);S.appendChild(t.querySelector(".simple-commenter-disclosure-btn")),S.appendChild(L),C.appendChild(S),C.appendChild(t.querySelector(".simple-commenter-disclosure-panel"))}else S.appendChild(L),C.appendChild(S);if(e.attachedUsers&&e.attachedUsers.length>0){const t=document.createElement("div");t.className="simple-commenter-attached-badges",t.style.display="flex",e.attachedUsers.forEach(e=>{const n=document.createElement("span");n.className="simple-commenter-attached-badge",n.textContent=`@${e.name||e.displayLabel||"User"}`,t.appendChild(n)}),C.appendChild(t)}if(e.screenshot){const t=ot({screenshot:e.screenshot});t&&C.appendChild(t)}if(e.attachments&&e.attachments.length>0){const t=document.createElement("div");t.className="simple-commenter-files-wrapper",e.attachments.forEach((e,n)=>{const o=nt({file:e,asLink:!0});t.appendChild(o)}),C.appendChild(t)}if(e.replies&&e.replies.length>0){const t=document.createElement("div");t.className="simple-commenter-replies-wrapper",e.replies.forEach(e=>{const n=Xo.createReplyItem(e);t.appendChild(n)}),C.appendChild(t)}const D=document.createElement("div");D.className="simple-commenter-reply-input-row simple-commenter-dropzone",D.style.cssText="margin-top: 12px; padding-top: 12px";const A=document.createElement("div");A.className="simple-commenter-reply-input-container",A.style.backgroundColor="#FFFFFF";const T=document.createElement("div");T.className="simple-commenter-reply-top-row",T.style.display="flex",T.style.flexDirection="row",T.style.alignItems="center",T.style.gap="4px",T.style.width="100%";const M=document.createElement("div");M.setAttribute("contenteditable","true"),M.className="simple-commenter-reply-textarea-inline",M.setAttribute("data-placeholder",r.taggingEnabled&&r.taggableMentionables.length>0?Xo.localize("addReplyPlaceholderWithMentions"):Xo.localize("addReplyPlaceholder")),M.setAttribute("data-id",e.id),M.setAttribute("role","textbox"),s&&(M.textContent=s);const P=()=>{M.scrollHeight>100?(M.style.maxHeight="100px",M.style.overflowY="auto"):M.style.overflowY="hidden"};M.addEventListener("input",P),M.addEventListener("paste",e=>{e.preventDefault();const t=(e.clipboardData||window.clipboardData).getData("text/plain");document.execCommand("insertText",!1,t)}),M.addEventListener("keydown",e=>{"Enter"!==e.key||e.shiftKey||An()||(e.preventDefault(),document.execCommand("insertLineBreak"))}),Jo[e.id]||(Jo[e.id]=[]),Un(M,t=>{Jo[e.id]||(Jo[e.id]=[]),Jo[e.id].includes(t)||Jo[e.id].push(t)});const B=({validFiles:t,invalidFiles:n})=>{if(t.length>0&&(r.replyFileSessions[e.id]||(r.replyFileSessions[e.id]=[]),r.replyFileSessions[e.id].push(...t),z.style.display="block",rt(e.id,z),q(),a.dispatchEvent(new CustomEvent("contentChanged"))),n.length>0){const e=ht(r.tier);Xo.showAlertBanner({type:"error",title:"File Upload Error",description:`Some files were rejected. Please ensure files are of an allowed type and do not exceed your plan's ${e.maxSizeMB}MB size limit.`}),console.warn("Invalid files rejected:",n)}};let I=null;r.uploads&&(I=Xo.createUploadButton({iconSvg:Xo.iconSvgs.upload,ariaLabel:"Upload File",className:"simple-commenter-reply-upload-btn",onFilesSelected:B}));const z=document.createElement("div");z.id=`simple-commenter-file-container-reply-${e.id}`,z.style.display="none",z.style.marginTop="8px";const N=document.createElement("span");N.className="simple-commenter-attribution",N.textContent=`— ${Dt()}`;const $=document.createElement("div");$.className="simple-commenter-reply-bottom-row",$.style.display="flex",$.style.flexDirection="row",$.style.alignItems="center",$.style.justifyContent="flex-end",$.style.gap="8px";let U=null;r.uploads&&(U=Xo.createUploadButton({iconSvg:Xo.iconSvgs.upload,ariaLabel:"Upload File",className:"simple-commenter-reply-upload-btn",onFilesSelected:B}),$.appendChild(U));const _=document.createElement("button");_.textContent=Xo.localize("addReply"),_.className="simple-commenter-button simple-commenter-reply-submit-btn",_.setAttribute("data-id",e.id),$.appendChild(_),T.appendChild(M),I&&T.appendChild(I),A.appendChild(T),A.appendChild(N),A.appendChild(z),A.appendChild($),$.style.overflow="hidden",$.style.maxHeight="0",$.style.opacity="0",$.style.transition="max-height 0.2s ease-out, opacity 0.15s ease-out, margin 0.2s ease-out",$.style.marginTop="0",N.style.overflow="hidden",N.style.maxHeight="0",N.style.opacity="0",N.style.transition="max-height 0.2s ease-out, opacity 0.15s ease-out, margin 0.2s ease-out",N.style.marginTop="0";const q=()=>{const t=l(M).trim().length>0,n=r.replyFileSessions[e.id]&&r.replyFileSessions[e.id].length>0;t||n?($.style.maxHeight="50px",$.style.opacity="1",$.style.marginTop="8px",N.style.maxHeight="30px",N.style.opacity="1",N.style.marginTop="4px",I&&(I.style.opacity="0",I.style.pointerEvents="none")):($.style.maxHeight="0",$.style.opacity="0",$.style.marginTop="0",N.style.maxHeight="0",N.style.opacity="0",N.style.marginTop="0",I&&(I.style.opacity="1",I.style.pointerEvents="auto"))};M.addEventListener("input",()=>{const t=l(M);t.trim().length>0?r.replyDrafts[e.id]=t:delete r.replyDrafts[e.id],P(),q()}),D.appendChild(A),C.appendChild(D),a.appendChild(C),r.replyFileSessions[e.id]&&r.replyFileSessions[e.id].length>0&&(z.style.display="block",rt(e.id,z),q()),s&&(P(),q());const j=document.createElement("div");j.className="simple-commenter-comment-box-menu",j.setAttribute("data-id",e.id);const O=document.createElement("span");O.className="simple-commenter-comment-date-large",O.textContent=Xo.timeAgo(e.date);const V=document.createElement("div");let W;if(V.className="simple-commenter-comment-box-buttons",V.setAttribute("data-id",e.id),m?W=m:(W=Pr({currentStatus:e.status,dataId:e.id,onChange:async(t,n)=>{t.stopPropagation();try{await Xo.updateCommentStatus(e.id,{newStatus:n})}catch(e){F("Error updating comment status:",e)}}}),e._statusDropdown=W),j.appendChild(O),V.appendChild(W.element),j.appendChild(V),a.appendChild(j),t){Array.from(o.querySelectorAll("svg")).forEach(e=>e.remove());const e=document.createElementNS("http://www.w3.org/2000/svg","svg");e.setAttribute("fill","none"),e.setAttribute("viewBox","0 0 24 24"),e.setAttribute("strokeLinecap","1.5"),e.style.width="20px",e.style.height="20px",e.style.display="block",e.innerHTML=' ',o.appendChild(e)}const Y=v;if(t||(e.isError=!0,Xo.updateDrawerCommentList()),1===t?.nodeType&&"none"===getComputedStyle(t).display)return console.error("Element is hidden for comment:",e),e.isError=!0,void Xo.updateDrawerCommentList();if(t&&(e.isError=!1),function(e,t,n,o,i,a,s,l,m){let p=null,d=null,u=!1;const g=window.innerWidth;let h=0,f=0;if(r.iframeCommenting&&r.iframeState.iframe){const e=r.iframeState.iframe.getBoundingClientRect();h=e.left+window.scrollX,f=e.top+window.scrollY}const b=window.scrollX,w=window.scrollY,y=r.assetCommenting?document.getElementById("simple-commenter-pdf-viewer")||document.getElementById("simple-commenter-img-viewer"):null;if(y&&1===e?.nodeType&&Dr(m)){const r=e.getBoundingClientRect(),i=y.getBoundingClientRect(),a=m.relativePosition.xPercent*r.width,s=m.relativePosition.yPercent*r.height;p=r.left-i.left+y.scrollLeft+a-26,d=r.top-i.top+y.scrollTop+s-24,u=!1,t||(t=document.createElement("div")),t.parentElement!==y&&y.appendChild(t),t.style.position="absolute",t.style.left=`${p}px`,t.style.top=`${d}px`,n&&n.parentElement!==y&&y.appendChild(n);const l=!n.style.left,c=parseFloat(t.style.left)||0,g=parseFloat(t.style.top)||0,h=Math.abs(c-p)>5||Math.abs(g-d)>5;return setTimeout(()=>{Ar(n,p,d,!1,m,l||h)},100),t.onclick=()=>{"none"===n.style.display&&(n.style.display="flex"),Ar(n,p,d,!1,m,!0),"hidden"===n.style.visibility?hr(n,!0):(m._priorityDropdown&&m._priorityDropdown.close&&m._priorityDropdown.close(),m._actionsDropdown&&m._actionsDropdown.close&&m._actionsDropdown.close(),fr(n,"marker-toggle"))},o.onclick=()=>{m._priorityDropdown&&m._priorityDropdown.close&&m._priorityDropdown.close(),m._actionsDropdown&&m._actionsDropdown.close&&m._actionsDropdown.close(),fr(n,"x-button")},u}if(!e&&m._approximatePosition)u=!0,p=m._approximatePosition.x,d=m._approximatePosition.y;else if(1===e?.nodeType&&Dr(m)){const t=e.getBoundingClientRect();u=H(e);const n=m.relativePosition.xPercent*t.width,o=m.relativePosition.yPercent*t.height;r.iframeCommenting?(p=h+t.left+n-26,d=f+t.top+o-24,u=!1):u?(p=t.left+n-26,d=t.top+o-24):(p=b+t.left+n-26,d=w+t.top+o-24)}else if(1===e?.nodeType){const t=e.getBoundingClientRect();u=H(e),r.iframeCommenting?(p=h+t.right-30,d=f+t.top-24,u=!1):u?(p=t.right-30,d=t.top-24,p=Math.max(0,Math.min(p,g-52))):(p=b+t.right-30,d=w+t.top-24)}else p=b+g-30,d=w+0-24;p+52>g&&(p=g-52),d<0&&(d=0),t||(t=document.createElement("div"),document.body.appendChild(t));const x=parseFloat(t.style.left)||0,v=parseFloat(t.style.top)||0,C=Math.abs(x-p)>5||Math.abs(v-d)>5,k=u?"fixed":"absolute",E=t.style.position&&t.style.position!==k;E&&(t.style.transition="none"),t.style.position=k,t.style.left=`${p}px`,t.style.top=`${d}px`,E&&(t.offsetHeight,t.style.transition="");const S=!document.contains(n)||!n.style.left||C;setTimeout(()=>{Ar(n,p,d,u,m,S)},100),t.onclick=()=>{"none"===n.style.display&&(n.style.display="flex"),Ar(n,p,d,u,m,!0),"hidden"===n.style.visibility?hr(n,!0):(m._priorityDropdown&&m._priorityDropdown.close&&m._priorityDropdown.close(),m._actionsDropdown&&m._actionsDropdown.close&&m._actionsDropdown.close(),fr(n,"marker-toggle"))},n.onchange=async()=>{/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)||Ar(n,p,d,u,m)},o.onclick=()=>{m._priorityDropdown&&m._priorityDropdown.close&&m._priorityDropdown.close(),m._actionsDropdown&&m._actionsDropdown.close&&m._actionsDropdown.close(),fr(n,"x-button")},n.addEventListener("contentChanged",()=>{const e=/iPhone|iPad|iPod|Android/i.test(navigator.userAgent),t=document.activeElement,o=t&&("TEXTAREA"===t.tagName||"INPUT"===t.tagName||t.isContentEditable);e&&o||Ar(n,p,d,u,m)}),l.onclick=async()=>{const e=R(bn(s),{allowNewlines:!0}),t=r.replyFileSessions[m.id]||[];if(e||0!==t.length){Xe(l);try{const t=Jo[m.id]||[],n=yn(e).map(e=>e.id),o=[...new Set([...t,...n])];await pr(e,m.id,{mentionUserIds:o.length>0?o:void 0}),Jo[m.id]=[],c(s),delete r.replyDrafts[m.id],r.replyFileSessions[m.id]=[];const i=document.getElementById(`simple-commenter-file-container-reply-${m.id}`);i&&(i.innerHTML="",i.style.display="none")}catch(e){console.error("Error submitting reply:",e),Xo.showAlertBanner({description:"There was an error submitting your reply."}),Ge(l)}}else Xo.showAlertBanner({description:"Please enter a reply or attach a file."})}}(t,o,a,Y,0,0,M,_,e),t){const e=r.assetCommenting?document.getElementById("simple-commenter-pdf-viewer")||document.getElementById("simple-commenter-img-viewer"):null;e?e.appendChild(o):document.body.appendChild(o)}const X=r.assetCommenting?document.getElementById("simple-commenter-pdf-viewer")||document.getElementById("simple-commenter-img-viewer"):null;X?X.appendChild(a):document.body.appendChild(a);const G=ht(r.tier),Z=document.createElement("div");Z.className="simple-commenter-drop-overlay simple-commenter-label",Z.textContent=Xo.localize("dropFilesHere"),Z.style.display="none",D.appendChild(Z),ft(M,z,G)},wr=async(e="manual")=>{const t=vr().size;if(("poll"===e||"background"===e||"poll-retry"===e)&&t>0)return void L("[polling] skipped full render while protected thread is open",{reason:e,protectedCount:t});if(r.iframeCommenting){const e=document.getElementById(r.iframeState.iframeId);e&&("complete"===e.contentDocument?.readyState&&e.contentDocument?.body?.children?.length>0||(L("[displayComments] Waiting for iframe content to load..."),await new Promise(t=>{const n=()=>{L("[displayComments] Iframe load event fired"),t()};e.addEventListener("load",n,{once:!0}),setTimeout(()=>{e.removeEventListener("load",n),L("[displayComments] Iframe load timeout, proceeding anyway"),t()},5e3)}),await new Promise(e=>setTimeout(e,200))),r.iframeState.iframe=e,L("[displayComments] Iframe ready",{readyState:e.contentDocument?.readyState,bodyChildren:e.contentDocument?.body?.children?.length}))}r.suppressMutationObserver=!0;const n=xr();document.querySelectorAll(".simple-commenter-comment-marker").forEach(e=>e.remove()),document.querySelectorAll(".simple-commenter-comment-box").forEach(e=>e.remove());for(const e of r.comments){const t=n.has(e.id);await br(e,null,t)}r.suppressMutationObserver=!1};function yr(e){return!!e&&!e.classList.contains("simple-commenter-panel-animate-out")&&"visible"===e.style.visibility&&"none"!==e.style.display}function xr(){const e=new Set;return document.querySelectorAll(".simple-commenter-comment-box").forEach(t=>{if(!yr(t))return;const n=t.getAttribute("data-id");n&&e.add(n)}),e}function vr(){const e=new Set,t=xr(),n=document.activeElement;if(t.forEach(t=>{e.add(String(t))}),n&&n.classList?.contains("simple-commenter-reply-textarea-inline")){const t=n.getAttribute("data-id");t&&e.add(String(t))}return Object.entries(r.replyDrafts||{}).forEach(([t,n])=>{"string"==typeof n&&n.trim().length>0&&e.add(String(t))}),document.querySelectorAll(".simple-commenter-reply-textarea-inline").forEach(t=>{const n=t.getAttribute("data-id");n&&l(t).trim().length>0&&e.add(String(n))}),Object.entries(r.replyFileSessions||{}).forEach(([t,n])=>{Array.isArray(n)&&n.length>0&&e.add(String(t))}),e}function Cr(){return vr().size>0}function kr(e,t){if(!e)return`missing|${t}`;if(e._id)return String(e._id);if(e.id)return String(e.id);const n=e?.userData?.email||e?.userData?.name||"";return`${e.date}|${n}|${e.text||""}|${t}`}function Er(e){if(!e?.element)return;const t=e.element;l(t)!==e.value&&m(t,e.value),e.hadFocus&&(t.focus(),"number"==typeof e.selectionStart&&"number"==typeof e.selectionEnd&&(t.setSelectionRange?t.setSelectionRange(e.selectionStart,e.selectionEnd):function(e,t){if(!e)return;if(!s(e))return e.selectionStart=t,void(e.selectionEnd=t);const n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);let o=0;for(;n.nextNode();){const e=n.currentNode;if(o+e.length>=t){const n=document.createRange();n.setStart(e,t-o),n.collapse(!0);const r=window.getSelection();return r.removeAllRanges(),void r.addRange(n)}o+=e.length}!function(e){if(!e)return;if(!s(e))return void(e.selectionStart=e.selectionEnd=(e.value||"").length);const t=document.createRange();t.selectNodeContents(e),t.collapse(!1);const n=window.getSelection();n.removeAllRanges(),n.addRange(t)}(e)}(t,e.selectionEnd)))}async function Sr({commentId:e,previousComment:t,nextComment:n}){const o=document.querySelector(`.simple-commenter-comment-box[data-id="${e}"]`);if(!o)return void await br(n,null,!0);const r=function(e){const t=document.querySelector(`.simple-commenter-reply-textarea-inline[data-id="${e}"]`);return t?{element:t,value:l(t),hadFocus:document.activeElement===t,selectionStart:"number"==typeof t.selectionStart?t.selectionStart:null,selectionEnd:"number"==typeof t.selectionEnd?t.selectionEnd:null}:null}(e),i=t?.replies||[],a=n?.replies||[];if(!Array.isArray(a)||0===a.length)return void Er(r);let s=o.querySelector(".simple-commenter-replies-wrapper");if(s){const e=s.querySelectorAll(".simple-commenter-reply").length,t=i.length>0?i:a.slice(0,e);!function(e,t=[]){e.querySelectorAll(".simple-commenter-reply").forEach((e,n)=>{if(e.getAttribute("data-reply-key"))return;const o=t[n];o&&e.setAttribute("data-reply-key",kr(o,n))})}(s,t)}const m=new Set;s?s.querySelectorAll(".simple-commenter-reply").forEach(e=>{const t=e.getAttribute("data-reply-key");t&&m.add(t)}):i.forEach((e,t)=>{m.add(kr(e,t))});const c=[];if(a.forEach((e,t)=>{const n=kr(e,t);m.has(n)||c.push({key:n,reply:e})}),0===c.length)return void Er(r);if(s=s||function(e){let t=e.querySelector(".simple-commenter-replies-wrapper");if(t)return t;const n=e.querySelector(".simple-commenter-comment-container");if(!n)return null;t=document.createElement("div"),t.className="simple-commenter-replies-wrapper";const o=n.querySelector(".simple-commenter-reply-input-row");return o?n.insertBefore(t,o):n.appendChild(t),t}(o),!s)return void Er(r);const p=new Set;s.querySelectorAll(".simple-commenter-reply").forEach(e=>{const t=e.getAttribute("data-reply-key");t&&p.add(t)}),c.forEach(({key:e,reply:t})=>{if(p.has(e))return;const n=Xo.createReplyItem(t);n.setAttribute("data-reply-key",e),s.appendChild(n)}),o.dispatchEvent(new CustomEvent("contentChanged")),Er(r)}const Lr=async({previousComments:e=[],nextComments:t=[],reason:n="poll"}={})=>{const o=vr();if(0===o.size)return void await wr(n);const r=new Map;(e||[]).forEach(e=>{e?.id&&r.set(String(e.id),e)});const i=new Map;(t||[]).forEach(e=>{e?.id&&i.set(String(e.id),e)});for(const e of t||[]){if(!e?.id)continue;const t=String(e.id);o.has(t)&&await Sr({commentId:t,previousComment:r.get(t),nextComment:e})}const a=[];o.forEach(e=>{i.has(e)||a.push(e)}),a.length>0&&L("[polling] preserving protected threads until draft ends:",a),L("[polling] applied non-destructive updates",{reason:n,protectedCount:o.size,totalComments:t.length,deferredRenders:Math.max(t.length-o.size,0)})};function Dr(e){if(!e||!e.relativePosition)return console.error("Comment or relativePosition is undefined:",e),!1;try{return e.relativePosition&&"number"==typeof e.relativePosition.xPercent&&"number"==typeof e.relativePosition.yPercent}catch(t){console.error("Error checking relative position:",e)}}function Ar(e,t,n,o,i,a=!1){const s=i?.id,l=s?document.querySelector(`.simple-commenter-reply-textarea-inline[data-id="${s}"]`):null,m=document.activeElement;if(l&&m===l)return;const c=e.offsetWidth,p=e.offsetHeight;if(r.assetCommenting&&e.parentElement&&e.parentElement.id&&("simple-commenter-pdf-viewer"===e.parentElement.id||"simple-commenter-img-viewer"===e.parentElement.id)){e.style.position="absolute";const o=e.parentElement,r=o.offsetWidth;let a=t,s=n-p;a+c>r&&(a=r-c-12),a<0&&(a=0);const l=o.parentElement;return s<(l?l.scrollTop:0)&&(s=n+48),e.style.left=`${a}px`,e.style.top=`${s}px`,void(i&&i._statusDropdown&&i._statusDropdown.reposition&&i._statusDropdown.reposition())}e.style.position=o?"fixed":"absolute";const d=parseFloat(e.style.left)||0,u=parseFloat(e.style.top)||0,g=window.innerWidth,h=window.innerHeight;let f=!0;if(o)(d+c>g+10||d<-10)&&(f=!1),(u+p>h+10||u<-10)&&(f=!1);else{const e=window.scrollY,t=window.scrollX;(d+c>t+g+10||de+h+10||ug&&(w=g-c-12),w<0&&(w=0),b=n-p,b<0&&(b=n+48),b+p>h&&(b=h-p-12),b<0&&(b=0)):(w+c>g&&(w=g-c-12),w<0&&(w=0),b=n-p,bt.value===e)||Fr[1],o=document.createElement("div");o.classList.add("simple-commenter-priority-container");const r=document.createElement("button");r.type="button",r.classList.add("simple-commenter-priority-button"),r.style.backgroundColor=n.bg50,r.style.color=n.text;const i=document.createElement("span");i.classList.add("simple-commenter-priority-label"),i.textContent=Xo.localize(n.label);const a=document.createElement("span");a.innerHTML='\n \n \n \n ',r.appendChild(i),r.appendChild(a.firstElementChild),o.appendChild(r);let s=!1,l=null,m=e;function c(){s&&(s=!1,l&&(l.classList.remove("open"),setTimeout(()=>{l&&l.parentNode&&l.parentNode.removeChild(l),l=null},150)),document.removeEventListener("click",d,!0))}function p(e){const n=e.target.closest(".simple-commenter-priority-option");if(!n)return;const o=n.dataset.value,a=Fr.find(e=>e.value===o);r.style.backgroundColor=a.bg50,r.style.color=a.text,i.textContent=Xo.localize(a.label),m=o,c(),t&&t(o)}function d(e){o.contains(e.target)||l&&l.contains(e.target)||c()}return r.addEventListener("click",e=>{e.stopPropagation(),s?c():s||(s=!0,l=function(){const e=document.createElement("div");return e.classList.add("simple-commenter-priority-menu"),e.addEventListener("click",e=>{e.stopPropagation()}),Fr.forEach(t=>{const n=document.createElement("div");n.classList.add("simple-commenter-priority-option"),t.value===m&&n.classList.add("selected"),n.dataset.value=t.value,n.dataset.color=t.color;const o=document.createElement("span");o.classList.add("simple-commenter-priority-option-label"),o.textContent=Xo.localize(t.label);const r=document.createElement("span");r.classList.add("simple-commenter-priority-option-dot"),r.style.backgroundColor=t.color,n.appendChild(o),n.appendChild(r),e.appendChild(n)}),e}(),document.body.appendChild(l),requestAnimationFrame(()=>{!function(){if(!l)return;const e=r.getBoundingClientRect(),t=l.getBoundingClientRect(),n=window.innerHeight,o=window.innerWidth;let i=e.bottom+4,a=e.left;i+t.height>n-8&&(i=e.top-t.height-4),a+t.width>o-8&&(a=e.right-t.width),a<8&&(a=8),l.style.top=`${i}px`,l.style.left=`${a}px`}(),l.classList.add("open")}),l.addEventListener("click",p),setTimeout(()=>{document.addEventListener("click",d,!0)},0))}),{element:o,getValue:()=>m,setValue:e=>{const t=Fr.find(t=>t.value===e);t&&(r.style.backgroundColor=t.bg50,r.style.color=t.text,i.textContent=Xo.localize(t.label),m=e)},close:c}}function Pr({currentStatus:e="todo",dataId:t,onChange:n,className:o}){const i=Tr.find(t=>t.value===e),a=document.createElement("div");a.classList.add("simple-commenter-dropdown-container"),o&&a.classList.add(o),t&&a.setAttribute("data-id",t);const s=document.createElement("button");s.type="button",s.classList.add("simple-commenter-status-button");const l=document.createElement("span");l.classList.add("simple-commenter-status-dot"),l.style.backgroundColor=i.text;const m=document.createElement("span");m.classList.add("simple-commenter-status-label"),m.textContent=Xo.localize(i.label);const c=document.createElement("span");c.innerHTML='\n \n \n \n',s.appendChild(l),s.appendChild(m),s.appendChild(c.firstElementChild),s.style.setProperty("--status-bg","#ffffff"),s.style.setProperty("--status-text","#000000"),s.style.setProperty("--status-ring","#E1E1E1"),s.dataset.originalContent=s.innerHTML,a.appendChild(s);let p=!1,d=!1,u=null,g=e;function h(){if(!u)return;const e=s.getBoundingClientRect(),t=u.getBoundingClientRect(),n=window.innerHeight,o=window.innerWidth;let r=e.bottom+4,i=e.left;const a=n-e.bottom,l=e.top;aa&&(r=e.top-t.height-4),o-e.left{u&&u.parentNode&&u.parentNode.removeChild(u),u=null},150))}const b=e=>{a.contains(e.target)||u&&!u.contains(e.target)&&f()};async function w(e){const t=e.target.closest(".simple-commenter-dropdown-option");if(!t||d)return;const o=t.dataset.value,r=Tr.find(e=>e.value===o);f(),function(){d=!0,s.disabled=!0,s.classList.add("is-loading"),s.dataset.originalContent||(s.dataset.originalContent=s.innerHTML);const e=document.createElement("div");e.className="simple-commenter-spinner";const t=document.createElement("span");t.className="button-text",t.innerHTML=s.dataset.originalContent,s.innerHTML="",s.appendChild(t),s.appendChild(e)}();try{n&&await n(e,o)}catch(e){console.error("Error updating status:",e)}finally{!function(e){d=!1,s.disabled=!1,s.classList.remove("is-loading");const t=document.createElement("span");t.classList.add("simple-commenter-status-dot"),t.style.backgroundColor=e.text;const n=document.createElement("span");n.classList.add("simple-commenter-status-label"),n.textContent=Xo.localize(e.label);const o=document.createElement("span");o.innerHTML='\n \n \n \n',s.innerHTML="",s.appendChild(t),s.appendChild(n),s.appendChild(o.firstElementChild),s.style.setProperty("--status-bg","#ffffff"),s.style.setProperty("--status-text","#000000"),s.style.setProperty("--status-ring","rgba(17, 24, 39, 0.2)"),s.dataset.originalContent=s.innerHTML,g=e.value}(r)}}s.addEventListener("click",function(e){d||(e.stopPropagation(),p?f():(p=!0,u=function(){const e=document.createElement("div");return e.classList.add("simple-commenter-dropdown-menu"),e.style.position="fixed",t&&e.setAttribute("data-id",t),e.addEventListener("click",e=>{e.stopPropagation()}),Tr.filter(e=>r.enabledStatuses.includes(e.value)).forEach(t=>{const n=document.createElement("div");n.classList.add("simple-commenter-dropdown-option"),t.value===g&&n.classList.add("selected"),n.dataset.value=t.value,n.dataset.bg=t.bg,n.dataset.text=t.text,n.dataset.ring=t.ring;const o=document.createElement("span");o.classList.add("simple-commenter-option-label"),o.textContent=Xo.localize(t.label);const r=document.createElement("span");r.classList.add("simple-commenter-option-dot"),r.style.backgroundColor=t.text,n.appendChild(o),n.appendChild(r),e.appendChild(n)}),e}(),document.body.appendChild(u),u.addEventListener("click",w),requestAnimationFrame(()=>{u.classList.add("open"),h()}),window.addEventListener("scroll",h,{capture:!0,passive:!0}),window.addEventListener("resize",h,{passive:!0}),setTimeout(()=>{document.addEventListener("click",b,!0)},0)))});const y=e=>{"Escape"===e.key&&p&&f()};return document.addEventListener("keydown",y),a._cleanup=()=>{f(),document.removeEventListener("click",b,!0),document.removeEventListener("keydown",y)},{element:a,close:f,reposition:h}}function Br({onChange:e,className:t}){L("Creating status filter dropdown",r.enabledStatuses),r.selectedStatuses=r.simpleCommenterUserData.selectedStatuses||r.selectedStatuses;let n={};const o=document.createElement("div");o.classList.add("simple-commenter-dropdown-container"),t&&o.classList.add(t);const i=document.createElement("button");i.type="button",i.classList.add("simple-commenter-status-button");const a=()=>{const e=i.querySelector(".simple-commenter-status-label");if(0===r.selectedStatuses.length)e.textContent=Xo.localize("noFilters");else if(r.selectedStatuses.length===Tr.length)e.textContent=Xo.localize("allStatuses");else if(1===r.selectedStatuses.length){const t=Tr.find(e=>e.value===r.selectedStatuses[0]);e.textContent=t.label}else e.textContent=`${r.selectedStatuses.length} ${Xo.localize("active")}`},s=document.createElement("span");s.classList.add("simple-commenter-status-label"),s.textContent=`${r.selectedStatuses.length} ${Xo.localize("active")}`;const l=document.createElement("span");l.innerHTML='\n \n \n \n',i.appendChild(s),i.appendChild(l.firstElementChild),i.style.setProperty("--status-bg","#ffffff"),i.style.setProperty("--status-text","#000000"),i.style.setProperty("--status-ring","#E1E1E1");const m=document.createElement("div");m.classList.add("simple-commenter-dropdown-menu"),m.style.position="fixed",m.addEventListener("click",e=>{e.stopPropagation()}),Tr.filter(e=>r.enabledStatuses.includes(e.value)).forEach(e=>{const t=document.createElement("div");t.classList.add("simple-commenter-dropdown-option","multi-select"),t.dataset.value=e.value;const n=document.createElement("input");n.type="checkbox",n.checked=r.selectedStatuses.includes(e.value),n.classList.add("simple-commenter-status-checkbox");const o=document.createElement("span");o.classList.add("simple-commenter-option-label"),o.textContent=Xo.localize(e.label);const i=document.createElement("span");i.classList.add("simple-commenter-count-badge"),i.style.backgroundColor=e.bg,i.style.color=e.text,i.textContent="0",i.dataset.status=e.value,t.appendChild(n),t.appendChild(o),t.appendChild(i),m.appendChild(t)});const c=document.createElement("div");c.style.borderTop="1px solid #e5e7eb",c.style.margin="4px 0",m.appendChild(c);const p=document.createElement("div");p.classList.add("simple-commenter-actions-container");const d=document.createElement("div");d.classList.add("simple-commenter-dropdown-option","action"),d.dataset.action="proxy.php?url=https%3A%2F%2Fsimplecommenter.com%2FselectAll",d.textContent=Xo.localize("selectAll"),p.appendChild(d);const u=document.createElement("div");u.classList.add("simple-commenter-dropdown-option","action"),u.dataset.action="proxy.php?url=https%3A%2F%2Fsimplecommenter.com%2FclearAll",u.textContent=Xo.localize("clearAll"),p.appendChild(u),m.appendChild(p),o.appendChild(i),document.body.appendChild(m);let g=!1,h=!1;function f(e){n=e||{},m.querySelectorAll(".simple-commenter-count-badge").forEach(e=>{const t=e.dataset.status,o=n[t]||0;e.textContent=o})}function b(){const e=i.getBoundingClientRect(),t=m.getBoundingClientRect(),n=window.innerHeight,o=window.innerWidth;let r=e.bottom+4,a=e.left;const s=n-e.bottom,l=e.top;ss&&(r=e.top-t.height-4),o-e.left{o.contains(e.target)||m.contains(e.target)||w()};return i.addEventListener("click",function(e){h||(e.stopPropagation(),g=!g,g?(m.classList.add("open"),b(),window.addEventListener("scroll",b,{capture:!0,passive:!0}),window.addEventListener("resize",b,{passive:!0}),setTimeout(()=>{document.addEventListener("click",y,!0)},0)):(m.classList.remove("open"),window.removeEventListener("scroll",b,{capture:!0}),window.removeEventListener("resize",b),document.removeEventListener("click",y,!0)))}),m.addEventListener("click",async function(t){const n=t.target.closest(".simple-commenter-dropdown-option");if(n&&!h){if(n.classList.contains("action"))"selectAll"===n.dataset.action?r.selectedStatuses=Tr.map(e=>e.value):r.selectedStatuses=[],m.querySelectorAll('input[type="checkbox"]').forEach(e=>{e.checked="selectAll"===n.dataset.action});else{const e=n.dataset.value,t=n.querySelector('input[type="checkbox"]');r.selectedStatuses.includes(e)?(r.selectedStatuses=r.selectedStatuses.filter(t=>t!==e),t.checked=!1):(r.selectedStatuses.push(e),t.checked=!0)}a(),Ft({selectedStatuses:r.selectedStatuses}),window.dispatchEvent(new CustomEvent("simpleCommenterFilterChanged",{detail:{selectedStatuses:r.selectedStatuses}})),h=!0,i.disabled=!0;try{if(e){const n=await e(t,0===r.selectedStatuses.length?"all":r.selectedStatuses);n&&n.counts&&f(n.counts)}}catch(e){console.error("Error filtering statuses:",e)}finally{h=!1,i.disabled=!1}}}),document.addEventListener("keydown",e=>{"Escape"===e.key&&g&&w()}),o._cleanup=()=>{window.removeEventListener("scroll",b,{capture:!0}),window.removeEventListener("resize",b),document.removeEventListener("click",y,!0),m.parentNode&&m.parentNode.removeChild(m)},o.updateCounts=f,o.updateCheckboxes=function(){m.querySelectorAll('input[type="checkbox"]').forEach(e=>{const t=e.closest(".simple-commenter-dropdown-option"),n=t?.dataset.value;n&&(e.checked=r.selectedStatuses.includes(n))}),a()},o}function Ir(e,t){e.classList.add("simple-commenter-display-none"),t.classList.remove("simple-commenter-display-none")}function zr(e,t=r.commentInputUI){if(t){const e=t.querySelector("#simple-commenter-comment-textarea"),n=t.querySelector(".simple-commenter-comment-box-menu");e&&e.classList.toggle("simple-commenter-display-none"),n&&n.classList.toggle("simple-commenter-display-none")}}function Nr({ariaLabel:e="Close",onClick:t,className:n="simple-commenter-x-button"}={}){const o=document.createElement("button");o.className=n,o.setAttribute("aria-label",e);const i=document.createElementNS("http://www.w3.org/2000/svg","svg");return i.setAttribute("fill","none"),i.setAttribute("viewBox","0 0 24 24"),i.setAttribute("stroke","currentColor"),i.setAttribute("stroke-linecap","round"),i.setAttribute("stroke-linejoin","round"),i.setAttribute("stroke-width","1.5"),i.style.width="20px",i.style.height="20px",i.style.display="block",i.innerHTML='',o.appendChild(i),o.addEventListener("click",e=>{"function"==typeof t?t(e):r.commentInputUI&&($r(),ct())}),o}function $r(){r.commentInputUI&&(r.commentInputUI.remove(),r.commentInputUI=null,r.screenshotData=null,je(),r.overlay&&(r.overlay.className="simple-commenter-overlay"))}let Ur=e=>e;const _r=()=>{r.drawerOpen&&r.drawerElements.content&&["comments","allComments","comment"].includes(r.drawerPage)&&Fo()},Rr=new URL(window.location.href);window.SIMPLE_COMMENTER_DEBUG="true"===Rr.searchParams.get("debug");const qr=(...e)=>{window.SIMPLE_COMMENTER_DEBUG&&console.log(...e)},Hr=(...e)=>{window.SIMPLE_COMMENTER_DEBUG},jr=(...e)=>{window.SIMPLE_COMMENTER_DEBUG},Or=(...e)=>{window.SIMPLE_COMMENTER_DEBUG},Vr=(...e)=>{window.SIMPLE_COMMENTER_DEBUG&&console.error(...e)},Wr=e=>({0:"bottom-right",1:"bottom-center",2:"bottom-left",3:"side-right",4:"side-left"}[e]||"bottom-right"),Yr=e=>{const t=((e={})=>"pill"===e.modeboxVersion||"6"===e.modeboxVersion||"v2"===e.modeboxVersion)(e),n=`\n \n \n \n \n \n`,o=encodeURIComponent(n).replace(/'/g,"%27").replace(/"/g,"%22"),i=`\n ${t?"":`\n /* V1 Mode Box Styles */\n .simple-commenter-modebox {\n background: ${e.background}!important;\n border: 1px solid #000!important;\n }\n\n /* V1 Button Default Styles */\n .simple-commenter-modebox > button {\n background: ${e.background};\n color: ${e.text};\n stroke: ${e.text}!important;\n }\n\n /* V1 Active Button Styles */\n .simple-commenter-modebox > button.simple-commenter-active-button,\n .simple-commenter-modebox > button.simple-commenter-view-button,\n .simple-commenter-modebox > button.simple-commenter-disabled-button {\n background-color: ${e.primary} !important;\n color: ${e.text}!important;\n border-color: #000 !important;\n }\n\n .simple-commenter-modebox > button.simple-commenter-active-button:hover {\n background-color: ${e.primary}!important;\n color: ${e.text}!important;\n border-color: #000 !important;\n }\n\n /* V1 Modebox Border Styles */\n .simple-commenter-border {\n border-color: #000!important;\n }\n\n /* V1 Vertical border styles */\n .simple-commenter-border-vertical {\n border-color: #000!important;\n }\n `}\n\n /* Pulse dot/anim styles (shared) */\n .simple-commenter-pulse-dot,\n .simple-commenter-pulse-anim {\n background-color: ${e.primary} !important;\n color: ${e.text}!important;\n }\n\n /* Overlay Styles */\n .simple-commenter-comment-marker {\n background: ${e.primary};\n stroke: ${e.text}!important;\n }\n\n /* Overlay Styles */\n .simple-commenter-overlay {\n background-color: ${e.overlay};\n opacity: 0.4; /* Set opacity */\n }\n\n .simple-commenter-background-primary {\n fill: ${e.primary};\n }\n\n .simple-commenter-logo-fill {\n fill: ${e.primary};\n }\n\n .simple-commenter-arrow::after {\n /* Arrowhead color (specifically the visible border side) */\n border-color: transparent transparent transparent ${e.primary};\n }\n\n .simple-commenter-arrow-custom::after {\n /* Arrowhead color (specifically the visible border side) */\n border-color: transparent transparent transparent var(--theme-color);\n }\n\n .simple-commenter-pen {\n stroke: ${e.primary};\n }\n\n /* Modebox Container Styles */\n .simple-commenter-modebox-container {\n ${(e=>{switch(e.modalPosition||Wr(e.modalAlign)){case"bottom-left":return"\n left: 1.25em;\n right: auto;\n bottom: 1.25em;\n top: auto;\n transform: none;\n align-items: flex-start;\n ";case"bottom-center":return"\n left: 50%;\n right: auto;\n bottom: 1.25em;\n top: auto;\n transform: translateX(-50%);\n align-items: center;\n ";case"side-right":return"\n right: 0;\n left: auto;\n top: 50%;\n bottom: auto;\n transform: translateY(-50%);\n align-items: flex-end;\n ";case"side-left":return"\n left: 0;\n right: auto;\n top: 50%;\n bottom: auto;\n transform: translateY(-50%);\n align-items: flex-start;\n ";default:return"\n right: 1.25em;\n left: auto;\n bottom: 1.25em;\n top: auto;\n transform: none;\n align-items: flex-end;\n "}})(e)}\n }\n\n .simple-commenter-cursor-override * {\n cursor: url("data:image/svg+xml,${o}") 6 6, auto !important;\n }\n `,a=document.getElementById("simple-commenter-theme-style");a&&a.parentNode.removeChild(a);const s=document.createElement("style");s.id="simple-commenter-theme-style",s.innerHTML=i,document.head.appendChild(s);const l=document.getElementById("simple-commenter-modebox");if(l){const n=(e.modalPosition||Wr(e.modalAlign||0)).startsWith("side-"),o=document.querySelector(".simple-commenter-buttons-container");if(t){tn(e),Jt(Zt(ni)),en(ni);const t=!!e.minimized;return"view"!==ni&&"active"!==ni||r.pillExpanded?"disabled"===ni&&(t||r.pillExpanded?t&&r.pillExpanded&&on():nn(ni)):nn(ni),o&&(o.style.display="none"),void(r.scButton&&(r.scButton.style.display="none"))}n?l.classList.add("simple-commenter-layout-vertical"):l.classList.remove("simple-commenter-layout-vertical");const i=document.getElementById("simple-commenter-view"),a=document.getElementById("simple-commenter-active");i&&(i.classList.remove("simple-commenter-border","simple-commenter-border-vertical"),i.classList.add(n?"simple-commenter-border-vertical":"simple-commenter-border")),a&&(a.classList.remove("simple-commenter-border","simple-commenter-border-vertical"),a.classList.add(n?"simple-commenter-border-vertical":"simple-commenter-border")),o&&(o.style.display=""),un(e)}};function Xr(){return new Promise(e=>{document.body&&document.body.classList.remove("simple-commenter-cursor-override");const t=document.getElementById("simple-commenter-modebox");t&&t.remove();const n=document.getElementById("simple-commenter-modebox-container");n&&n.remove(),r.pillWrapper=null,r.pillHamburger=null,r.pillCollapsedButton=null,r.pillIndicator=null,r.pillBadge=null,r.pillSegments={},r.pillExpanded=!1,r.pillMenuOpen=!1,r.pillAnimationTimeout&&(clearTimeout(r.pillAnimationTimeout),r.pillAnimationTimeout=null),r.pillHamburgerAnimationTimeout&&(clearTimeout(r.pillHamburgerAnimationTimeout),r.pillHamburgerAnimationTimeout=null),r.pillBadgeBobTimeout&&(clearTimeout(r.pillBadgeBobTimeout),r.pillBadgeBobTimeout=null);const o=document.querySelector(".simple-commenter-overlay");o&&o.remove(),r.filterDropdown&&"function"==typeof r.filterDropdown._cleanup&&(r.filterDropdown._cleanup(),r.filterDropdown=null);const i=()=>{let e=0;return document.querySelectorAll(".simple-commenter-comment-marker, .simple-commenter-comment-box, .simple-commenter-container, .simple-commenter-disabled-button, .simple-commenter-dropdown-menu, .simple-commenter-dropdown-container, .simple-commenter-view-button, .simple-commenter-active-button").forEach(t=>{t.remove(),e++}),document.querySelectorAll('[class*="simple-commenter"]').forEach(t=>{Array.from(t.classList).some(e=>e.startsWith("simple-commenter"))&&(t.remove(),e++)}),["simple-commenter-modebox","simple-commenter-modebox-container","simple-commenter-theme-style","simple-commenter-shape-styles"].forEach(t=>{const n=document.getElementById(t);n&&(n.remove(),e++)}),e};i(),setTimeout(()=>{i(),requestAnimationFrame(()=>{i(),setTimeout(()=>{const t=i();t>0&&qr(`[removeCommenterElements] Warning: Found ${t} elements in final cleanup pass`),e()},50)})},0),["simple-commenter-style","simple-commenter-theme-style","simple-commenter-shape-styles"].forEach(e=>{const t=document.getElementById(e);t&&t.parentNode.removeChild(t)}),$r(),ni="disabled"})}function Gr(e){const t=36e5,n=864e5,o=6048e5,r=2592e6,i=31536e6,a=new Date-new Date(e);return a<6e4?Ur("justNow"):a{const t=e?.detail?.mode;"string"==typeof t&&t.length>0&&(ni=t)});const oi={name:"",email:"",userId:null,notify:!1,role:"client",mode:"disabled",token:null,spam:!1,spamUpdated:null,spamReason:"",checkEmail:!1,verified:!1,unauthorized:!1,login:!1,localization:[],theme:{},paramActive:!1,paramActiveSetting:!1,associated:!0,needsName:!1,selectedStatuses:["todo","review"],enabledStatuses:["todo","review","done"],showTutorial:!0};let ri=oi,ii=!1,ai=!1,si={token:null,fileType:null,numPages:null,pageNumber:null,domain:null},li=window.simpleCommenterState?.iframeCommenting||!1,mi={iframeId:window.simpleCommenterState?.iframeId||"website-preview-iframe",iframe:null,domain:window.simpleCommenterState?.domain||null,currentSlug:window.simpleCommenterState?.currentSlug||"/",baseUrl:window.simpleCommenterState?.baseUrl||null},ci=!1,pi=null;function di(){const e=U();if(!e||!e.contentDocument)return void qr("[Iframe] Cannot set up listeners - iframe or contentDocument not available");const t=e.contentDocument;if(!ci||pi!==t){if(ci&&pi&&pi!==t)try{pi.removeEventListener("mousemove",ui),pi.removeEventListener("click",gi),pi.removeEventListener("scroll",hi)}catch(e){qr("[Iframe] Failed to detach old iframe listeners:",e?.message)}qr("[Iframe] Setting up event listeners on iframe contentDocument"),t.addEventListener("mousemove",ui,{passive:!0}),t.addEventListener("click",gi),t.addEventListener("scroll",hi,{passive:!0}),ci=!0,pi=t,qr("[Iframe] Event listeners set up successfully")}}function ui(e){"active"!==ni&&"view"!==ni||e.target&&e.target!==$().body&&(Oe(e.target)||(Kr=e.target,"active"===ni&&(Re(),setTimeout(()=>bi(Kr),150))))}function gi(e){if("active"!==ni)return;if(!Kr)return;if(Oe(e.target))return;const{xPercent:t,yPercent:n}=mt(e,Kr);dr(e.clientX,e.clientY,Kr,{xPercent:t,yPercent:n}),e.preventDefault(),e.stopPropagation()}function hi(){ti&&Kr&&bi(Kr)}let fi=null;function bi(e){if(!li)return void He(e);if(!ti)return;const t=e.getBoundingClientRect(),n=function(){const e=U();if(!e)return{left:0,top:0};const t=e.getBoundingClientRect();return{left:t.left,top:t.top}}();$(),ti.style.left=`${t.left+n.left+window.pageXOffset}px`,ti.style.top=`${t.top+n.top+window.pageYOffset}px`,ti.style.width=`${t.width}px`,ti.style.height=`${t.height}px`,ti.className="simple-commenter-overlay simple-commenter-active"}if(window.simpleCommenterState?.dashboardUser){const e=window.simpleCommenterState.dashboardUser;setTimeout(()=>{Ft({name:e.name||"",email:e.email||"",userId:e.userId||null,verified:!0===e.verified,role:e.role||"user",isDashboardUser:!0})},0)}let wi=["todo","review"];function yi(){const e=ai&&si.domain;return jr(),qr("Ready?",e),qr("Current State:",si),Or(),e}window.addEventListener("simpleCommenterStateChanged",e=>{jr(),qr("Event detail:",e.detail);const t=ai,n=si.domain,o=si.slug;if(void 0!==e.detail.iframeCommenting&&(li=e.detail.iframeCommenting,r.iframeCommenting=li,qr("iframeCommenting set to:",li),li)){const t=mi.currentSlug,n=JSON.stringify(mi.selectedStatuses||[]);e.detail.iframeId&&(mi.iframeId=e.detail.iframeId),e.detail.domain&&(mi.domain=e.detail.domain),e.detail.currentSlug&&(mi.currentSlug=e.detail.currentSlug),e.detail.baseUrl&&(mi.baseUrl=e.detail.baseUrl),e.detail.selectedStatuses&&(mi.selectedStatuses=e.detail.selectedStatuses),r.iframeState.iframeId=mi.iframeId,r.iframeState.domain=mi.domain,r.iframeState.currentSlug=mi.currentSlug,r.iframeState.baseUrl=mi.baseUrl;const o=t&&e.detail.currentSlug&&t!==e.detail.currentSlug,i=e.detail.selectedStatuses&&n!==JSON.stringify(e.detail.selectedStatuses);(o||i)&&(qr("[iframeCommenting] State changed - refetching",{slugChanged:o,filterChanged:i,previousSlug:t,newSlug:e.detail.currentSlug,selectedStatuses:e.detail.selectedStatuses}),ei.clear(),no()),mi.iframe=document.getElementById(mi.iframeId),r.iframeState.iframe=mi.iframe,qr("Iframe element found:",!!mi.iframe),mi.iframe&&mi.iframe.contentDocument?(di(),t||no()):(qr("Iframe not ready, setting up watcher..."),function(){fi&&clearInterval(fi);let e=0;fi=setInterval(()=>{e++;const t=document.getElementById(mi.iframeId);t?(mi.iframe=t,r.iframeState.iframe=t,t.contentDocument?(clearInterval(fi),fi=null,qr("[waitForIframeAndSetup] Iframe found and accessible after",e,"attempts"),di(),no()):t.addEventListener("load",function n(){t.removeEventListener("load",n),clearInterval(fi),fi=null,qr("[waitForIframeAndSetup] Iframe loaded after",e,"attempts"),di(),no()})):e>=100&&(clearInterval(fi),fi=null,Vr("[waitForIframeAndSetup] Iframe not found after",100,"attempts"))},100)}()),We(!0)}if(void 0!==e.detail.pageNumber&&e.detail.pageNumber!==si.pageNumber){if(si.pageNumber=e.detail.pageNumber,r.assetState={...r.assetState,pageNumber:e.detail.pageNumber},r.comments?.length)for(const e of r.comments)e._validationCooldownUntil=null,e._validationFailCount=0;tr(!0)}const{pageNumber:i,...a}=e.detail;if(si={...si,...a},r.assetState={...si},void 0!==e.detail.sidebarDisabled&&(qr("sidebarDisabled set to:",e.detail.sidebarDisabled),We(e.detail.sidebarDisabled)),e.detail.dashboardUser){const t=e.detail.dashboardUser;qr("Dashboard user data received:",t),Ft({name:t.name||"",email:t.email||"",userId:t.userId||null,verified:!0===t.verified,role:t.role||"user",isDashboardUser:!0})}li||(ai=!!e.detail.domain,r.assetCommenting=ai);const s=void 0!==e.detail.domain&&e.detail.domain!==n,l=void 0!==e.detail.slug&&e.detail.slug!==o,m=!t&&ai;!li&&(m||s||l)&&(qr("[comments.js] Asset state changed, triggering refetch:",{assetModeEnabled:m,domainChanged:s,slugChanged:l}),no()),m&&dn("view"),qr("Updated assetState:",si),qr("assetCommenting:",ai),qr("iframeCommenting:",li),Or()}),window.addEventListener("simpleCommenterOpenComment",e=>{const{commentId:t,skipScroll:n}=e.detail;t&&setTimeout(()=>{const e=document.querySelector(`.simple-commenter-comment-marker[data-id="${t}"]`);n||e?.scrollIntoView({behavior:"smooth",block:"center"});const o=document.querySelector(`.simple-commenter-comment-box[data-id="${t}"]`),i=Array.isArray(r.comments)?r.comments:[],a=Array.isArray(r.allComments)?r.allComments:[],s=i.find(e=>e?.id&&e.id.toString()===t)||a.find(e=>e?.id&&e.id.toString()===t)||null;if(o){if(!e&&s){const e=ve(s,{ignoreVisibility:!0,skipCache:!0});e&&!n&&e.scrollIntoView({behavior:"smooth",block:"center"})}hr(o,!0)}else s&&"function"==typeof br&&br(s,null,!0)},100)}),window.addEventListener("simpleCommenterSidebarFilterChanged",async e=>{const{selectedStatuses:t}=e.detail||{};if(!t||!Array.isArray(t))return;const n=t.length>0?t:[],o=/^\/app\/[^/]+\/files\/.+/.test(window.location.pathname),i=r.assetCommenting&&!!r.assetState?.domain&&!!r.assetState?.slug;if(!o||i)if(we(wi,n))qr("[comments.js] Sidebar filter unchanged, skipping refetch");else{qr("[comments.js] Sidebar filter changed:",n),wi=n,Ft({selectedStatuses:wi});try{const e=0===wi.length?"all":wi;await xo(e,!0);const t=document.querySelector(".simple-commenter-status-filter");t&&t.updateCheckboxes&&t.updateCheckboxes()}catch(e){console.error("[comments.js] Error applying sidebar filter:",e)}}else qr("[comments.js] Sidebar filter sync skipped: asset state not ready")});const xi=document.currentScript,vi=localStorage.getItem("simpleCommenterUserData");if(vi)try{const e=JSON.parse(vi);e&&"object"==typeof e&&(r.simpleCommenterUserData={...r.simpleCommenterUserData,...e},ri=r.simpleCommenterUserData)}catch(e){console.error("Error parsing stored userData:",e)}const Ci=e=>{const t=i.reduce((e,t)=>(e[t.key]={value:t.value,links:t.links||[]},e),{}),n=(e||[]).reduce((e,t)=>(e[t.key]={value:t.value,links:t.links||[]},e),{});Ur=e=>{const o=n[e]||t[e]||{value:e,links:[]};let r=o.value;return o.links.forEach(e=>{const t=e.placeholder.replace(/[[\]]/g,"\\$&"),n=new RegExp(t,"g");r=r.replace(n,` ${e.translation}`)}),r},Xi();const o=document.querySelector("#simple-commenter-comment-input .simple-commenter-textarea-check");var a,l;o&&(a=o,l=r.taggingEnabled&&r.taggableMentionables.length>0?Ur("enterCommentPlaceholderWithMentions"):Ur("enterCommentPlaceholder"),a&&(s(a)?a.setAttribute("data-placeholder",l):a.placeholder=l));const m=document.querySelector("#simple-commenter-comment-input .simple-commenter-title-input-new");m&&(m.placeholder=Ur("enterCommentTitlePlaceholder"))};Ur=e=>{const t=i.find(t=>t.key===e)||{value:e,links:[]};let n=t.value;return t.links?.forEach(e=>{const t=e.placeholder.replace(/[[\]]/g,"\\$&"),o=new RegExp(t,"g");n=n.replace(o,`${e.translation}`)}),n};const ki=/^sc_[a-f0-9]+$/i;function Ei(e){const t=(e||"").toString().trim().toLowerCase();return t&&"undefined"!==t&&"null"!==t?t:null}const Si=function(){const e=window.__SC_EXTENSION_CONFIG__||{};if(e.domain){const t=e.domain.toString().trim().toLowerCase();return/^sc_[a-f0-9]+$/i.test(t)?t:(((...e)=>{window.SIMPLE_COMMENTER_DEBUG&&console.warn(...e)})("[Extension] Ignoring invalid extension domain key:",t),null)}const t=document.querySelector('script[src*="/js/1002/comments.js"]')||document.querySelector('script[src*="/js/comments.min.js"]')||document.querySelector('script[src*="comments.js"]'),n=xi||t;let o;try{o=new URL(n?.src||window.location.href,window.location.href)}catch(e){o=new URL(window.location.href)}if(window.simpleCommenterState?.iframeCommenting&&window.simpleCommenterState?.domain)return qr("[getDomainAndOther] Using domain from iframeState:",window.simpleCommenterState.domain),o.searchParams.get("paramActive"),o.searchParams.get("auth"),window.simpleCommenterState.domain;let r=n?.getAttribute?.("data-id")||n?.getAttribute?.("data-domain");if(!r&&n)try{r=o.searchParams.get("id")||o.searchParams.get("domain")}catch(e){console.error("Error parsing the script URL:",e)}if(!r){const e=window.location.hostname;"localhost"===e?r=window.location.host:"simplecommenter.com"!==e&&"www.simplecommenter.com"!==e||(r=e.replace(/^www\./,""))}return o.searchParams.get("paramActive"),o.searchParams.get("auth"),r}();r.domain=Si,window.__SC_EXTENSION_CONFIG__?.endpoint||window;const Li=!0===window.SIMPLE_COMMENTER_DASHBOARD_MODE||"true"===xi?.getAttribute("data-dashboard")||"true"===new URLSearchParams(window.location.search).get("simple-commenter-dashboard");function Di(e,t){if(Li&&window.parent!==window)try{window.parent.postMessage({type:e,payload:t},"*"),qr(`[Dashboard] Sent postMessage: ${e}`,t)}catch(e){Vr("[Dashboard] Failed to send postMessage:",e)}}Li&&(window.addEventListener("message",e=>{const{type:t,payload:n}=e.data||{};switch(qr(`[Dashboard] Received postMessage: ${t}`,n),t){case"NAVIGATE_TO_URL":n?.url&&(window.location.href=n.url);break;case"REFRESH_COMMENTS":no();break;case"HIGHLIGHT_COMMENT":if(n?.commentId){const e=document.querySelector(`[data-comment-id="${n.commentId}"]`);e&&(e.scrollIntoView({behavior:"smooth",block:"center"}),e.click())}}}),qr("[Dashboard] Dashboard iframe mode enabled")),_e();const Ai=async()=>{const e=document.createElement("link");e.href="proxy.php?url=https%3A%2F%2Ffonts.googleapis.com%2Fcss2%3Ffamily%3DPoppins%3Awght%40400%3B600%26display%3Dswap",e.rel="stylesheet",document.head.appendChild(e)},Ti=(e,t=!1)=>{let n;try{t&&!/^https?:\/\//i.test(e)&&(e="http://"+e),n=new URL(e)}catch(t){return console.error(`[Validation Helper] Invalid URL format: ${e}`,t),null}let o=n.hostname.replace(/^www\./,"");const r=n.port;r&&!["80","443"].includes(r)&&(o+=`:${r}`);let i=n.pathname.replace(/\/$/,"");return""===i&&(i="/"),{hostname:o,pathname:i}},Fi=(e,t)=>{if("string"==typeof e&&/^sc_[a-f0-9]+$/i.test(e.trim()))return!0;const n=Ti(e,!0),o=Ti(t,!1);if(!n||!o)return console.error("[Validation] Failed to parse domain or referrer URL. Validation failed."),!1;if(n.hostname!==o.hostname)return console.warn(`[Validation] Domain mismatch: Configured domain (${n.hostname}) does not match current page domain (${o.hostname}). Validation failed.`),!1;if("/"!==n.pathname){const e=n.pathname.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(!new RegExp(`(^|/)${e}(\\/|$)`).test(o.pathname))return console.warn(`[Validation] Path mismatch: Current page path (${o.pathname}) is not within the configured domain path (${n.pathname}). Validation failed.`),!1}return!0};function Mi(){const e=window.location.hash.match(/^#simple-comment=([a-zA-Z0-9]+)/);if(e){const t=e[1];setTimeout(()=>{const e=document.querySelector(`.simple-commenter-comment-marker[data-id="${t}"]`);e?.scrollIntoView({behavior:"smooth",block:"center"});const n=document.querySelector(`.simple-commenter-comment-box[data-id="${t}"]`),o=Array.isArray(r.comments)?r.comments:[],i=Array.isArray(r.allComments)?r.allComments:[],a=o.find(e=>e?.id&&e.id.toString()===t)||i.find(e=>e?.id&&e.id.toString()===t)||null;if(n){if(!e&&a){const e=ve(a,{ignoreVisibility:!0,skipCache:!0});e&&e.scrollIntoView({behavior:"smooth",block:"center"})}hr(n,!0)}else a&&"function"==typeof br&&br(a,null,!0)},100)}}const Pi=e=>{if(document.getElementById("simple-commenter-trial-modal"))return;const t=document.createElement("div");t.id="simple-commenter-trial-modal",t.className="simple-commenter-trial-modal";const n=document.createElement("div");n.className="simple-commenter-trial-modal-icon",n.innerHTML='';const o=document.createElement("div");o.className="simple-commenter-trial-modal-content";const r=document.createElement("p");r.className="simple-commenter-trial-modal-title",r.textContent="Your Simple Commenter Trial has ended";const i=document.createElement("p");i.className="simple-commenter-trial-modal-description",i.textContent=e||"Your trial has expired. Please upgrade to continue.";const a=document.createElement("a");a.className="simple-commenter-trial-modal-button",a.textContent="Upgrade Plan",a.href="proxy.php?url=https%3A%2F%2Fsimplecommenter.com%2Fpricing",a.target="_blank";const s=document.createElement("button");s.className="simple-commenter-trial-modal-close",s.innerHTML='',s.onclick=e=>{e.stopPropagation(),t.remove()},o.appendChild(r),o.appendChild(i),o.appendChild(a),t.appendChild(n),t.appendChild(o),t.appendChild(s),document.body.appendChild(t)};let Bi=!1,Ii={backdrop:null,popup:null,content:null},zi=null,Ni=0,$i=null;function Ui(e,t={}){qr("[Tutorial] openPopup called with type:",e),function(){if(Ii.backdrop)return;const e=document.createElement("div");e.className="simple-commenter-popup-backdrop",e.addEventListener("click",t=>{t.target===e&&_i()}),document.body.appendChild(e),Ii.backdrop=e;const t=document.createElement("div");t.className="simple-commenter-popup",t.innerHTML='\n
\n

\n \n
\n
\n \n ',e.appendChild(t),Ii.popup=t,Ii.content=t.querySelector(".simple-commenter-popup-content"),t.querySelector(".simple-commenter-popup-close").addEventListener("click",_i),document.addEventListener("keydown",e=>{"Escape"===e.key&&Bi&&_i()})}(),Bi=!0,zi=e;const{backdrop:n,popup:o}=Ii,r=o.querySelector(".simple-commenter-popup-title"),i=o.querySelector(".simple-commenter-popup-content"),a=o.querySelector(".simple-commenter-popup-footer");if(i.innerHTML="",a.innerHTML="","hidden-comment"===e)$i=t.commentId||null,function(e,t,n){e.textContent=Ur("hiddenCommentTitle"),t.innerHTML=`\n
\n \n \n \n
\n

${Ur("hiddenCommentDesc")}

\n
    \n
  • ${Ur("hiddenReason1")}
  • \n
  • ${Ur("hiddenReason2")}
  • \n
  • ${Ur("hiddenReason3")}
  • \n
\n

${Ur("hiddenCommentTip")}

\n `,n.innerHTML=`\n
\n \n `,n.querySelector('[data-action="proxy.php?url=https%3A%2F%2Fsimplecommenter.com%2Fclose"]').addEventListener("click",()=>{_i(!0)}),n.querySelector('[data-action="proxy.php?url=https%3A%2F%2Fsimplecommenter.com%2Freattach"]').addEventListener("click",()=>{_i(!0),$i&&it($i)})}(r,i,a);else if("tutorial"===e){Ni=0;const e=Ri()?4:3;qr("[Tutorial] Starting tutorial with",e,"steps (step 4 "+(4===e?"included":"excluded")+")"),function(e,t,n){const o=Ri()?4:3;e.textContent=qi(Ni),t.innerHTML=Hi(Ni),n.innerHTML=ji(Ni,o),Oi(n)}(r,i,a)}requestAnimationFrame(()=>{n.classList.add("open"),requestAnimationFrame(()=>{o.classList.add("open")})})}function _i(e=!1){if(!Bi)return;const{backdrop:t,popup:n}=Ii;"tutorial"!==zi||e||(qr("[Tutorial] Closing tutorial - setting showTutorial to false (won't show again)"),Ft({showTutorial:!1})),n.classList.remove("open"),setTimeout(()=>{t.classList.remove("open"),Bi=!1,zi=null,$i=null},300)}function Ri(){const e=r.simpleCommenterUserData||{};return Hr(),qr("[Tutorial] Checking if step 4 (registration CTA) should be shown..."),qr("[Tutorial] User auth state:",{token:e.token?"[present]":"[absent]",email:e.email||"[none]",login:e.login}),e.token?(qr("[Tutorial] ❌ Step 4 hidden - user has token (logged in)"),Or(),!1):e.email?(qr("[Tutorial] ❌ Step 4 hidden - user has email (identified)"),Or(),!1):e.login?(qr("[Tutorial] ❌ Step 4 hidden - login flag is true"),Or(),!1):(qr("[Tutorial] ✓ Step 4 will show - user is not authenticated"),Or(),!0)}function qi(e){switch(e){case 0:return Ur("tutorialStep1Title");case 1:return Ur("tutorialStep2Title");case 2:return Ur("tutorialStep3Title");case 3:return Ur("tutorialStep4Title");default:return Ur("tutorialTitle")}}function Hi(e){switch(e){case 0:return`\n

\n ${Ur("tutorialStep1Desc")}\n

\n
\n \n \n \n \n \n \n \n \n \n \n
\n \n ${Ur("tutorialModeDisabled")}\n \n \n
\n
\n \n \n \n
\n
\n

\n ${Ur("tutorialModeDisabled")}\n

\n

\n ${Ur("tutorialModeDisabledDesc")}\n

\n
\n
\n
\n
\n \n \n \n \n
\n
\n

\n ${Ur("tutorialModeView")}\n

\n

\n ${Ur("tutorialModeViewDesc")}\n

\n
\n
\n
\n
\n \n \n \n \n
\n
\n

\n ${Ur("tutorialModeComment")}\n

\n

\n ${Ur("tutorialModeCommentDesc")}\n

\n
\n
\n `;case 1:return`\n

${Ur("tutorialStep2Desc")}

\n
\n
\n \n \n \n
\n
\n

${Ur("tutorialFeatureClick")}

\n

${Ur("tutorialFeatureClickDesc")}

\n
\n
\n
\n
\n \n \n \n
\n
\n

${Ur("tutorialFeatureUpload")}

\n

${Ur("tutorialFeatureUploadDesc")}

\n
\n
\n
\n
\n \n \n \n
\n
\n

${Ur("tutorialFeatureButtons")}

\n

${Ur("tutorialFeatureButtonsDesc")}

\n
\n
\n `;case 2:return`\n

${Ur("tutorialStep3Desc")}

\n
\n
\n \n \n \n
\n
\n

${Ur("tutorialFeatureReply")}

\n

${Ur("tutorialFeatureReplyDesc")}

\n
\n
\n
\n
\n \n \n \n
\n
\n

${Ur("tutorialFeatureStatus")}

\n

${Ur("tutorialFeatureStatusDesc")}

\n
\n
\n `;case 3:return`\n

${Ur("tutorialStep4Desc")}

\n
\n
\n \n \n \n
\n
\n

${Ur("tutorialBenefitIdentity")}

\n

${Ur("tutorialBenefitIdentityDesc")}

\n
\n
\n
\n
\n \n \n \n
\n
\n

${Ur("tutorialBenefitNotifications")}

\n

${Ur("tutorialBenefitNotificationsDesc")}

\n
\n
\n
\n

${Ur("tutorialCtaTitle")}

\n

${Ur("tutorialCtaDesc")}

\n
\n ${(()=>{const e=r.simpleCommenterUserData.clientAccessMode||"invite";return"open"===e||"request"===e?``:""})()}\n \n
\n
\n `;default:return""}}function ji(e,t){const n=e===t-1,o=3===e;let r='
';for(let n=0;n`;return r+="
",o?`\n ${r}\n \n `:`\n ${r}\n \n `}function Oi(e,t){const n=e.querySelector('[data-action="proxy.php?url=https%3A%2F%2Fsimplecommenter.com%2Fskip"]'),o=e.querySelector('[data-action="proxy.php?url=https%3A%2F%2Fsimplecommenter.com%2Fnext"]'),i=e.querySelector('[data-action="proxy.php?url=https%3A%2F%2Fsimplecommenter.com%2Ffinish"]'),a=e.querySelector('[data-action="proxy.php?url=https%3A%2F%2Fsimplecommenter.com%2Fcontinue"]'),s=e.querySelector('[data-action="proxy.php?url=https%3A%2F%2Fsimplecommenter.com%2Fregister"]')||Ii.content.querySelector('[data-action="proxy.php?url=https%3A%2F%2Fsimplecommenter.com%2Fregister"]'),l=e.querySelector('[data-action="proxy.php?url=https%3A%2F%2Fsimplecommenter.com%2Flogin"]')||Ii.content.querySelector('[data-action="proxy.php?url=https%3A%2F%2Fsimplecommenter.com%2Flogin"]'),m=()=>{Ft({showTutorial:!1}),_i(!0)};n&&n.addEventListener("click",()=>{m()}),o&&o.addEventListener("click",()=>{!function(){const e=Ii.popup.querySelector(".simple-commenter-popup-content"),t=Ii.popup.querySelector(".simple-commenter-popup-footer"),n=Ii.popup.querySelector(".simple-commenter-popup-title");e.classList.add("fading"),t.classList.add("fading"),setTimeout(()=>{Ni+=1,n.textContent=qi(Ni);const o=Ri()?4:3;e.innerHTML=Hi(Ni),t.innerHTML=ji(Ni,o),Oi(t),requestAnimationFrame(()=>{e.classList.remove("fading"),t.classList.remove("fading")})},200)}()}),i&&i.addEventListener("click",()=>{m()}),a&&a.addEventListener("click",()=>{m()}),s&&s.addEventListener("click",()=>{_i(),Ft({email:"",verified:!1}),Do("login",{showRegister:!0,loginMethod:"magic"})}),l&&l.addEventListener("click",()=>{_i(),Ft({email:"",verified:!1}),r.drawerShowRegister=!1,r.drawerLoginMethod="magic",Do("login")}),0===Ni&&function(){const e=Ii.content;if(!e)return;const t=e.querySelector(".simple-commenter-tutorial-modebox"),n=e.querySelector("#tutorial-mode-label");if(!t||!n)return;const o=t.querySelector(".tutorial-mode-disabled"),r=t.querySelector(".tutorial-mode-view"),i=t.querySelector(".tutorial-mode-comment");if(!o||!r||!i)return;const a=["disabled","view","comment"],s={disabled:Ur("tutorialModeDisabled"),view:Ur("tutorialModeView"),comment:Ur("tutorialModeComment")};let l=0;const m=e=>{o.classList.remove("simple-commenter-disabled-button"),r.classList.remove("simple-commenter-view-button"),i.classList.remove("simple-commenter-active-button"),"disabled"===e?o.classList.add("simple-commenter-disabled-button"):"view"===e?r.classList.add("simple-commenter-view-button"):"comment"===e&&i.classList.add("simple-commenter-active-button"),n.textContent=s[e]},c=()=>{Bi&&"tutorial"===zi&&0===Ni&&(l=(l+1)%a.length,m(a[l]),setTimeout(c,1500))};setTimeout(c,1500),o.addEventListener("click",()=>m("disabled")),r.addEventListener("click",()=>m("view")),i.addEventListener("click",()=>m("comment"))}()}function Vi(e,t){return Hr(),qr("[Tutorial] Mode change: '",t,"' -> '",e,"'"),"disabled"!==t?(qr("[Tutorial] ❌ NOT triggering - oldMode is not 'disabled', it's '",t,"'"),void Or()):"view"!==e&&"active"!==e?(qr("[Tutorial] ❌ NOT triggering - newMode is neither 'view' nor 'active', it's '",e,"'"),void Or()):(qr("[Tutorial] ✓ Mode change qualifies (disabled -> view/active)"),function(){const e=r.simpleCommenterUserData||{};Hr(),qr("[Tutorial] Widget version: v2"),qr("[Tutorial] showTutorial value:",e.showTutorial),qr("[Tutorial] Current mode:",ni),qr("[Tutorial] User data:",{token:e.token?"[present]":"[absent]",email:e.email||"[none]",login:e.login,showTutorial:e.showTutorial,clientAccessMode:e.clientAccessMode});const t=Boolean(e.token)||!0===e.verified&&Boolean(e.email);if(!(void 0!==e.userTutorialPreference?e.userTutorialPreference:!1!==e.tutorial))return qr("[Tutorial] ❌ NOT showing - tutorial setting disabled (user/domain preference)"),Or(),!1;if(t)return qr("[Tutorial] ❌ NOT showing - authenticated user (tutorial now anonymous-only)"),Or(),!1;const n=e.showTutorial;return!1===n?(qr("[Tutorial] ❌ NOT showing - showTutorial is explicitly false (user dismissed it before)"),Or(),!1):(qr("[Tutorial] ✓ Can show - showTutorial is:",void 0===n?"undefined (first time)":n),Or(),!0)}()?Bi?(qr("[Tutorial] ❌ NOT triggering - popup already open"),void Or()):(qr("[Tutorial] ✓ All checks passed - opening tutorial popup"),Or(),void Ui("tutorial")):(qr("[Tutorial] ❌ NOT triggering - shouldShowTutorial() returned false"),void Or()))}function Wi({skipParamActiveSetting:e=!1}={}){const t=ri;if(ri=oi,localStorage.removeItem("simpleCommenterUserData"),Ft({login:t.login,...e?{}:{paramActive:t.paramActive,paramActiveSetting:t.paramActiveSetting},theme:t.theme,localization:t.localization,clientAccessMode:t.clientAccessMode,clientLogin:t.clientLogin,showTutorial:t.showTutorial,userTutorialPreference:t.userTutorialPreference,tutorial:t.tutorial}),e){const e=new URL(window.location.href);e.searchParams.has("simple-commenter")&&(e.searchParams.delete("simple-commenter"),window.history.replaceState({},document.title,e.toString()),qr("[resetUserData] Removed ?simple-commenter=true from URL"))}dn("disabled"),no()}function Yi(){}const Xi=()=>{const e=(r.comments||[]).length,t=r.allCommentsLoaded?(r.allComments||[]).length:r.allCommentsCount||0,n=r.commentsLoading?`${Ur("loading")||"Loading..."}`:`${e} ${Ur("thisPage")}`;r.pageCommentsButton&&(r.pageCommentsButton.textContent=n),r.allCommentsButton&&(r.allCommentsButton.textContent=`${t} ${Ur("allPages")}`);const o=document.getElementById("simple-commenter-comment-list-button");if(o){const t=r.commentsLoading?"…":e>0?`${e}`:"0";o.innerHTML=`\n

\n ${t}\n

\n `;const n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("fill","none"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("strokeLinecap","1.5"),n.style.width="20px",n.style.height="20px",n.innerHTML='',o.appendChild(n)}const i=document.getElementById("simple-commenter-menu-count");i&&(i.textContent=r.commentsLoading?"…":e>0?e:"0");const a=document.querySelector(".simple-commenter-pill-badge");a&&(r.sidebarDisabled?a.style.setProperty("display","none","important"):(a.textContent=e>0?`${e}`:"",a.style.setProperty("display",e>0?"flex":"none","important")))};function Gi(e){const t=e?.userAgent||"";let n="Unknown",o="Unknown",r=e?.viewportWidth||window.innerWidth;return/iPhone|iPad|iPod/.test(t)?n="iOS":/Macintosh/.test(t)?n="macOS":/Windows/.test(t)?n="Windows":/Android/.test(t)?n="Android":/Linux/.test(t)&&(n="Linux"),/CriOS\/([\d\.]+)/.test(t)||/Chrome\/([\d\.]+)/.test(t)?o="Chrome":/FxiOS\/([\d\.]+)/.test(t)||/Firefox\/([\d\.]+)/.test(t)?o="Firefox":/Version\/([\d\.]+).*Safari/.test(t)&&(o="Safari"),{platform:n,browser:o,viewportWidth:r}}function Zi(e){const t=document.createElement("textarea");return t.innerHTML=e,t.value}const Ji=e=>{const t=e.userData||{},n=`\n
\n ${t.name&&t.name.trim()?t.name:Ur("anonymous")}\n ${Gr(e.date)}\n
\n `;let o="";if(e.metadata){const{platform:t,browser:n,viewportWidth:r}=Gi(e.metadata),i=[];t&&i.push(t),n&&i.push(n),r&&i.push(`${r} px`),i.length>0&&(o=`\n
\n

\n \n ${i.join(" · ")}\n \n
\n `)}const r=document.createElement("p");r.className="simple-commenter-title simple-commenter-title-bold",r.innerHTML=xn(e.text||""),r.style.whiteSpace="pre-wrap";const i=`\n ${ri.associated?n:""}\n ${r.outerHTML}\n ${o}\n `,a=document.createElement("div");if(a.className="simple-commenter-reply",a.innerHTML=i,e.attachments&&e.attachments.length>0){const t=document.createElement("div");t.className="simple-commenter-files-wrapper",e.attachments.forEach(e=>{const n=nt({file:e,asLink:!0,gray:!1});t.appendChild(n)}),a.appendChild(t)}return a};function Ki(e){const t=e;for(;e&&e!==document.body;){if("simple-commenter-pdf-viewer"===e.id||"simple-commenter-video-viewer"===e.id)return!0;if("simple-commenter-img-viewer"===e.id)return"IMG"===t.tagName;e=e.parentElement}return!1}function Qi(e=["#wpadminbar",".admin-bar"]){try{for(const t of e)if(document.querySelector(t))return qr(`Admin bar detected: ${t}`),!0}catch(e){console.error("Error checking for admin bar:",e)}return!1}document.addEventListener("mouseover",function(e){r.isReattachMode||(r.commentInputUI?Oe(e.target)?mr():Re():"view"!==ni&&"disabled"!==ni&&(ai?!Oe(e.target)&&Ki(e.target)?(Kr=e.target,r.currentElement=e.target,Re(),setTimeout(()=>{He(Kr)},150)):(ti&&(ti.className="simple-commenter-overlay"),mr()):Oe(e.target)?(ti&&(ti.className="simple-commenter-overlay"),mr()):(Kr=e.target,r.currentElement=e.target,Re(),setTimeout(()=>{He(Kr)},150))))}),document.addEventListener("click",function(e){if(r.isReattachMode)return;const t=e.target instanceof Element?e.target:null;if(!t)return;const n=r.commentInputUI||Qr,o=r.isUploading||ii;if("active"!==ni)return;if(Oe(t))return;e.preventDefault(),e.stopImmediatePropagation();const i=t.closest(".simple-commenter-priority-menu, .simple-commenter-actions-menu, .simple-commenter-status-menu"),a=t.closest(".simple-commenter-gallery-modal, .simple-commenter-gallery-backdrop, .simple-commenter-gallery-close"),s=Boolean(r.screenshotData)||r.addedFiles.length>0||r.shapes.length>0;if(n&&!n.contains(t)&&!i&&!a&&!r.isDrawing&&!r.justFinishedDrawing&&!o&&!s){const e=n.querySelector(".simple-commenter-textarea-check");e&&!p(e)||($r(),ct())}if(n||o)return;const l=r.currentElement||Kr||t;if(!l)return;if(ai&&!Ki(l))return;Kr=l,r.currentElement=l;const{xPercent:m,yPercent:c}=mt(e,l);dr(e.clientX,e.clientY,l,{xPercent:m,yPercent:c})},!0),document.addEventListener("auxclick",function(e){if(r.isReattachMode)return;if("active"!==ni)return;const t=e.target instanceof Element?e.target:null;t&&(Oe(t)||(e.preventDefault(),e.stopImmediatePropagation()))},!0),document.addEventListener("submit",function(e){if(r.isReattachMode)return;if("active"!==ni)return;const t=e.target instanceof Element?e.target:null;t&&(Oe(t)||(e.preventDefault(),e.stopImmediatePropagation()))},!0),document.addEventListener("click",function(e){if(r.isReattachMode)return;const t=r.commentInputUI||Qr,n=r.isUploading||ii,o=r.currentElement||Kr;if("view"===ni||"disabled"===ni)return;const i=e.target instanceof Element?e.target:null;if(!i)return;const a=i.closest(".simple-commenter-priority-menu, .simple-commenter-actions-menu, .simple-commenter-status-menu"),s=i.closest(".simple-commenter-gallery-modal, .simple-commenter-gallery-backdrop, .simple-commenter-gallery-close"),l=Boolean(r.screenshotData)||r.addedFiles.length>0||r.shapes.length>0;if(t&&!t.contains(i)&&!a&&!s&&!r.isDrawing&&!r.justFinishedDrawing&&!n&&!l&&(!t.querySelector(".simple-commenter-textarea")||0===t.querySelector(".simple-commenter-textarea").value.length)){const e=t.querySelector(".simple-commenter-textarea-check");if(qr(e),!e||p(e))return qr("Closing comment UI because textarea is empty or missing."),$r(),void ct()}if(!t&&!n&&!Oe(i)&&o){if(ai&&!Ki(i))return;const{xPercent:t,yPercent:n}=mt(e,o);r.currentElement=o,dr(e.clientX,e.clientY,o,{xPercent:t,yPercent:n}),e.preventDefault()}},!1),document.addEventListener("mouseout",function(){if(ti){const e=(r.commentInputUI?!r.isDrawing:Qr)&&!r.capturing&&0===r.shapes.length;ti.className=e?"simple-commenter-overlay simple-commenter-active":"simple-commenter-overlay"}}),document.addEventListener("keydown",function(e){if(r.active&&"disabled"!==r.mode&&"view"!==r.mode&&(!r.commentInputUI||"c"!==e.key&&"C"!==e.key&&"h"!==e.key&&"H"!==e.key))if("c"===e.key||"C"===e.key);else if("Escape"===e.key){if(r.drawerOpen)return;mr(),dn("view")}else"h"===e.key||e.key});const ea={check:'\n \n \n \n ',error:'\n \n \n \n ',unverified:'\n \n \n \n ',move:'\n \n \n \n \n \n \n \n \n ',delete:'\n \n \n \n ',trash:'\n \n \n \n ',user:'\n \n \n \n ',upload:'\n \n \n \n ',draw:'\n \n ',screenshot:'\n \n \n \n ',record:'\n \n \n \n ',marker:'\n \n \n \n ',pen:'\n \n \n \n ',arrow:'\n \n \n \n ',x:'\n \n \n \n ',comment:'\n \n \n \n \n \n ',line:'\n \n \n \n ',circle:'\n \n \n \n ',square:'\n \n \n \n ',back:'\n \n \n \n ',forward:'\n \n \n \n ',visible:'\n \n \n \n \n ',visibleHelp:'\n \n \n \n \n ',hidden:'\n \n ',hiddenHelp:'\n \n ',color:'\n \n \n \n ',photo:'\n \n \n \n ',more:'\n \n \n \n \n \n ',reattach:'\n \n \n \n ',photoColored:'\n \n \n \n \n \n ',simpleCommenter:'\n \n ',commentArrow:'\n \n \n \n \n \n ',uploadTray:'\n \n \n \n '};function ta({icon:e,ariaLabel:t="SVG",className:n,color:o,text:r,disableHover:i=!1}){const a=document.createElement("span");a.innerHTML=ea[e]||"",a.setAttribute("aria-label",t),a.classList.add("simple-commenter-icon-button-div");const s=a.querySelector("svg");if(n&&a.classList.add(n),r){const e=document.createElement("span");e.textContent=r,e.classList.add("simple-commenter-icon-text"),a.appendChild(e)}if(i&&s.classList.add("no-hover"),o){const e=a.querySelector("svg");e&&(e.style.fill=o)}return a}function na({icon:e,ariaLabel:t,dataId:n,onClick:o,className:r,iconClassName:i,onMouseDown:a,color:s,dataColor:l,position:m,tooltip:c,noCloseOnClick:p}){const d=document.createElement("button");if(d.innerHTML=ea[e]||"",d.setAttribute("aria-label",t),d.classList.add("simple-commenter-comment-meta-button"),i){const e=d.querySelector("svg");e&&e.classList.add(i)}if(s){const e=d.querySelector("svg");e&&(e.style.fill=s)}if(c){const e=document.createElement("p");e.className="simple-commenter-tooltip",e.textContent=c,d.appendChild(e),d.addEventListener("mouseenter",()=>{e.classList.add("visible")}),d.addEventListener("mouseleave",()=>{e.classList.remove("visible")})}return p&&(d.dataset.noCloseOnClick="true"),r&&d.classList.add(r),n&&d.setAttribute("data-id",n),l&&(d.dataset.color=l),m&&(d.style.position=m),o&&d.addEventListener("click",o),a&&(d.addEventListener("mousedown",a),d.addEventListener("touchstart",a,{passive:!1})),d}function oa({description:e,title:t,type:n="info",duration:o=5e3,loading:r=!1}){let i=document.getElementById("simple-commenter-alert-container-main");i||(i=document.createElement("div"),i.id="simple-commenter-alert-container-main",i.className="simple-commenter-alert-container",document.body.appendChild(i));let a,s=i.querySelector(".simple-commenter-alert-panel"),l=!1;s||(s=document.createElement("div"),s.className="simple-commenter-alert-panel",i.appendChild(s),l=!0),s.innerHTML="";const m=()=>{clearTimeout(a),s.classList.remove("visible"),setTimeout(()=>s.remove(),300)},c=document.createElement("div");let p;c.className="simple-commenter-alert-content",r?(p=document.createElement("div"),p.className="simple-commenter-loading-spinner"):p=ta({icon:"success"===n?"check":"error",color:"success"===n?"#7BC47F":"#E66A6A"});const d=document.createElement("div");d.className="simple-commenter-alert-text";const u=document.createElement("p");u.className="simple-commenter-alert-title",u.textContent=t||("success"===n?"Success!":"error"===n?"Error":"");const g=document.createElement("p");g.className="simple-commenter-alert-description",g.textContent=e;const h=Nr({ariaLabel:"Close Alert",className:"simple-commenter-alert-close-button",onClick:m});return d.appendChild(u),d.appendChild(g),c.appendChild(p),c.appendChild(d),c.appendChild(h),s.appendChild(c),l&&setTimeout(()=>s.classList.add("visible"),10),r||(a=setTimeout(m,o)),{update({description:e,title:t,type:n="info",loading:o=!1,duration:r}){oa({description:e,title:t,type:n,loading:o,duration:r})},close:m}}document.addEventListener("mouseover",function(e){if(r.isReattachMode){if(Oe(e.target))return r.overlay.className="simple-commenter-overlay",void(r.overlay.className="simple-commenter-overlay");r.reattachElement=e.target,He(e.target)}},!0),document.addEventListener("click",async function(e){if(!r.isReattachMode||!r.reattachCommentId)return;if(Oe(e.target))return;e.preventDefault(),e.stopPropagation();const t=r.reattachElement||e.target;if(!t)return Qe.showAlertBanner({description:"No element selected for reattachment."}),void at();st(),function(){lt();const e=document.createElement("div");if(e.id="simple-commenter-reattach-loading-banner",e.style.cssText='\n position: fixed !important;\n top: 16px !important;\n left: 50% !important;\n transform: translateX(-50%) !important;\n z-index: 2147483010 !important;\n background: #62B0E8 !important;\n color: white !important;\n padding: 14px 18px !important;\n border-radius: 12px !important;\n box-shadow: 0 10px 25px rgba(98, 176, 232, 0.3) !important;\n display: flex !important;\n align-items: center !important;\n gap: 12px !important;\n font-family: "Poppins", sans-serif !important;\n ',e.innerHTML='\n \n \n \n \n
Reattaching comment...
\n ',!document.getElementById("simple-commenter-spin-style")){const e=document.createElement("style");e.id="simple-commenter-spin-style",e.textContent="\n @keyframes simple-commenter-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n ",document.head.appendChild(e)}document.body.appendChild(e)}();const n=W(t),o=Z(t,e),{xPercent:i,yPercent:a}=mt(e,t);L("🔄 Reattaching comment to element:",{commentId:r.reattachCommentId,xpath:n,relativePosition:{xPercent:i,yPercent:a}});try{await Qe.updateCommentStatus(r.reattachCommentId,{elementXPath:n,relativePosition:{xPercent:i,yPercent:a},elementFingerprint:o}),Qe.showAlertBanner({description:"Comment successfully reattached to new element!",type:"success"}),L("✅ Comment reattached successfully")}catch(e){console.error("Error reattaching comment:",e),Qe.showAlertBanner({description:"Failed to reattach comment. Please try again."})}at()},!0),document.addEventListener("keydown",function(e){r.isReattachMode&&"Escape"===e.key&&(e.preventDefault(),at())},!0);const ra=new MutationObserver(e=>{e.forEach(e=>{"childList"===e.type&&e.addedNodes.length>0&&e.addedNodes.forEach(e=>{"IMG"===e.tagName&&e.removeAttribute("onerror")})})}),ia={childList:!0,subtree:!0};function aa(e="unknown"){if(function(){if(window.simpleCommenterState?.iframeCommenting)return!0;const e=window.location.pathname;if(e.startsWith("/app/")&&e.includes("/files/"))return!0;const t=Ei(r.domain);return!!t&&(!r.extensionMode||function(e){const t=Ei(e);return!!t&&ki.test(t)}(t))}())if(!0!==window.simpleCommenterDisabled||r.extensionMode)if(Zr)qr(`[comments.js] init() already called, skipping (triggered by: ${e})`);else{Zr=!0,window.__simpleCommenterInitialized__=!0,jr(),qr("[init] Loading method: "+(window.__SC_INLINE_LOADED__?"inline (Next.js bundle)":"external script")),function(){if(!b&&"undefined"!=typeof window){b=!0;try{(function(){if("undefined"==typeof window||"function"!=typeof window.fetch)return;const e=window.fetch.bind(window);window.fetch=function(t,n){try{let e="",o=null;"string"==typeof t?e=t:t&&"object"==typeof t&&(e=t.url||"","undefined"!=typeof Headers&&t.headers instanceof Headers&&(o=t.headers)),o&&o.forEach((t,n)=>x(n,t,e)),function(e,t){try{const n=e?.headers;if(!n)return;if("undefined"!=typeof Headers&&n instanceof Headers)return void n.forEach((e,n)=>x(n,e,t));if(Array.isArray(n)){for(const e of n)Array.isArray(e)&&e.length>=2&&x(String(e[0]),String(e[1]),t);return}if("object"==typeof n)for(const e of Object.keys(n))"string"==typeof n[e]&&x(e,n[e],t)}catch{}}(n,e)}catch{}return e(t,n)}})(),function(){if("undefined"==typeof XMLHttpRequest)return;const e=XMLHttpRequest.prototype,t=e.open,n=e.setRequestHeader;e.open=function(e,n,...o){try{this.__sc_url=n}catch{}return t.call(this,e,n,...o)},e.setRequestHeader=function(e,t){try{x(String(e),String(t),this.__sc_url||"")}catch{}return n.call(this,e,t)}}()}catch{}}}();try{const e=new URLSearchParams(window.location.search).get("sc_draft");if(e){const t=new URL(window.location.href);t.searchParams.delete("sc_draft"),window.history.replaceState({},"",t.toString()),r.activeDraftResumeToken=e,qr("[init] Found draft restoration token in URL")}}catch(e){}if(!r.overlay&&document.body&&(r.overlay=document.createElement("div"),document.body.appendChild(r.overlay)),ti=r.overlay,Jr?qr("[startObserver] Observer already started, skipping"):document.body&&(ra.observe(document.body,ia),Jr=!0,qr("[startObserver] MutationObserver started")),("localhost"===window.location.hostname||"simplecommenter.com"===window.location.hostname||"www.simplecommenter.com"===window.location.hostname)&&!window.simpleCommenterState?.iframeCommenting){const t=localStorage.getItem("simpleCommenterUserData");if(t)try{const e=JSON.parse(t);e.theme&&(Ft(e),_callbacks.ensureBaseStyle(),_callbacks.applyCustomTheme(e.theme),e.localization&&_callbacks.applyLocalization(e.localization),_callbacks.createClientModeSelector(),_callbacks.changeMode("disabled",!0),r.modeboxRenderedEarly=!0,qr("[init] Instant modebox rendered from cached theme (trusted origin)"))}catch(e){}}if(window.simpleCommenterState?.iframeCommenting){li=!0,r.iframeCommenting=!0,mi.iframeId=window.simpleCommenterState.iframeId||"website-preview-iframe",mi.domain=window.simpleCommenterState.domain,mi.currentSlug=window.simpleCommenterState.currentSlug||"/",r.iframeState.iframeId=mi.iframeId,r.iframeState.domain=mi.domain,r.iframeState.currentSlug=mi.currentSlug,qr("[init] Iframe commenting mode detected");const e=()=>{const t=document.getElementById(mi.iframeId);t?(mi.iframe=t,r.iframeState.iframe=t,t.contentDocument?(di(),qr("[init] Iframe found and listeners set up")):t.addEventListener("load",()=>{di(),no(),qr("[init] Iframe loaded, listeners set up")})):(qr("[init] Waiting for iframe element..."),setTimeout(e,100))};e(),We(!0)}!function(){if(r.urlWatcherStarted)return;const{isAssetPage:e,isInternalPage:t}=Me();r.lastUrl=location.href,r.lastPageState=t?"internal":e?"asset":"normal",r.urlWatcherStarted=!0,Pe()}(),no(),Or()}else qr(`[comments.js] init() skipped: suppressed by extension (triggered by: ${e})`);else qr(`[comments.js] init() skipped: no valid configured domain (triggered by: ${e})`,{domain:r.domain,extensionMode:r.extensionMode})}if(function(){Fe={safeFetchData:no,updateCommentPositions:tr,enforceAssetPageUI:We,cancelAllScreenshotPolls:mo};const e=(...e)=>Ur(...e);Qe={createIcon:ta,createIconButton:na,createCloseButton:Nr,showAlertBanner:oa,updateCommentStatus:ko,localize:e},function(e){kt=e}({localize:e,parseAndNormalize:Ti,fetchData:yo,changeMode:dn,refreshUserInner:Yi}),function(e){Pt=e}({localize:e,openDrawer:Do,createCloseButton:Nr,createStatusFilterDropdown:Br,fetchCommentsByStatus:xo,ensurePageCommentsLoaded:ho,ensureAllCommentsLoaded:fo,startCommentsPolling:bo,stopCommentsPolling:wo,updateDrawerCommentList:_r,updateCommentCount:Xi,enableAllButtons:ir,disableAllButtons:rr,hideComments:ur,displayComments:wr,exitCommentMode:mr,hideCommentInput:gr,showCommentModeIndicator:ar,hideCommentModeIndicator:sr,triggerTutorialIfNeeded:Vi}),function(e){Eo=e}({localize:e,safeFetchData:no,fetchData:yo,fetchCommentsByStatus:xo,ensurePageCommentsLoaded:ho,ensureAllCommentsLoaded:fo,updateCommentStatus:ko,replyComment:pr,deleteComment:vo,displaySingleComment:br,showCommentBoxPanel:hr,refreshUserInner:Yi,resetUserData:Wi,showAlertBanner:oa,openPopup:Ui,createStatusFilterDropdown:Br,createPriorityDropdown:Mr,createStatusDropdown:Pr,createScreenshotButton:ot,timeAgo:Gr,deviceMetaData:Gi,updateDrawerCommentList:_r,triggerTutorialIfNeeded:Vi,createReplyItem:Ji,decodeHTMLEntities:Zi,iconSvgs:ea,createUploadButton:bt}),function(e){Xo=e}({localize:e,safeFetchData:no,fetchData:yo,fetchCommentsByStatus:xo,ensurePageCommentsLoaded:ho,deleteComment:vo,editComment:Co,updateCommentStatus:ko,replyComment:pr,showAlertBanner:oa,openPopup:Ui,closePopup:_i,timeAgo:Gr,deviceMetaData:Gi,createReplyItem:Ji,decodeHTMLEntities:Zi,refreshUserInner:Yi,openDrawer:Do,openDrawerCommentDetail:zo,triggerTutorialIfNeeded:Vi,iconSvgs:ea,createIconButton:na,createUploadButton:bt,updateCommentCount:Xi,updateDrawerCommentList:_r,notifyParentFrame:Di}),function(e){_n=e}({localize:e,displayComments:async(...e)=>{if(await wr(...e),r.activeDraftResumeToken){const e=r.activeDraftResumeToken;r.activeDraftResumeToken=null,async function(e){try{const t=await async function(e){const t=`${I}get-draft`;return(await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({domain:r.domain,draftResumeToken:e})})).json()}(e);if(!t||t.error)return void qr("[draft] No draft found or error:",t?.error);if(qr("[draft] Restoring draft:",t.draftType),"reply"===t.draftType&&t.parentCommentId)zo(t.parentCommentId),setTimeout(()=>{const e=document.querySelector(`.simple-commenter-reply-textarea-inline[data-id="${t.parentCommentId}"]`);e&&t.text&&(m(e,t.text),e.dispatchEvent(new Event("input",{bubbles:!0})),e.focus())},500);else if(t.text){qr("[draft] Comment draft text:",t.text),qr("[draft] elementXPath:",t.elementXPath||"MISSING");let e=null;if(t.elementXPath&&(e=V(t.elementXPath,{ignoreVisibility:!0}),qr("[draft] Found element by XPath:",!!e)),e){dn("active"),r.currentElement=e;const n=e.getBoundingClientRect();dr(n.left+n.width/2,n.top+n.height/2,e),setTimeout(()=>{const e=document.querySelector(".simple-commenter-textarea-new.simple-commenter-textarea-check");if(e&&t.text&&(m(e,t.text),e.focus()),t.title){const e=document.querySelector(".simple-commenter-title-input-new");e&&(e.value=t.title)}},300)}else oa({type:"info",title:"Draft restored",description:"Your previous comment was saved. Click an element to continue."}),r.pendingDraftText=t.text,r.pendingDraftTitle=t.title||null}}catch(e){console.warn("[SC] Draft restoration failed:",e)}}(e)}},displaySingleComment:br,isReplyDraftActive:Cr,applyPollCommentUpdates:Lr,showAlertBanner:oa,refreshUserInner:Yi,changeMode:dn,openDrawer:Do,updateDrawerCommentList:_r,updateCommentCount:Xi,applyLocalization:Ci,notifyParentFrame:Di,ensureBaseStyle:()=>function(){let e=document.getElementById("simple-commenter-style");e||(e=document.createElement("style"),e.id="simple-commenter-style",document.head.appendChild(e)),e.innerHTML=' /* Comment Mode Indicator */\n .simple-commenter-mode-indicator {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n /* Mobile viewport: use dvh for dynamic viewport height */\n height: 100vh; /* Fallback for older browsers */\n height: 100dvh; /* Dynamic viewport height - adjusts with mobile URL bar */\n pointer-events: none;\n z-index: 2147483000;\n border-width: 4px;\n border-style: solid;\n border-color: #62B0E8;\n box-shadow: inset 0 0 15px rgba(98, 176, 232, 0.15);\n transition: opacity 0.3s ease-in-out;\n }\n\n /* Alternative approach using CSS env() for iOS safe areas */\n @supports (height: 100dvh) {\n .simple-commenter-mode-indicator {\n bottom: 0;\n height: auto;\n min-height: 100dvh;\n }\n }\n\n .simple-commenter-mode-banner {\n position: fixed;\n top: 20px;\n left: 50%;\n transform: translateX(-50%);\n background: #62B0E8;\n color: white;\n border-radius: 12px;\n box-shadow: 0 10px 25px rgba(98, 176, 232, 0.3);\n z-index: 2147483010;\n pointer-events: auto;\n font-family: "Poppins", sans-serif;\n display: flex;\n align-items: flex-start;\n gap: 12px;\n padding: 14px 18px;\n width: auto;\n min-width: 320px;\n max-width: 500px;\n animation: simple-commenter-slide-down 0.3s ease-out forwards;\n }\n\n @media (max-width: 768px) {\n .simple-commenter-mode-banner {\n min-width: unset;\n max-width: calc(100vw - 40px);\n left: 20px;\n right: 20px;\n transform: none;\n width: auto;\n }\n }\n\n @keyframes simple-commenter-slide-down {\n from {\n opacity: 0;\n transform: translateX(-50%) translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateX(-50%) translateY(0);\n }\n }\n\n @media (max-width: 768px) {\n @keyframes simple-commenter-slide-down {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n }\n\n .simple-commenter-mode-banner-icon {\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n color: white;\n }\n\n .simple-commenter-mode-banner-content {\n display: flex;\n flex-direction: column;\n gap: 4px;\n flex-grow: 1;\n min-width: 0;\n }\n\n .simple-commenter-mode-banner-title {\n font-weight: 600;\n font-size: 14px;\n margin: 0;\n line-height: 1.3;\n color: white;\n }\n\n .simple-commenter-mode-banner-description {\n font-size: 13px;\n margin: 0;\n line-height: 1.4;\n color: rgba(255, 255, 255, 0.95);\n }\n\n .simple-commenter-mode-banner-key {\n background: rgba(255, 255, 255, 0.25);\n color: white;\n padding: 2px 6px;\n border-radius: 4px;\n font-weight: 600;\n font-family: monospace;\n font-size: 11px;\n white-space: nowrap;\n }\n\n .simple-commenter-mode-banner-close {\n flex-shrink: 0;\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n color: rgba(255, 255, 255, 0.8);\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .simple-commenter-mode-banner-close:hover {\n color: white;\n }\n\n .simple-commenter-mode-banner-dismiss {\n margin-top: 8px;\n padding: 4px 10px;\n font-size: 11px;\n background: white;\n border: none;\n border-radius: 4px;\n color: #62B0E8;\n cursor: pointer;\n font-weight: 600;\n align-self: flex-start;\n transition: all 0.2s ease;\n }\n\n .simple-commenter-mode-banner-dismiss:hover {\n background: rgba(255, 255, 255, 0.95);\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n }\n\n @media (max-width: 768px) {\n .simple-commenter-mode-banner-key-mobile-hide {\n display: none;\n }\n }\n\n /* The spinning animation */\n @keyframes spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n /* The spinner element */\n .simple-commenter-spinner {\n position: absolute !important;\n top: 50% !important;\n left: 50% !important;\n margin-top: -10px !important;\n margin-left: -10px !important;\n width: 20px !important;\n height: 20px !important;\n border: 2px solid rgba(0, 0, 0, 0.2) !important;\n border-top-color: #000 !important;\n border-radius: 50% !important;\n animation: spin 0.8s linear infinite !important;\n padding: 0 !important;\n box-sizing: border-box !important;\n }\n\n /* Spinner inside the alert banner (replaces icon) */\n .simple-commenter-loading-spinner {\n margin: 3px;\n width: 18px;\n height: 18px;\n border: 2px solid rgba(0, 0, 0, 0.15);\n border-top-color: #57AE5B;\n border-radius: 50%;\n animation: spin 0.8s linear infinite;\n flex-shrink: 0;\n align-self: flex-start;\n position: relative;\n }\n\n @keyframes simple-commenter-pulse {\n 0% {\n transform: translate(-50%, -50%) scale(0.7);\n opacity: 0.7;\n }\n 70% {\n transform: translate(-50%, -50%) scale(1.5);\n opacity: 0;\n }\n 100% {\n transform: translate(-50%, -50%) scale(0.7);\n opacity: 0;\n }\n }\n\n /* Fade-in animation */\n @keyframes fadeIn {\n from {\n opacity: 0;\n /* transform: translate(-50%, -50%) scale(0.9);*/\n }\n to {\n opacity: 1;\n /* transform: translate(0%, 0%) scale(1);*/\n }\n }\n\n @keyframes fadeOut {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n }\n\n /* Scrollbar styling */\n .simple-commenter-dropdown-menu::-webkit-scrollbar {\n width: 6px !important;\n }\n\n .simple-commenter-dropdown-menu::-webkit-scrollbar-track {\n background: transparent !important;\n }\n\n .simple-commenter-dropdown-menu::-webkit-scrollbar-thumb {\n background: rgb(209 213 219) !important;\n border-radius: 3px !important;\n }\n\n .simple-commenter-dropdown-menu::-webkit-scrollbar-thumb:hover {\n background: rgb(156 163 175) !important;\n }\n\n /* Hide scrollbars on simple-commenter elements that shouldn\'t have them */\n .simple-commenter-modebox,\n .simple-commenter-modebox *,\n .simple-commenter-alert-container,\n .simple-commenter-alert-panel {\n scrollbar-width: none !important; /* Firefox */\n -ms-overflow-style: none !important; /* IE/Edge */\n }\n\n .simple-commenter-modebox::-webkit-scrollbar,\n .simple-commenter-modebox *::-webkit-scrollbar,\n .simple-commenter-alert-container::-webkit-scrollbar,\n .simple-commenter-alert-panel::-webkit-scrollbar {\n display: none !important; /* Chrome/Safari/Opera */\n width: 0 !important;\n height: 0 !important;\n }\n\n /* Main container for all alert banners */\n .simple-commenter-alert-container {\n position: fixed !important;\n top: 0 !important;\n right: 0 !important;\n left: auto !important;\n padding: 1rem !important; /* 16px - smaller on mobile */\n z-index: 2147483005 !important;\n width: auto !important;\n max-width: min(24rem, calc(100vw - 2rem)) !important; /* 384px or viewport - padding */\n min-width: 0 !important;\n pointer-events: none; /* Clicks pass through the container */\n font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;\n box-sizing: border-box !important;\n }\n\n /* A single alert banner panel */\n .simple-commenter-alert-panel {\n background-color: white !important;\n width: 100% !important;\n max-width: 100% !important;\n border-radius: 12px !important;\n border: 1px solid !important;\n border-color: rgb(229 231 235) !important;\n box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1) !important;\n pointer-events: auto; /* Clicks are captured by the panel */\n display: flex !important;\n padding: 16px 12px !important;\n opacity: 0;\n /* This mimics your tooltip\'s animation */\n transition: opacity 0.3s ease-out, transform 0.3s ease-out;\n transform: translateX(1rem); /* Start off to the right */\n margin-bottom: 1rem; /* Space between multiple alerts */\n box-sizing: border-box !important;\n overflow: hidden !important;\n }\n\n /* The class that makes the banner visible */\n .simple-commenter-alert-panel.visible {\n opacity: 1;\n transform: translateX(0);\n }\n\n /* Internal layout for the panel content */\n .simple-commenter-alert-content {\n display: flex;\n align-items: flex-start;\n width: 100%;\n }\n\n .simple-commenter-alert-icon {\n flex-shrink: 0; /* Prevents the icon from shrinking */\n }\n\n .simple-commenter-alert-text {\n margin-left: 0.75rem; /* 12px */\n flex-grow: 1; /* Takes up remaining space */\n }\n\n .simple-commenter-alert-title {\n margin: 0;\n font-size: 0.875rem; /* 14px */\n font-weight: 500;\n color: #111827;\n }\n\n .simple-commenter-alert-description {\n margin: 0.25rem 0 0 0;\n font-size: 0.875rem; /* 14px */\n color: #6b7280;\n }\n\n .simple-commenter-alert-close-button,\n button.simple-commenter-alert-close-button {\n margin-left: 1rem !important;\n flex-shrink: 0 !important;\n background: none !important;\n background-color: transparent !important;\n border: none !important;\n border-width: 0 !important;\n border-style: none !important;\n border-color: transparent !important;\n cursor: pointer !important;\n padding: 0 !important;\n color: #9ca3af !important;\n outline: none !important;\n box-shadow: none !important;\n ring: none !important;\n min-height: auto !important;\n min-width: auto !important;\n height: auto !important;\n width: auto !important;\n line-height: 1 !important;\n }\n\n .simple-commenter-alert-close-button:hover,\n button.simple-commenter-alert-close-button:hover {\n color: #6b7280 !important;\n background: none !important;\n background-color: transparent !important;\n border: none !important;\n box-shadow: none !important;\n outline: none !important;\n }\n\n .simple-commenter-alert-close-button:focus,\n button.simple-commenter-alert-close-button:focus {\n outline: none !important;\n box-shadow: none !important;\n ring: none !important;\n }\n\n .simple-commenter-overlay {\n position: absolute;\n z-index: 10099;\n background-color: rgba(249, 268, 212);\n opacity: 0 !important;\n display: block;\n pointer-events: none;\n border-radius: 0.16px;\n transition: left 150ms ease, top 150ms ease, width 150ms ease, height 150ms ease, opacity 150ms ease, max-width 150ms ease, max-height 150ms ease;\n will-change: left, top, width, height, opacity;\n }\n\n .simple-commenter-overlay.simple-commenter-active {\n opacity: 0.5 !important;\n }\n\n .simple-commenter-active-state {\n background-color: #f7f7f7!important;\n }\n\n .simple-commenter-transition {\n transition: all 150ms ease-in-out;\n }\n\n .simple-commenter-cursor-override * {\n cursor: url("data:image/svg+xml,%0A%20%20%20%20%20%20%3Csvg%0A%20%20%20%20%20%20%20%20width%3D%2222%22%0A%20%20%20%20%20%20%20%20height%3D%2222%22%0A%20%20%20%20%20%20%20%20viewBox%3D%220%200%2028%2028%22%0A%20%20%20%20%20%20%20%20fill%3D%22none%22%0A%20%20%20%20%20%20%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20%20%20%20%20%3E%0A%20%20%20%20%20%20%20%20%3Cpath%0A%20%20%20%20%20%20%20%20%20%20d%3D%22M3.52903%202H14C20.629%202%2026%207.37097%2026%2014C26%2020.629%2020.629%2026%2014%2026C7.37097%2026%202%2020.629%202%2014V3.52903C2%202.6871%202.6871%202%203.52903%202Z%22%0A%20%20%20%20%20%20%20%20%20%20fill%3D%22%23F7D070%22%0A%20%20%20%20%20%20%20%20%20%20stroke%3D%22black%22%0A%20%20%20%20%20%20%20%20%20%20stroke-width%3D%221%22%0A%20%20%20%20%20%20%20%20%20%20class%3D%22simple-commenter-logo-fill%22%0A%20%20%20%20%20%20%20%20%2F%3E%0A%20%20%20%20%20%20%20%20%3Cpath%0A%20%20%20%20%20%20%20%20%20%20d%3D%22M7.51611%2014H20.4839%22%0A%20%20%20%20%20%20%20%20%20%20stroke%3D%22black%22%0A%20%20%20%20%20%20%20%20%20%20stroke-width%3D%221.4%22%0A%20%20%20%20%20%20%20%20%20%20stroke-miterlimit%3D%2210%22%0A%20%20%20%20%20%20%20%20%20%20stroke-linecap%3D%22round%22%0A%20%20%20%20%20%20%20%20%2F%3E%0A%20%20%20%20%20%20%20%20%3Cpath%0A%20%20%20%20%20%20%20%20%20%20d%3D%22M14%208V20.9677%22%0A%20%20%20%20%20%20%20%20%20%20stroke%3D%22black%22%0A%20%20%20%20%20%20%20%20%20%20stroke-width%3D%221.4%22%0A%20%20%20%20%20%20%20%20%20%20stroke-miterlimit%3D%2210%22%0A%20%20%20%20%20%20%20%20%20%20stroke-linecap%3D%22round%22%0A%20%20%20%20%20%20%20%20%2F%3E%0A%20%20%20%20%20%20%3C%2Fsvg%3E%0A%20%20%20%20") 6 6, auto!important;\n }\n\n .simple-commenter-pulse-container {\n position: fixed;\n pointer-events: none;\n z-index: 2147483000;\n }\n\n .simple-commenter-pulse-dot {\n width: 14px;\n height: 14px;\n background: #F7D070!important;\n border-radius: 50%;\n position: absolute;\n left: 0;\n top: 0;\n transform: translate(-50%, -50%);\n box-shadow: 0 0 0 1.5px #000;\n }\n\n .simple-commenter-pulse-anim {\n width: 36px;\n height: 36px;\n background: #F7D070!important;\n opacity: 0.3;\n border-radius: 50%;\n position: absolute;\n left: 0;\n top: 0;\n transform: translate(-50%, -50%);\n animation: simple-commenter-pulse 2s infinite;\n }\n\n .simple-commenter-shape {\n position: absolute;\n pointer-events: none;\n z-index: 10000;\n }\n\n .simple-commenter-shape:hover {\n cursor: move; /* Hand cursor for dragging */\n }\n\n .simple-commenter-cursor-move:hover {\n cursor: move; /* Hand cursor for dragging */\n }\n\n /* Override move cursor when drawing */\n .simple-commenter-drawing-in-progress .simple-commenter-shape:hover {\n cursor: crosshair !important; /* Force crosshair during drawing */\n }\n\n .simple-commenter-square {\n border: 2px solid red;\n border-radius: 6px;\n }\n\n .simple-commenter-circle {\n border: 2px solid blue;\n border-radius: 50%;\n }\n\n .simple-commenter-line {\n background-color: green;\n transform-origin: top left; /* For rotation */\n }\n\n .simple-commenter-arrow {\n background-color: purple;\n transform-origin: top left; /* For rotation */\n }\n\n .simple-commenter-arrow::after {\n content: \'\';\n position: absolute;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 6px 0 6px 10px;\n border-color: transparent transparent transparent purple;\n top: 50%;\n left: 100%;\n transform: translateY(-50%);\n }\n\n /* Modify this rule */\n .simple-commenter-pen {\n position: absolute;\n overflow: visible; /* Keep this */\n pointer-events: none; /* Keep this for the container */\n z-index: 10000; /* Keep this or adjust */\n stroke: purple; /* Or theme color */\n }\n\n /* Keep path styles */\n .simple-commenter-pen path {\n stroke-width: 4px;\n stroke-linecap: round;\n stroke-linejoin: round;\n fill: none;\n pointer-events: auto; /* Path should be interactive */\n }\n\n .simple-commenter-color-picker {\n position: absolute;\n display: none;\n background: #F7F7F7;\n border: 1px solid rgb(229 231 235);\n padding: 5px;\n border-radius: 8px;\n box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n z-index: 10001; /* Above shapes, maybe above modebox? */\n display: flex; /* Use flexbox for layout */\n gap: 5px; /* Space between color options */\n transform: translateX(-50%);\n left: 50%;\n margin-top: 4px;\n }\n\n .simple-commenter-tooltip {\n position: absolute;\n left: 50%;\n bottom: 120%; /* Show above the button */\n transform: translateX(-50%);\n background: #F7F7F7;\n border: 1px solid rgb(229 231 235);\n padding: 5px 12px;\n border-radius: 8px;\n box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n z-index: 10001;\n font-size: 13px;\n color: #222;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.2s cubic-bezier(.4,0,.2,1);\n white-space: nowrap;\n user-select: none;\n /* Optional: fade in from below */\n transition: opacity 0.2s cubic-bezier(.4,0,.2,1), transform 0.2s cubic-bezier(.4,0,.2,1);\n transform: translateX(-50%) translateY(8px);\n }\n\n .simple-commenter-tooltip.visible {\n opacity: 1;\n pointer-events: auto;\n transform: translateX(-50%) translateY(0);\n }\n\n .simple-commenter-help-step .simple-commenter-heading-sm {\n display: flex;\n align-items: center;\n gap: 6px;\n margin: 0;\n font-weight: 600!important;\n font-size: 14px!important;\n }\n\n .simple-commenter-help-icon svg {\n width: 18px;\n height: 18px;\n }\n\n .simple-commenter-gallery-modal {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: transparent;\n padding: 12px;\n border-radius: 20px;\n z-index: 2147483601;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: calc(100vw - 32px);\n max-width: 1280px;\n max-height: calc(100vh - 32px);\n overflow: visible;\n animation: fadeIn 0.2s ease-out;\n }\n\n .simple-commenter-gallery-image {\n display: block;\n max-width: 100%;\n max-height: calc(100vh - 72px);\n border-radius: 16px;\n object-fit: contain;\n box-shadow: 0 24px 64px rgba(15, 23, 42, 0.45);\n background: rgba(15, 23, 42, 0.35);\n opacity: 0;\n transition: opacity 0.2s ease;\n }\n\n .simple-commenter-gallery-image.is-loaded {\n opacity: 1;\n }\n\n .simple-commenter-gallery-loading {\n position: absolute;\n inset: 12px;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n background: rgba(15, 23, 42, 0.28);\n border: 1px solid rgba(255, 255, 255, 0.18);\n border-radius: 16px;\n color: #E2E8F0;\n backdrop-filter: blur(2px);\n -webkit-backdrop-filter: blur(2px);\n pointer-events: none;\n transition: opacity 0.18s ease;\n }\n\n .simple-commenter-gallery-loading.is-hidden {\n opacity: 0;\n }\n\n .simple-commenter-gallery-loading.is-error {\n background: rgba(127, 29, 29, 0.4);\n border-color: rgba(254, 202, 202, 0.35);\n color: #FECACA;\n }\n\n .simple-commenter-gallery-loading-text {\n font-size: 14px;\n font-weight: 500;\n }\n\n .simple-commenter-gallery-loading-spinner {\n width: 18px;\n height: 18px;\n border-radius: 9999px;\n border: 2px solid rgba(226, 232, 240, 0.35);\n border-top-color: #E2E8F0;\n animation: spin 0.8s linear infinite;\n }\n\n .simple-commenter-gallery-close {\n position: absolute;\n top: 6px;\n right: 6px;\n background: rgba(15, 23, 42, 0.72);\n border: 1px solid rgba(255, 255, 255, 0.3);\n border-radius: 50%;\n width: 38px;\n height: 38px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n color: #F8FAFC;\n backdrop-filter: blur(6px);\n -webkit-backdrop-filter: blur(6px);\n transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease;\n }\n\n .simple-commenter-gallery-close:hover {\n background: rgba(15, 23, 42, 0.9);\n border-color: rgba(255, 255, 255, 0.5);\n transform: translateY(-1px);\n }\n\n .simple-commenter-gallery-close svg {\n width: 18px;\n height: 18px;\n stroke: currentColor;\n }\n\n .simple-commenter-gallery-close:focus-visible {\n outline: 2px solid #ffffff;\n outline-offset: 2px;\n }\n\n .simple-commenter-gallery-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(15, 23, 42, 0.72);\n backdrop-filter: blur(2px);\n -webkit-backdrop-filter: blur(2px);\n z-index: 2147483600;\n }\n\n @media (max-width: 640px) {\n .simple-commenter-gallery-modal {\n width: calc(100vw - 16px);\n max-height: calc(100vh - 16px);\n padding: 8px;\n }\n\n .simple-commenter-gallery-image {\n border-radius: 12px;\n max-height: calc(100vh - 48px);\n }\n\n .simple-commenter-gallery-loading {\n inset: 8px;\n border-radius: 12px;\n gap: 8px;\n }\n\n .simple-commenter-gallery-loading-text {\n font-size: 13px;\n }\n\n .simple-commenter-gallery-loading-spinner {\n width: 16px;\n height: 16px;\n }\n\n .simple-commenter-gallery-close {\n top: 4px;\n right: 4px;\n width: 34px;\n height: 34px;\n }\n }\n\n /* Trial Expired Modal */\n .simple-commenter-trial-modal {\n position: fixed;\n top: 20px;\n left: 50%;\n transform: translateX(-50%);\n background: #F7D070;\n color: black;\n border-radius: 12px;\n box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);\n z-index: 1000000;\n pointer-events: auto;\n font-family: "Poppins", sans-serif;\n display: flex;\n align-items: flex-start;\n gap: 12px;\n padding: 16px 20px;\n width: auto;\n min-width: 320px;\n max-width: 500px;\n animation: simple-commenter-slide-down 0.3s ease-out forwards;\n }\n\n .simple-commenter-trial-modal-close {\n position: absolute;\n top: 8px;\n right: 8px;\n background: transparent;\n border: none;\n color: rgba(0, 0, 0, 0.5);\n cursor: pointer;\n padding: 4px;\n transition: color 0.2s;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 4px;\n flex-shrink: 0;\n }\n\n .simple-commenter-trial-modal-close:hover {\n color: black;\n background: rgba(0,0,0,0.05);\n }\n\n .simple-commenter-trial-modal-content {\n display: flex;\n flex-direction: column;\n gap: 4px;\n flex-grow: 1;\n min-width: 0;\n }\n\n .simple-commenter-trial-modal-title {\n font-weight: 600;\n font-size: 14px;\n margin: 0;\n line-height: 1.3;\n color: black;\n }\n\n .simple-commenter-trial-modal-description {\n font-size: 13px;\n margin: 0;\n line-height: 1.4;\n color: rgba(0, 0, 0, 0.8);\n }\n\n .simple-commenter-trial-modal-button {\n align-self: flex-end;\n margin-top: 8px;\n padding: 6px 12px;\n font-size: 12px;\n background: #57AE5B; /* Green button as requested */\n border: none;\n border-radius: 6px;\n color: white;\n cursor: pointer;\n font-weight: 600;\n text-decoration: none;\n white-space: nowrap;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .simple-commenter-trial-modal-button:hover {\n background: #469B4A;\n transform: translateY(-1px);\n }\n\n .simple-commenter-trial-modal-icon {\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n color: black;\n }\n\n @media (max-width: 768px) {\n .simple-commenter-trial-modal {\n min-width: unset;\n max-width: calc(100vw - 40px);\n left: 20px;\n right: 20px;\n transform: none;\n width: auto;\n }\n }\n\n /* General utility classes */\n .simple-commenter-display-none {\n display: none!important\n }\n\n /* Higher specificity for hiding elements that have display: flex/block !important */\n .simple-commenter-input-body.simple-commenter-display-none,\n .simple-commenter-comment-box-menu.simple-commenter-display-none,\n .simple-commenter-floating-close-btn.simple-commenter-display-none {\n display: none !important;\n }\n\n .simple-commenter-flex {\n display: flex;\n }\n\n .simple-commenter-align-center {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .simple-commenter-space-between {\n display: flex !important;\n justify-content: space-between !important;\n }\n\n .simple-commenter-flex-row {\n flex-direction: row!important;\n align-items: center!important;\n justify-content: space-between!important;\n }\n\n .simple-commenter-flex-1 {\n flex: 1 1 0%!important;\n }\n\n .simple-commenter-gap-0 {\n gap:0;\n }\n\n .simple-commenter-gap-1{\n gap: 6px;\n justify-content: flex-start;\n }\n\n .simple-commenter-p-0 {\n padding: 0;\n }\n\n .simple-commenter-p-2 {\n padding: 8px!important;\n }\n\n .simple-commenter-p-4 {\n padding: 16px 12px;\n }\n\n .simple-commenter-p-fix {\n padding: 8px 0;\n }\n\n .simple-commenter-mr-4 {\n margin-right: 16px;\n }\n\n .simple-commenter-ml-2 {\n margin-left: 10px;\n }\n\n .simple-commenter-m-1-5 {\n margin: 6px;\n }\n\n .simple-commenter-margin--4px-left {\n margin-left: -4px !important;\n }\n\n .simple-commenter-text-sm {\n font-size: 14px!important; /* Equivalent to Tailwind\'s text-sm */\n }\n\n .simple-commenter-text-xs {\n font-size: 12px!important; /* Equivalent to Tailwind\'s text-xs */\n }\n\n .simple-commenter-border-0 {\n border: 0;\n }\n\n .simple-commenter-bg-gray-50 {\n background: #F7F7F7;\n }\n\n .simple-commenter-border-top {\n border-top: 1px solid #F7F7F7;\n }\n\n .simple-commenter-vertical-line {\n width: 1px;\n background-color: #CFCFCF;\n margin: 6px;\n }\n\n .simple-commenter-icons {\n width: 26px;\n height: 26px;\n border-radius: 6px;\n padding: 2px;\n display: block;\n background: transparent!important;\n color: #6B7280;\n stroke: #6B7280;\n vertical-align: middle; /* Add this */\n }\n\n .simple-commenter-icon-button-div {\n display: flex;\n align-items: center;\n cursor: auto;\n }\n\n .simple-commenter-icons-small {\n width: 20px;\n height: 20px;\n }\n\n .simple-commenter-fill {\n fill: #9E9E9E;\n stroke: #9E9E9E;\n }\n\n .simple-commenter-btn-unavailable {\n color: #9E9E9E;\n stroke: #9E9E9E;\n }\n\n\n .simple-commenter-icons:hover {\n background: #E1E1E1!important;\n }\n\n\t.simple-commenter-icons.no-hover:hover {\n\t background: transparent !important;\n\t}\n\n .simple-commenter-icons-active {\n background: #E1E1E1!important;\n border-radius: 6px;\n }\n\n .simple-commenter-icons-active:hover {\n background: #E1E1E1!important;\n border-radius: 6px;\n }\n\n .simple-commenter-icons-logo {\n margin-top: 2px;\n }\n\n .simple-commenter-logo {\n width: 48px !important;\n height: 48px !important;\n min-width: 48px !important;\n min-height: 48px !important;\n max-width: 48px !important;\n max-height: 48px !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n padding: 6px !important;\n background: white !important;\n border-radius: 9999em !important;\n border: 1px solid #E1E1E1 !important;\n stroke: transparent !important;\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.05), 0 4px 6px -4px rgb(0 0 0 / 0.05) !important;\n box-sizing: border-box !important;\n flex-shrink: 0 !important;\n flex-grow: 0 !important;\n }\n\n .simple-commenter-logo svg {\n width: 100% !important;\n height: 100% !important;\n max-width: 100% !important;\n max-height: 100% !important;\n display: block !important;\n }\n\n .simple-commenter-logo:hover {\n background: #F7F7F7!important;\n stroke: transparent!important;\n }\n\n .simple-commenter-login {\n display: flex;\n }\n\n .simple-commenter-draw-icons-div {\n margin-left: 0px !important;\n gap: 1px;\n }\n\n /* Heading */\n .simple-commenter-heading {\n font-size: 16px;\n font-weight: 500;\n color: #1a202c;\n margin-bottom: 0;\n margin-top: 0;\n }\n\n /* Label */\n .simple-commenter-paragraph {\n margin-top: 4px;\n font-size: 14px;\n color: #6b7280;\n }\n\n .simple-commenter-title {\n font-weight: 500!important;\n font-size: 16px;\n font-family: "Poppins", sans-serif!important;\n color: #000 !important;\n margin-top: 0;\n margin-bottom: 0;\n }\n\n .simple-commenter-title-bold {\n font-weight: 500!important;\n color: #222222 !important;\n }\n\n .simple-commenter-text {\n font-weight: 400!important;\n }\n\n .simple-commenter-xs {\n font-size: 0.725em;\n font-weight: 300;\n color: #515151;\n margin: 0;\n margin-left: 4px;\n }\n\n /* Mobile: When meta container wraps, align right side to the right */\n @media (max-width: 640px) {\n .simple-commenter-space-between.simple-commenter-comment-meta-container {\n gap: 4px !important;\n }\n\n .simple-commenter-space-between.simple-commenter-comment-meta-container > div:last-child {\n margin-left: auto !important;\n }\n }\n .simple-commenter-modebox {\n display: inline-flex;\n flex-direction: row;\n background: white;\n border-radius: 6px;\n border: 1px solid #000;\n overflow: hidden;\n padding-left: -1px;\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n }\n\n .simple-commenter-modebox-container {\n position: fixed;\n bottom: 1.25em;\n right: 1.25em;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: 8px;\n z-index: 10112;\n }\n\n /* Vertical layout for side positions */\n .simple-commenter-modebox.simple-commenter-layout-vertical {\n flex-direction: column !important;\n }\n\n .simple-commenter-modebox.simple-commenter-layout-vertical > button {\n border-left-width: 0 !important;\n border-top-width: 0 !important;\n }\n\n .simple-commenter-modebox.simple-commenter-layout-vertical > button.simple-commenter-border-vertical {\n border-left-width: 0 !important;\n border-top-width: 1px !important;\n }\n\n /* Side position container styles */\n .simple-commenter-modebox-container.simple-commenter-position-side-right {\n right: 0 !important;\n left: auto !important;\n top: 50% !important;\n bottom: auto !important;\n transform: translateY(-50%) !important;\n align-items: flex-end !important;\n }\n\n .simple-commenter-modebox-container.simple-commenter-position-side-left {\n left: 0 !important;\n right: auto !important;\n top: 50% !important;\n bottom: auto !important;\n transform: translateY(-50%) !important;\n align-items: flex-start !important;\n }\n\n /* ===== V2 MODEBOX STYLES ===== */\n /* V2 modebox: white background container with color-coded buttons inside */\n .simple-commenter-modebox.simple-commenter-modebox-v2 {\n flex-direction: row !important;\n background: white !important;\n border: none !important;\n border-radius: 12px !important;\n padding: 6px !important;\n gap: 6px !important;\n stroke: transparent !important;\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.05), 0 4px 6px -4px rgb(0 0 0 / 0.05) !important;\n overflow: visible !important;\n }\n\n .simple-commenter-modebox.simple-commenter-modebox-v2 > button {\n width: 40px !important;\n height: 40px !important;\n padding: 0 !important;\n border-radius: 8px !important;\n border: none !important;\n background: #F7F7F7 !important;\n color: #9E9E9E !important;\n stroke: #9E9E9E !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n transition: all 0.15s ease !important;\n box-shadow: none !important;\n }\n\n .simple-commenter-modebox.simple-commenter-modebox-v2 > button:hover {\n background: #E1E1E1 !important;\n }\n\n .simple-commenter-modebox.simple-commenter-modebox-v2 > button svg {\n width: 22px !important;\n height: 22px !important;\n }\n\n /* V2 Active States - Color-coded */\n .simple-commenter-modebox.simple-commenter-modebox-v2 > button.simple-commenter-disabled-button {\n background: #CFCFCF !important;\n color: #222222 !important;\n stroke: #222222 !important;\n }\n\n .simple-commenter-modebox.simple-commenter-modebox-v2 > button.simple-commenter-view-button {\n background: #84C5F4 !important;\n color: #222222 !important;\n stroke: #222222 !important;\n }\n\n .simple-commenter-modebox.simple-commenter-modebox-v2 > button.simple-commenter-active-button {\n background: #A3D9A5 !important;\n color: #222222 !important;\n stroke: #222222 !important;\n }\n\n .simple-commenter-modebox.simple-commenter-modebox-v2 > button.simple-commenter-menu-button {\n background: #F7F7F7 !important;\n color: #7E7E7E !important;\n stroke: #7E7E7E !important;\n position: relative !important;\n margin-right: 8px !important;\n }\n\n .simple-commenter-modebox.simple-commenter-modebox-v2 > button.simple-commenter-menu-button::after {\n content: "" !important;\n position: absolute !important;\n right: -8px !important;\n top: 8px !important;\n bottom: 8px !important;\n width: 1px !important;\n background: #E1E1E1 !important;\n border-radius: 1px !important;\n }\n\n .simple-commenter-modebox.simple-commenter-modebox-v2 > button.simple-commenter-menu-button:hover {\n background: #E1E1E1 !important;\n }\n\n /* V2 menu button vertical layout separator */\n .simple-commenter-modebox.simple-commenter-modebox-v2.simple-commenter-layout-vertical > button.simple-commenter-menu-button {\n margin-right: 0 !important;\n margin-bottom: 8px !important;\n }\n\n .simple-commenter-modebox.simple-commenter-modebox-v2.simple-commenter-layout-vertical > button.simple-commenter-menu-button::after {\n left: 2px !important;\n right: auto !important;\n top: auto !important;\n bottom: -7px !important;\n width: 36px !important;\n height: 1px !important;\n }\n\n .simple-commenter-menu-count {\n position: absolute !important;\n top: -4px !important;\n right: -4px !important;\n background: #3B82F6 !important;\n color: white !important;\n font-size: 10px !important;\n font-weight: 600 !important;\n min-width: 16px !important;\n height: 16px !important;\n border-radius: 8px !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n padding: 0 4px !important;\n font-family: "Poppins", sans-serif !important;\n line-height: 1 !important;\n letter-spacing: 0.5px !important;\n }\n\n /* V2 with vertical layout */\n .simple-commenter-modebox.simple-commenter-modebox-v2.simple-commenter-layout-vertical {\n flex-direction: column !important;\n }\n\n /* ===== MODEBOX 6: Pill Toggle ===== */\n .simple-commenter-pill-wrapper {\n position: relative !important;\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n gap: 8px !important;\n height: 48px !important;\n min-height: 48px !important;\n }\n\n .simple-commenter-pill-wrapper--vertical {\n flex-direction: column !important;\n height: auto !important;\n min-height: 0 !important;\n }\n\n .simple-commenter-pill {\n position: relative !important;\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n padding: 4px !important;\n gap: 5px !important;\n overflow: hidden !important;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06), 0 0 1px rgba(0, 0, 0, 0.1) !important;\n transform-origin: var(--pill-origin, right center) !important;\n will-change: transform, opacity !important;\n }\n\n .simple-commenter-pill.simple-commenter-pill--vertical {\n flex-direction: column !important;\n }\n\n .simple-commenter-pill-segment {\n position: relative !important;\n z-index: 0 !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n width: 40px !important;\n height: 40px !important;\n padding: 0 !important;\n border: none !important;\n border-radius: 9999px !important;\n background: transparent !important;\n cursor: pointer !important;\n margin: 0;\n transition: color 0.15s !important;\n }\n\n .simple-commenter-pill-segment-active {\n z-index: 1 !important;\n }\n\n .simple-commenter-pill-segment-icon {\n position: relative !important;\n z-index: 1 !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n }\n\n .simple-commenter-pill-segment svg {\n width: 19px !important;\n height: 19px !important;\n display: block !important;\n }\n\n .simple-commenter-pill-indicator {\n position: absolute !important;\n left: 4px !important;\n top: 4px !important;\n width: 40px !important;\n height: 40px !important;\n border-radius: 9999px !important;\n pointer-events: none !important;\n transition: transform 220ms cubic-bezier(0.4, 0, 0.2, 1) !important;\n }\n\n .simple-commenter-pill-hamburger {\n width: 28px !important;\n height: 28px !important;\n padding: 0 !important;\n border-radius: 9999px !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n cursor: pointer !important;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05) !important;\n transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.15s ease, color 0.15s ease !important;\n }\n\n .simple-commenter-pill-hamburger svg {\n width: 12px !important;\n height: 12px !important;\n display: block !important;\n }\n\n .simple-commenter-pill-badge {\n box-sizing: border-box !important;\n position: absolute !important;\n top: -3px !important;\n right: -3px !important;\n min-width: 16px !important;\n height: 16px !important;\n padding: 0 5px !important;\n border-radius: 9999px !important;\n display: none !important;\n align-items: center !important;\n justify-content: center !important;\n font-size: 9px !important;\n font-weight: 700 !important;\n line-height: 1 !important;\n letter-spacing: 0 !important;\n pointer-events: none !important;\n z-index: 2 !important;\n font-family: "Poppins", sans-serif !important;\n }\n\n .simple-commenter-pill-badge-bob {\n animation: pillBadgeBob 260ms cubic-bezier(0.22, 1, 0.36, 1) !important;\n }\n\n @keyframes pillBadgeBob {\n 0% {\n transform: translateY(6px) scale(0.96);\n opacity: 0.92;\n }\n 55% {\n transform: translateY(-4px) scale(1.06);\n opacity: 1;\n }\n 100% {\n transform: translateY(0) scale(1);\n opacity: 1;\n }\n }\n\n .simple-commenter-pill-collapsed {\n width: 48px !important;\n height: 48px !important;\n border: 1px solid #E1E1E1 !important;\n padding: 5px !important;\n border-radius: 9999px !important;\n background: #ffffff !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n cursor: pointer !important;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06), 0 0 1px rgba(0, 0, 0, 0.1) !important;\n }\n\n .simple-commenter-pill-collapsed svg {\n width: 25px !important;\n height: 25px !important;\n display: block !important;\n margin-top: 2px;\n transform: scale(1) !important;\n transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1) !important;\n }\n\n .simple-commenter-pill-collapsed:hover svg {\n transform: scale(1.08) !important;\n }\n\n .simple-commenter-pill-collapsed:active svg {\n transform: scale(0.95) !important;\n }\n\n .simple-commenter-pill-animate-in {\n animation: pillExpand 260ms cubic-bezier(0.22, 1, 0.36, 1) forwards !important;\n }\n\n .simple-commenter-pill-animate-out {\n animation: pillCollapse 240ms cubic-bezier(0.4, 0, 0.2, 1) forwards !important;\n }\n\n @keyframes pillExpand {\n 0% {\n transform: translate3d(var(--pill-enter-x, 18px), var(--pill-enter-y, 0px), 0) scale(0.82);\n opacity: 0;\n }\n 70% {\n transform: translate3d(var(--pill-overshoot-x, -3px), var(--pill-overshoot-y, 0px), 0) scale(1.02);\n opacity: 1;\n }\n 100% {\n transform: translate3d(0, 0, 0) scale(1);\n opacity: 1;\n }\n }\n\n @keyframes pillCollapse {\n 0% {\n transform: translate3d(0, 0, 0) scale(1);\n opacity: 1;\n }\n 100% {\n transform: translate3d(var(--pill-exit-x, 14px), var(--pill-exit-y, 0px), 0) scale(1);\n opacity: 0;\n }\n }\n\n .simple-commenter-pill-hamburger-animate-in {\n animation: pillHamburgerIn 220ms cubic-bezier(0.22, 1, 0.36, 1) !important;\n }\n\n .simple-commenter-pill-hamburger-press {\n animation: pillHamburgerPress 180ms cubic-bezier(0.4, 0, 0.2, 1) !important;\n }\n\n .simple-commenter-pill-hamburger-animate-out {\n animation: pillHamburgerOut 240ms cubic-bezier(0.4, 0, 0.2, 1) forwards !important;\n }\n\n @keyframes pillHamburgerIn {\n 0% {\n opacity: 0;\n transform: translate3d(calc(var(--pill-enter-x, 18px) * 0.4), 0, 0) scale(0.82);\n }\n 100% {\n opacity: 1;\n transform: translate3d(0, 0, 0) scale(1);\n }\n }\n\n @keyframes pillHamburgerPress {\n 0% {\n transform: scale(1);\n }\n 50% {\n transform: scale(0.9);\n }\n 100% {\n transform: scale(1);\n }\n }\n\n @keyframes pillHamburgerOut {\n 0% {\n opacity: 1;\n transform: translate3d(0, 0, 0) scale(1);\n }\n 100% {\n opacity: 0;\n transform: translate3d(calc(var(--pill-exit-x, 14px) * 0.5), 0, 0) scale(1);\n }\n }\n\n /* Modebox expand animation - scales and fades from minimized button position */\n @keyframes modeboxExpand {\n 0% {\n opacity: 0;\n transform: scale(0.5) translateX(20px);\n transform-origin: right center;\n }\n 100% {\n opacity: 1;\n transform: scale(1) translateX(0);\n transform-origin: right center;\n }\n }\n\n @keyframes modeboxCollapse {\n 0% {\n opacity: 1;\n transform: scale(1) translateX(0);\n transform-origin: right center;\n }\n 100% {\n opacity: 0;\n transform: scale(0.5) translateX(20px);\n transform-origin: right center;\n }\n }\n\n /* Buttons slide out animation - comes from behind modebox */\n @keyframes buttonsSlideOut {\n 0% {\n opacity: 0;\n transform: translateY(20px) scale(0.8);\n }\n 100% {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n }\n\n @keyframes buttonsSlideIn {\n 0% {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n 100% {\n opacity: 0;\n transform: translateY(20px) scale(0.8);\n }\n }\n\n /* Login button pulse animation for attention */\n @keyframes loginButtonPop {\n 0% {\n transform: scale(0.6);\n opacity: 0;\n }\n 50% {\n transform: scale(1.05);\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n }\n\n .simple-commenter-modebox-animate-in {\n animation: modeboxExpand 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;\n }\n\n .simple-commenter-modebox-animate-out {\n animation: modeboxCollapse 0.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;\n }\n\n .simple-commenter-buttons-animate-in {\n animation: buttonsSlideOut 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;\n animation-delay: 0.1s;\n opacity: 0;\n }\n\n .simple-commenter-buttons-animate-out {\n animation: buttonsSlideIn 0.15s cubic-bezier(0.4, 0, 0.2, 1) forwards;\n }\n\n .simple-commenter-login-animate-in {\n animation: loginButtonPop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;\n }\n\n /* Panel slide up animation for comment list, user container, etc. */\n @keyframes panelSlideUp {\n 0% {\n opacity: 0;\n transform: translateY(10px) scale(0.98);\n }\n 100% {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n }\n\n @keyframes panelSlideDown {\n 0% {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n 100% {\n opacity: 0;\n transform: translateY(10px) scale(0.98);\n }\n }\n\n .simple-commenter-panel-animate-in {\n animation: panelSlideUp 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;\n }\n\n .simple-commenter-panel-animate-out {\n animation: panelSlideDown 0.15s cubic-bezier(0.4, 0, 0.2, 1) forwards;\n }\n\n .simple-commenter-modebox > button {\n padding: 8px 16px;\n cursor: pointer;\n background: white;\n text-color: black;\n stroke: rgb(55 65 81);\n border-width: 0;\n border-style: solid;\n border-radius: 0!important;\n border-color: transparent;\n margin: 0;\n min-height: auto;\n transition: background-color 0.25s ease, box-shadow 0.25s ease;\n }\n\n .simple-commenter-border {\n border:solid!important;\n border-left-width: 1px !important;\n border-right-width: 0px !important;\n border-top-width: 0px !important;\n border-bottom-width: 0px !important;\n border-color: #000!important;\n }\n\n .simple-commenter-border-vertical {\n border: solid !important;\n border-top-width: 1px !important;\n border-right-width: 0px !important;\n border-bottom-width: 0px !important;\n border-left-width: 0px !important;\n border-color: #000!important;\n }\n\n .simple-commenter-modebox > button:hover {\n background-color: #F7F7F7;\n stroke: rgb(55 65 81);\n }\n\n .simple-commenter-user-modebox {\n border-radius: 100em;\n }\n\n .simple-commenter-user-modebox > button {\n padding: 12px;\n }\n\n .simple-commenter-disabled-button {\n background-color: #F7D070!important;\n box-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.08);\n }\n\n .simple-commenter-view-button {\n background-color: #F7D070!important;\n box-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.08);\n }\n\n .simple-commenter-active-button {\n background-color: #F7D070!important;\n box-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.08);\n border-color: #000;\n }\n\n .simple-commenter-check-button:not(.simple-commenter-pill-collapsed):hover {\n background: transparent !important;\n stroke: #7BC47F\n }\n\n .simple-commenter-check-badge {\n border: none;\n stroke: none;\n }\n\n .simple-commenter-check-badge:hover {\n background: transparent !important;\n cursor: auto;\n }\n\n .simple-commenter-buttons-container {\n display: flex;\n align-items: flex-end;\n gap: 4px;\n }\n /* ===== DRAWER STYLES ===== */\n .simple-commenter-drawer-backdrop {\n position: fixed !important;\n inset: 0 !important;\n background: rgba(0, 0, 0, 0) !important;\n z-index: 2147483000 !important;\n transition: background 0.3s ease !important;\n pointer-events: none !important;\n }\n\n .simple-commenter-drawer-backdrop.open {\n background: rgba(0, 0, 0, 0.3) !important;\n pointer-events: auto !important;\n }\n\n .simple-commenter-drawer {\n position: fixed !important;\n top: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n width: 100% !important;\n max-width: 420px !important;\n background: white !important;\n box-shadow: none !important;\n z-index: 2147483001 !important;\n transform: translateX(100%) !important;\n transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease, visibility 0s linear 0.3s !important;\n display: flex !important;\n flex-direction: column !important;\n font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;\n overflow: hidden !important;\n visibility: hidden !important;\n }\n\n /* Force font on ALL drawer children to override WordPress/theme styles */\n .simple-commenter-drawer *,\n .simple-commenter-drawer *::before,\n .simple-commenter-drawer *::after {\n font-family: inherit !important;\n box-sizing: border-box !important;\n }\n\n .simple-commenter-drawer input,\n .simple-commenter-drawer textarea,\n .simple-commenter-drawer select,\n .simple-commenter-drawer button {\n font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;\n box-sizing: border-box !important;\n max-width: 100% !important;\n }\n\n .simple-commenter-drawer.open {\n transform: translateX(0) !important;\n box-shadow: -10px 0 30px rgba(0, 0, 0, 0.1) !important;\n visibility: visible !important;\n transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease, visibility 0s linear 0s !important;\n }\n\n .simple-commenter-drawer-header {\n display: flex !important;\n flex-direction: column !important;\n padding: 0 !important;\n border-bottom: 1px solid #F7F7F7 !important;\n flex-shrink: 0 !important;\n }\n\n .simple-commenter-drawer-header-top {\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n padding: 16px 20px 12px 20px !important;\n }\n\n .simple-commenter-drawer-title {\n font-size: 16px !important;\n font-weight: 600 !important;\n color: #111827 !important;\n margin: 0 !important;\n line-height: 1.4 !important;\n }\n\n .simple-commenter-drawer-tabs-nav {\n display: flex !important;\n gap: 6px !important;\n padding: 0 20px 12px 20px !important;\n\n }\n\n .simple-commenter-drawer-tab-btn {\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n width: 34px !important;\n height: 34px !important;\n background: #F7F7F7 !important;\n border: 1px solid #E1E1E1 !important;\n border-radius: 8px !important;\n cursor: pointer !important;\n color: #9E9E9E !important;\n transition: all 0.15s ease !important;\n padding: 0 !important;\n }\n\n .simple-commenter-drawer-tab-btn:hover {\n background: #EFEFEF !important;\n border-color: #D1D5DB !important;\n color: #374151 !important;\n }\n\n .simple-commenter-drawer-tab-btn.active {\n background: #A3D9A5 !important;\n border-color: #7BC47F !important;\n color: #0E5814 !important;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;\n }\n\n .simple-commenter-drawer-tab-btn.active svg {\n stroke: #515151 !important\n }\n\n .simple-commenter-drawer-tab-btn svg {\n width: 20px !important;\n height: 20px !important;\n }\n\n .simple-commenter-drawer-close {\n background: none !important;\n border: none !important;\n padding: 8px !important;\n cursor: pointer !important;\n color: #6B7280 !important;\n border-radius: 6px !important;\n display: flex !important;\n flex-direction: column !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 2px !important;\n transition: background 0.15s ease, color 0.15s ease !important;\n }\n\n .simple-commenter-drawer-close-esc {\n font-size: 9px !important;\n font-weight: 500 !important;\n color: #9CA3AF !important;\n text-transform: uppercase !important;\n letter-spacing: 0.5px !important;\n line-height: 1 !important;\n }\n\n /* Hide ESC text on mobile since keyboards don\'t have ESC key */\n @media (max-width: 768px) {\n .simple-commenter-drawer-close-esc {\n display: none !important;\n }\n }\n\n .simple-commenter-drawer-close:hover {\n background: #F3F4F6 !important;\n color: #111827 !important;\n }\n\n .simple-commenter-drawer-content {\n flex: 1 !important;\n overflow-y: auto !important;\n padding: 0 !important;\n }\n\n .simple-commenter-drawer-nav {\n display: flex !important;\n align-items: center !important;\n gap: 8px !important;\n }\n\n .simple-commenter-drawer-back {\n background: none !important;\n border: none !important;\n padding: 8px !important;\n cursor: pointer !important;\n color: #6B7280 !important;\n border-radius: 6px !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n transition: background 0.15s ease, color 0.15s ease !important;\n }\n\n .simple-commenter-drawer-back:hover {\n background: #F3F4F6 !important;\n color: #111827 !important;\n }\n\n /* Drawer page transitions */\n .simple-commenter-drawer-page {\n display: none !important;\n height: 100% !important;\n flex-direction: column !important;\n }\n\n .simple-commenter-drawer-page.active {\n display: flex !important;\n }\n\n /* Comments list in drawer */\n .simple-commenter-drawer-comments-list {\n padding: 12px !important;\n display: flex !important;\n flex-direction: column !important;\n gap: 12px !important;\n background: #F7F7F7 !important;\n flex: 1 !important;\n min-height: 100% !important;\n }\n\n .simple-commenter-drawer-comment-item {\n padding: 16px !important;\n background: #FFFFFF !important;\n border-radius: 10px !important;\n // border: 1px solid #E5E7EB !important;\n transition: border-color 0.15s ease, box-shadow 0.15s ease !important;\n }\n\n .simple-commenter-drawer-comment-item:hover {\n // border-color: #D1D5DB !important;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;\n }\n\n .simple-commenter-drawer-comment-header {\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n margin-bottom: 6px !important;\n }\n\n .simple-commenter-drawer-comment-number {\n font-size: 12px !important;\n font-weight: 600 !important;\n color: #62B0E8 !important;\n }\n\n .simple-commenter-drawer-comment-date {\n font-size: 11px !important;\n color: #9CA3AF !important;\n }\n\n .simple-commenter-drawer-comment-text {\n font-size: 13px !important;\n color: #374151 !important;\n line-height: 1.5 !important;\n margin: 0 !important;\n display: -webkit-box !important;\n -webkit-line-clamp: 2 !important;\n -webkit-box-orient: vertical !important;\n overflow: hidden !important;\n }\n\n .simple-commenter-drawer-comment-meta {\n display: flex !important;\n align-items: center !important;\n gap: 8px !important;\n margin-top: 8px !important;\n }\n\n .simple-commenter-drawer-comment-status {\n font-size: 11px !important;\n padding: 2px 8px !important;\n border-radius: 9999px !important;\n font-weight: 500 !important;\n }\n\n /* Login states in drawer */\n .simple-commenter-drawer-login {\n padding: 24px 20px !important;\n display: flex !important;\n flex-direction: column !important;\n gap: 20px !important;\n }\n\n .simple-commenter-drawer-login form {\n display: flex !important;\n flex-direction: column !important;\n gap: 16px !important;\n }\n\n .simple-commenter-drawer-login-title {\n font-size: 22px !important;\n font-weight: 700 !important;\n color: #111827 !important;\n margin: 0 !important;\n text-align: left !important;\n }\n\n .simple-commenter-drawer-login-desc {\n font-size: 14px !important;\n color: #6B7280 !important;\n margin: 0 !important;\n line-height: 1.5 !important;\n text-align: left !important;\n }\n\n .simple-commenter-drawer-input-group {\n display: flex;\n flex-direction: column !important;\n gap: 6px !important;\n }\n\n .simple-commenter-drawer-label {\n font-size: 13px !important;\n font-weight: 500 !important;\n color: #374151 !important;\n }\n\n .simple-commenter-drawer-input {\n display: block !important;\n width: 100% !important;\n max-width: 100% !important;\n padding: 8px 12px !important;\n border: 0 !important;\n border-radius: 8px !important;\n line-height: 1.5 !important;\n font-family: "Poppins", sans-serif !important;\n background: #F7F7F7 !important;\n color: #000000 !important;\n box-shadow: inset 0 0 0 1px rgba(34, 34, 34, 0.1) !important;\n transition: all 0.15s ease !important;\n outline: none !important;\n box-sizing: border-box !important;\n -webkit-box-sizing: border-box !important;\n -moz-box-sizing: border-box !important;\n touch-action: manipulation !important;\n }\n\n .simple-commenter-drawer-input:focus {\n outline: 2px solid #000000 !important;\n outline-offset: -1px !important;\n box-shadow: none !important;\n }\n\n .simple-commenter-drawer-input::placeholder {\n color: #9E9E9E !important;\n }\n\n .simple-commenter-drawer-btn {\n display: inline-flex !important;\n align-items: center !important;\n justify-content: center !important;\n padding: 8px 12px !important;\n border-radius: 8px !important;\n font-size: 14px !important;\n font-weight: 500 !important;\n font-family: "Poppins", sans-serif !important;\n cursor: pointer !important;\n transition: all 0.15s ease !important;\n white-space: nowrap !important;\n position: relative !important;\n min-height: 40px !important;\n height: 40px !important;\n box-sizing: border-box !important;\n overflow: hidden !important;\n flex-shrink: 0 !important;\n }\n\n .simple-commenter-drawer-btn:active {\n transform: scale(0.98) !important;\n }\n\n /* Loading state for drawer buttons */\n .simple-commenter-drawer-btn.is-loading {\n opacity: 0.8 !important;\n cursor: wait !important;\n pointer-events: none !important;\n }\n\n .simple-commenter-drawer-btn.is-loading .button-text {\n visibility: hidden !important;\n }\n\n .simple-commenter-drawer-btn-primary {\n background: #F9DA8B !important;\n color: #000000 !important;\n font-weight: 500 !important;\n border: none !important;\n box-shadow: inset 0 0 0 1px rgba(34, 34, 34, 0.5) !important;\n }\n\n .simple-commenter-drawer-btn-primary:hover {\n background: #F8E3A3 !important;\n box-shadow: inset 0 0 0 1px #000000, inset 0 2px 4px rgba(0, 0, 0, 0.1) !important;\n }\n\n .simple-commenter-drawer-btn-secondary {\n background: #FFFFFF !important;\n color: #000000 !important;\n border: 1px solid rgba(34, 34, 34, 0.2) !important;\n }\n\n .simple-commenter-drawer-btn-secondary:hover {\n background: #F7F7F7 !important;\n border-color: rgba(34, 34, 34, 0.3) !important;\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.05) !important;\n }\n\n .simple-commenter-drawer-btn-google {\n background: #000000 !important;\n color: #FFFFFF !important;\n font-weight: 500 !important;\n border: none !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 10px !important;\n position: relative !important;\n white-space: nowrap !important;\n flex-wrap: nowrap !important;\n min-height: 40px !important;\n height: 40px !important;\n overflow: hidden !important;\n }\n\n .simple-commenter-drawer-btn-google:hover {\n background: #1a1a1a !important;\n }\n\n /* Hide text and icon when loading */\n .simple-commenter-drawer-btn-google.is-loading .button-text,\n .simple-commenter-drawer-btn-google.is-loading > svg {\n visibility: hidden !important;\n }\n\n .simple-commenter-drawer-btn-google svg {\n width: 18px !important;\n height: 18px !important;\n flex-shrink: 0 !important;\n }\n\n .simple-commenter-drawer-btn-google .button-text {\n flex-shrink: 0 !important;\n line-height: 1 !important;\n }\n\n /* White spinner for dark buttons (Google) */\n .simple-commenter-drawer-btn-google .simple-commenter-spinner {\n border: 2px solid rgba(255, 255, 255, 0.3) !important;\n border-top-color: #fff !important;\n }\n\n .simple-commenter-drawer-divider {\n display: flex !important;\n align-items: center !important;\n gap: 12px !important;\n color: #9CA3AF !important;\n font-size: 13px !important;\n }\n\n .simple-commenter-drawer-divider::before,\n .simple-commenter-drawer-divider::after {\n content: "" !important;\n flex: 1 !important;\n height: 1px !important;\n background: #E5E7EB !important;\n }\n\n .simple-commenter-drawer-auth-buttons {\n display: flex !important;\n gap: 12px !important;\n }\n\n .simple-commenter-drawer-auth-buttons button {\n flex: 1 !important;\n }\n\n .simple-commenter-drawer-auth-buttons button.active {\n background: #F9DA8B !important;\n border-color: rgba(34, 34, 34, 0.5) !important;\n box-shadow: inset 0 0 0 1px rgba(34, 34, 34, 0.5) !important;\n }\n\n .simple-commenter-drawer-alt-buttons {\n display: flex !important;\n gap: 12px !important;\n }\n\n .simple-commenter-drawer-alt-buttons button {\n flex: 1 !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 8px !important;\n }\n\n .simple-commenter-drawer-footer {\n text-align: center !important;\n font-size: 13px !important;\n color: #6B7280 !important;\n }\n\n .simple-commenter-drawer-footer a {\n color: #3B82F6 !important;\n text-decoration: none !important;\n cursor: pointer !important;\n font-weight: 500 !important;\n }\n\n .simple-commenter-drawer-footer a:hover {\n text-decoration: underline !important;\n }\n\n .simple-commenter-drawer-google-icon {\n width: 18px !important;\n height: 18px !important;\n }\n\n /* Empty state */\n .simple-commenter-drawer-empty {\n padding: 40px 20px !important;\n text-align: center !important;\n color: #9CA3AF !important;\n }\n\n .simple-commenter-drawer-empty-icon {\n width: 48px !important;\n height: 48px !important;\n margin: 0 auto 12px !important;\n color: #D1D5DB !important;\n }\n\n .simple-commenter-drawer-empty-text {\n font-size: 14px !important;\n margin: 0 !important;\n }\n\n .simple-commenter-drawer-loading {\n padding: 32px 20px !important;\n display: flex !important;\n flex-direction: column !important;\n align-items: center !important;\n gap: 12px !important;\n text-align: center !important;\n color: #6B7280 !important;\n }\n\n .simple-commenter-drawer-loading-spinner {\n width: 22px !important;\n height: 22px !important;\n border-radius: 9999px !important;\n border: 2px solid #E5E7EB !important;\n border-top-color: #62B0E8 !important;\n animation: simple-commenter-drawer-spin 0.9s linear infinite !important;\n }\n\n .simple-commenter-drawer-loading-text {\n font-size: 13px !important;\n font-weight: 500 !important;\n margin: 0 !important;\n }\n\n .simple-commenter-drawer-loading-shimmer {\n width: 100% !important;\n max-width: 300px !important;\n display: flex !important;\n flex-direction: column !important;\n gap: 8px !important;\n margin-top: 2px !important;\n }\n\n .simple-commenter-drawer-loading-shimmer span {\n display: block !important;\n height: 10px !important;\n border-radius: 9999px !important;\n background: linear-gradient(\n 90deg,\n rgba(229, 231, 235, 0.8) 0%,\n rgba(243, 244, 246, 1) 50%,\n rgba(229, 231, 235, 0.8) 100%\n ) !important;\n background-size: 220% 100% !important;\n animation: simple-commenter-drawer-shimmer 1.15s ease-in-out infinite !important;\n }\n\n .simple-commenter-drawer-loading-shimmer span:nth-child(1) {\n width: 100% !important;\n }\n\n .simple-commenter-drawer-loading-shimmer span:nth-child(2) {\n width: 86% !important;\n }\n\n .simple-commenter-drawer-loading-shimmer span:nth-child(3) {\n width: 70% !important;\n }\n\n @keyframes simple-commenter-drawer-spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }\n\n @keyframes simple-commenter-drawer-shimmer {\n 0% {\n background-position: 200% 0;\n }\n 100% {\n background-position: -40% 0;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .simple-commenter-drawer-loading-spinner,\n .simple-commenter-drawer-loading-shimmer span {\n animation: none !important;\n }\n }\n\n /* Success/Error states */\n .simple-commenter-drawer-message {\n padding: 40px 20px !important;\n text-align: center !important;\n display: flex !important;\n flex-direction: column !important;\n align-items: center !important;\n gap: 12px !important;\n }\n\n .simple-commenter-drawer-message-icon {\n width: 56px !important;\n height: 56px !important;\n border-radius: 50% !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n }\n\n .simple-commenter-drawer-message-icon.success {\n background: #D1FAE5 !important;\n color: #059669 !important;\n }\n\n .simple-commenter-drawer-message-icon.error {\n background: #FEE2E2 !important;\n color: #DC2626 !important;\n }\n\n .simple-commenter-drawer-message-icon.info {\n background: #DBEAFE !important;\n color: #2563EB !important;\n }\n\n .simple-commenter-drawer-message-title {\n font-size: 16px !important;\n font-weight: 600 !important;\n color: #111827 !important;\n margin: 0 !important;\n }\n\n .simple-commenter-drawer-message-desc {\n font-size: 14px !important;\n color: #6B7280 !important;\n margin: 0 !important;\n line-height: 1.5 !important;\n }\n\n /* Tabs for filtering */\n .simple-commenter-drawer-tabs {\n display: flex !important;\n padding: 0 12px !important;\n border-bottom: 1px solid #E5E7EB !important;\n gap: 0 !important;\n }\n\n .simple-commenter-drawer-tab {\n padding: 12px 16px !important;\n font-size: 13px !important;\n font-weight: 500 !important;\n color: #6B7280 !important;\n background: none !important;\n border: none !important;\n border-bottom: 2px solid transparent !important;\n cursor: pointer !important;\n transition: color 0.15s ease, border-color 0.15s ease !important;\n margin-bottom: -1px !important;\n }\n\n .simple-commenter-drawer-tab:hover {\n color: #374151 !important;\n }\n\n .simple-commenter-drawer-tab.active {\n color: #62B0E8 !important;\n border-bottom-color: #62B0E8 !important;\n }\n\n /* Toggle buttons for page/all comments */\n .simple-commenter-drawer-toggle-btn {\n flex: 1 !important;\n padding: 8px 12px !important;\n font-size: 13px !important;\n font-weight: 500 !important;\n color: #6B7280 !important;\n background: #F3F4F6 !important;\n border: 1px solid #E5E7EB !important;\n border-radius: 8px !important;\n cursor: pointer !important;\n transition: all 0.15s ease !important;\n font-family: "Poppins", sans-serif !important;\n }\n\n .simple-commenter-drawer-toggle-btn:hover {\n background: #E5E7EB !important;\n }\n\n .simple-commenter-drawer-toggle-btn.active {\n background: #62B0E8 !important;\n color: white !important;\n border-color: #62B0E8 !important;\n }\n\n /* User drawer styles */\n .simple-commenter-drawer-user {\n padding: 20px !important;\n display: flex !important;\n flex-direction: column !important;\n gap: 20px !important;\n }\n\n .simple-commenter-drawer-user-info {\n display: flex !important;\n align-items: center !important;\n gap: 12px !important;\n }\n\n .simple-commenter-drawer-user-avatar {\n width: 48px !important;\n height: 48px !important;\n border-radius: 50% !important;\n background: #62B0E8 !important;\n color: white !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n font-size: 18px !important;\n font-weight: 600 !important;\n }\n\n .simple-commenter-drawer-user-details {\n display: flex !important;\n flex-direction: column !important;\n gap: 2px !important;\n }\n\n .simple-commenter-drawer-user-name {\n font-size: 16px !important;\n font-weight: 600 !important;\n color: #111827 !important;\n }\n\n .simple-commenter-drawer-user-role {\n font-size: 13px !important;\n color: #6B7280 !important;\n }\n\n .simple-commenter-drawer-user-badge {\n display: inline-flex !important;\n align-items: center !important;\n gap: 6px !important;\n padding: 6px 12px !important;\n border-radius: 9999px !important;\n font-size: 13px !important;\n font-weight: 500 !important;\n width: fit-content !important;\n }\n\n .simple-commenter-drawer-user-badge.verified {\n background: #D1FAE5 !important;\n color: #059669 !important;\n }\n\n .simple-commenter-drawer-user-badge.unverified {\n background: #F3F4F6 !important;\n color: #6B7280 !important;\n }\n\n .simple-commenter-drawer-user-actions {\n display: flex !important;\n gap: 8px !important;\n padding-top: 12px !important;\n border-top: 1px solid #E5E7EB !important;\n }\n\n @media (max-width: 480px) {\n .simple-commenter-drawer {\n max-width: 100% !important;\n }\n }\n /* ===== END DRAWER STYLES ===== */\n\n /* Toggle Switch Styles */\n .simple-commenter-toggle {\n position: relative !important;\n width: 44px !important;\n height: 24px !important;\n flex-shrink: 0 !important;\n }\n\n .simple-commenter-toggle input {\n opacity: 0 !important;\n width: 0 !important;\n height: 0 !important;\n position: absolute !important;\n }\n\n .simple-commenter-toggle-slider {\n position: absolute !important;\n cursor: pointer !important;\n top: 0 !important;\n left: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n background-color: #D1D5DB !important;\n transition: 0.2s !important;\n border-radius: 24px !important;\n }\n\n .simple-commenter-toggle-slider:before {\n position: absolute !important;\n content: "" !important;\n height: 18px !important;\n width: 18px !important;\n left: 3px !important;\n bottom: 3px !important;\n background-color: white !important;\n transition: 0.2s !important;\n border-radius: 50% !important;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;\n }\n\n .simple-commenter-toggle input:checked + .simple-commenter-toggle-slider {\n background-color: #7BC47F !important;\n }\n\n .simple-commenter-toggle input:checked + .simple-commenter-toggle-slider:before {\n transform: translateX(20px) !important;\n }\n\n .simple-commenter-toggle input:focus + .simple-commenter-toggle-slider {\n box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2) !important;\n }\n\n /* Settings Item Styles */\n .simple-commenter-settings-item {\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n padding: 16px !important;\n border-bottom: 1px solid #E5E7EB !important;\n gap: 16px !important;\n }\n\n .simple-commenter-settings-item:last-child {\n border-bottom: none !important;\n }\n\n .simple-commenter-settings-info {\n flex: 1 !important;\n min-width: 0 !important;\n }\n\n .simple-commenter-settings-label {\n font-size: 14px !important;\n font-weight: 500 !important;\n color: #111827 !important;\n margin: 0 0 4px 0 !important;\n font-family: "Poppins", sans-serif !important;\n }\n\n .simple-commenter-settings-description {\n font-size: 12px !important;\n color: #6B7280 !important;\n margin: 0 !important;\n font-family: "Poppins", sans-serif !important;\n line-height: 1.4 !important;\n }\n\n .simple-commenter-privacy {\n font-size: 11px !important;\n line-height: 1.4 !important;\n color: #9CA3AF !important;\n text-align: center !important;\n padding-bottom: 20px !important;\n border-bottom: none !important;\n }\n\n /* Only show border when register footer is visible (next sibling) */\n .simple-commenter-privacy:has(+ .simple-commenter-drawer-footer) {\n border-bottom: 1px solid #E5E7EB !important;\n }\n\n .simple-commenter-privacy a,\n .simple-commenter-privacy a:where(:not(.wp-element-button)) {\n color: #9CA3AF !important;\n text-decoration: underline !important;\n text-decoration-thickness: auto !important;\n text-underline-offset: auto !important;\n font-size: 11px !important;\n line-height: 1.4 !important;\n background: transparent !important;\n border: none !important;\n padding: 0 !important;\n margin: 0 !important;\n }\n\n .simple-commenter-privacy a:hover {\n color: #6B7280 !important;\n text-decoration: underline !important;\n }\n\n /* ===== POPUP MODAL STYLES ===== */\n .simple-commenter-popup-backdrop {\n position: fixed !important;\n inset: 0 !important;\n background: rgba(0, 0, 0, 0) !important;\n z-index: 2147483100 !important;\n transition: background 0.3s ease !important;\n pointer-events: none !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n padding: 16px !important;\n }\n\n .simple-commenter-popup-backdrop.open {\n background: rgba(16, 42, 67, 0.5) !important;\n pointer-events: auto !important;\n }\n\n .simple-commenter-popup {\n width: 100% !important;\n max-width: 560px !important;\n max-height: calc(100vh - 32px) !important;\n background: white !important;\n border-radius: 16px !important;\n box-shadow: 0 25px 50px -12px rgba(16, 42, 67, 0.25) !important;\n z-index: 2147483101 !important;\n transform: scale(0.95) translateY(10px) !important;\n opacity: 0 !important;\n transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease, height 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;\n display: flex !important;\n flex-direction: column !important;\n font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;\n overflow: hidden !important;\n }\n\n .simple-commenter-popup.open {\n transform: scale(1) translateY(0) !important;\n opacity: 1 !important;\n }\n\n /* Force font on ALL popup children to override WordPress/theme styles */\n .simple-commenter-popup *,\n .simple-commenter-popup *::before,\n .simple-commenter-popup *::after {\n font-family: inherit !important;\n box-sizing: border-box !important;\n }\n\n .simple-commenter-popup-header {\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n padding: 20px 24px 16px 24px !important;\n border-bottom: 1px solid #E1E1E1 !important;\n flex-shrink: 0 !important;\n }\n\n .simple-commenter-popup-title {\n font-size: 18px !important;\n font-weight: 600 !important;\n color: #222222 !important;\n margin: 0 !important;\n line-height: 1.4 !important;\n }\n\n .simple-commenter-popup-close {\n background: none !important;\n border: none !important;\n padding: 8px !important;\n cursor: pointer !important;\n color: #7E7E7E !important;\n border-radius: 8px !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n transition: background 0.15s ease, color 0.15s ease !important;\n margin: -4px -4px -4px 0 !important;\n }\n\n .simple-commenter-popup-close:hover {\n background: #F7F7F7 !important;\n color: #222222 !important;\n }\n\n .simple-commenter-popup-close svg {\n width: 20px !important;\n height: 20px !important;\n }\n\n .simple-commenter-popup-content {\n flex: 1 !important;\n overflow-y: auto !important;\n padding: 24px !important;\n transition: opacity 0.2s ease !important;\n }\n\n .simple-commenter-popup-content.fading {\n opacity: 0 !important;\n }\n\n .simple-commenter-popup-footer {\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n padding: 16px 24px 20px 24px !important;\n border-top: 1px solid #E1E1E1 !important;\n flex-shrink: 0 !important;\n gap: 12px !important;\n transition: opacity 0.2s ease !important;\n }\n\n .simple-commenter-popup-footer.fading {\n opacity: 0 !important;\n }\n\n .simple-commenter-popup-footer-right {\n display: flex !important;\n align-items: center !important;\n gap: 12px !important;\n margin-left: auto !important;\n }\n\n /* Popup buttons */\n .simple-commenter-popup-btn {\n display: inline-flex !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 8px !important;\n padding: 10px 20px !important;\n border-radius: 8px !important;\n font-size: 14px !important;\n font-weight: 500 !important;\n cursor: pointer !important;\n transition: all 0.15s ease !important;\n border: none !important;\n text-decoration: none !important;\n line-height: 1.4 !important;\n }\n\n .simple-commenter-popup-btn-primary {\n background: #7BC47F !important;\n color: #222222 !important;\n }\n\n .simple-commenter-popup-btn-primary:hover {\n background: #57AE5B !important;\n }\n\n .simple-commenter-popup-btn-secondary {\n background: #F7F7F7 !important;\n color: #3B3B3B !important;\n }\n\n .simple-commenter-popup-btn-secondary:hover {\n background: #E1E1E1 !important;\n }\n\n .simple-commenter-popup-btn-ghost {\n background: transparent !important;\n color: #7E7E7E !important;\n padding: 10px 12px !important;\n }\n\n .simple-commenter-popup-btn-ghost:hover {\n background: #F7F7F7 !important;\n color: #3B3B3B !important;\n }\n\n /* Popup content styles */\n .simple-commenter-popup-icon {\n width: 48px !important;\n height: 48px !important;\n border-radius: 12px !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n margin-bottom: 16px !important;\n }\n\n .simple-commenter-popup-icon svg {\n width: 24px !important;\n height: 24px !important;\n }\n\n .simple-commenter-popup-icon-warning {\n background: #FCEFC7 !important;\n color: #C99A2E !important;\n }\n\n .simple-commenter-popup-icon-info {\n background: #DCEEFB !important;\n color: #62B0E8 !important;\n }\n\n .simple-commenter-popup-icon-success {\n background: #E3F9E5 !important;\n color: #7BC47F !important;\n }\n\n .simple-commenter-popup-description {\n font-size: 14px !important;\n line-height: 1.6 !important;\n color: #626262 !important;\n margin: 0 0 16px 0 !important;\n }\n\n .simple-commenter-popup-list {\n margin: 0 0 16px 0 !important;\n padding: 0 0 0 20px !important;\n list-style: disc !important;\n }\n\n .simple-commenter-popup-list li {\n font-size: 14px !important;\n line-height: 1.6 !important;\n color: #626262 !important;\n margin-bottom: 8px !important;\n }\n\n .simple-commenter-popup-list li:last-child {\n margin-bottom: 0 !important;\n }\n\n /* Tutorial specific styles */\n .simple-commenter-popup-step-indicator {\n display: flex !important;\n align-items: center !important;\n gap: 6px !important;\n }\n\n .simple-commenter-popup-step-dot {\n width: 8px !important;\n height: 8px !important;\n border-radius: 50% !important;\n background: #CFCFCF !important;\n transition: background 0.2s ease !important;\n }\n\n .simple-commenter-popup-step-dot.active {\n background: #7BC47F !important;\n }\n\n .simple-commenter-popup-step-dot.completed {\n background: #7BC47F !important;\n }\n\n /* Tutorial mode demo */\n .simple-commenter-tutorial-demo {\n background: #F7F7F7 !important;\n border: 1px solid #E1E1E1 !important;\n border-radius: 12px !important;\n padding: 24px !important;\n margin: 20px 0 !important;\n display: flex !important;\n flex-direction: column !important;\n align-items: center !important;\n gap: 16px !important;\n }\n\n /* Tutorial modebox - uses actual modebox styles */\n .simple-commenter-tutorial-modebox {\n display: inline-flex !important;\n flex-direction: row !important;\n background: white !important;\n border-radius: 6px !important;\n border: 1px solid #000 !important;\n overflow: hidden !important;\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1) !important;\n }\n\n .simple-commenter-tutorial-modebox > button {\n padding: 8px 16px !important;\n cursor: pointer !important;\n background: white !important;\n stroke: rgb(55 65 81) !important;\n border-width: 0 !important;\n border-style: solid !important;\n border-radius: 0 !important;\n border-color: #000 !important;\n margin: 0 !important;\n min-height: auto !important;\n transition: background-color 0.25s ease, box-shadow 0.25s ease !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n }\n\n .simple-commenter-tutorial-modebox > button:hover {\n background-color: #F7F7F7 !important;\n }\n\n .simple-commenter-tutorial-modebox > button.simple-commenter-border {\n border-left-width: 1px !important;\n border-left-style: solid !important;\n border-left-color: black !important;\n }\n\n /* Active states use yellow highlight */\n .simple-commenter-tutorial-modebox > button.simple-commenter-disabled-button,\n .simple-commenter-tutorial-modebox > button.simple-commenter-view-button,\n .simple-commenter-tutorial-modebox > button.simple-commenter-active-button {\n background-color: #F7D070 !important;\n box-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.08) !important;\n }\n\n .simple-commenter-tutorial-mode-label {\n font-size: 13px !important;\n font-weight: 500 !important;\n color: #3B3B3B !important;\n text-align: center !important;\n }\n\n /* Tutorial feature card */\n .simple-commenter-tutorial-feature {\n display: flex !important;\n align-items: flex-start !important;\n gap: 12px !important;\n padding: 16px !important;\n background: #F7F7F7 !important;\n border-radius: 10px !important;\n margin-bottom: 12px !important;\n }\n\n .simple-commenter-tutorial-feature:last-child {\n margin-bottom: 0 !important;\n }\n\n .simple-commenter-tutorial-feature-icon {\n width: 40px !important;\n height: 40px !important;\n border-radius: 10px !important;\n background: white !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n flex-shrink: 0 !important;\n border: 1px solid #E1E1E1 !important;\n }\n\n .simple-commenter-tutorial-feature-icon svg {\n width: 20px !important;\n height: 20px !important;\n color: #626262 !important;\n }\n\n .simple-commenter-tutorial-feature-content {\n flex: 1 !important;\n }\n\n .simple-commenter-tutorial-feature-title {\n font-size: 14px !important;\n font-weight: 600 !important;\n color: #222222 !important;\n margin: 0 0 4px 0 !important;\n line-height: 1.4 !important;\n }\n\n .simple-commenter-tutorial-feature-desc {\n font-size: 13px !important;\n color: #626262 !important;\n margin: 0 !important;\n line-height: 1.5 !important;\n }\n\n /* Tutorial CTA section for registration */\n .simple-commenter-tutorial-cta {\n background: linear-gradient(135deg, #E3F9E5 0%, #C1EAC5 100%) !important;\n border: 1px solid #A3D9A5 !important;\n border-radius: 12px !important;\n padding: 24px !important;\n text-align: center !important;\n margin-top: 8px !important;\n }\n\n .simple-commenter-tutorial-cta-title {\n font-size: 16px !important;\n font-weight: 600 !important;\n color: #222222 !important;\n margin: 0 0 8px 0 !important;\n }\n\n .simple-commenter-tutorial-cta-desc {\n font-size: 14px !important;\n color: #3B3B3B !important;\n margin: 0 0 16px 0 !important;\n line-height: 1.5 !important;\n }\n\n .simple-commenter-tutorial-cta-buttons {\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 12px !important;\n flex-wrap: wrap !important;\n }\n\n /* Responsive popup */\n @media (max-width: 640px) {\n .simple-commenter-popup {\n max-width: 100% !important;\n max-height: calc(100vh - 32px) !important;\n border-radius: 12px !important;\n }\n\n .simple-commenter-popup-header {\n padding: 16px 20px 12px 20px !important;\n }\n\n .simple-commenter-popup-content {\n padding: 20px !important;\n }\n\n .simple-commenter-popup-footer {\n padding: 12px 20px 16px 20px !important;\n flex-wrap: wrap !important;\n }\n\n .simple-commenter-popup-btn {\n padding: 10px 16px !important;\n font-size: 13px !important;\n }\n }\n .simple-commenter-comment-count {\n font-size: 14px; /* Equivalent to Tailwind\'s text-sm */\n color: #000; /* Equivalent to Tailwind\'s text-gray-600 */\n margin: 0;\n line-height: 1.5;\n font-family: "Poppins", sans-serif!important;\n }\n\n .simple-commenter-comment-count-bold {\n font-weight: 700; /* Equivalent to Tailwind\'s font-bold */\n }\n\n /* Comment List Container */\n .simple-commenter-comment-list {\n position: relative;\n overflow: hidden;\n width: 600px;\n max-width: 90vw;\n background: white;\n border-radius: 12px;\n border: 1px solid rgb(229 231 235);\n padding: 8px 12px;\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.05), 0 4px 6px -4px rgb(0 0 0 / 0.05);\n display: flex;\n flex-direction: column;\n gap: 4px;\n z-index: 1103;\n }\n\n .simple-commenter-container-smaller {\n width: 450px;\n max-width: 90vw;\n }\n\n /* Close Button */\n .simple-commenter-close-button {\n position: absolute;\n top:0;\n right:0;\n cursor: pointer;\n padding-top: 8px!important;\n padding-right: 8px!important;\n stroke: rgb(55 65 81);\n border-width: 0!important;\n background: transparent;\n background-color: transparent!important;\n }\n\n .simple-commenter-close-button:hover {\n opacity: 0.7;\n box-shadow: none;\n }\n\n /* Comments Wrapper */\n .simple-commenter-comments-wrapper {\n display: flex !important;\n flex-direction: column !important;\n font-family: "Poppins", sans-serif !important;\n padding: 0em 12px !important;\n height: 60vh !important;\n max-height: 600px !important;\n min-height: 200px !important;\n overflow-y: auto !important;\n overflow-x: hidden !important;\n box-sizing: border-box !important;\n }\n\n /* Individual Comment Item */\n .simple-commenter-comment-item {\n background: #f7f7f7;\n margin-bottom: 8px;\n border-radius: 8px;\n padding: 12px;\n display: flex;\n flex-direction: column;\n gap: 4px;\n transition: background-color 0.2s ease-in-out;\n }\n\n /* Comment Text */\n .simple-commenter-comment-text {\n font-size: 16px;\n font-weight: 500;\n color: #626262;\n }\n\n /* Comment Date */\n .simple-commenter-comment-meta {\n font-size: 12px!important;\n color: #7E7E7E;\n text-align: right;\n display: flex;\n /* justify-content: space-between; */\n font-family: "Poppins", sans-serif!important;\n align-items: stretch;\n stroke: rgb(55, 65, 81);\n margin: 0!important;\n gap: 0.325em;\n background-color: transparent!important;\n border:none!important;\n padding:0px!important;\n min-height: auto;\n }\n\n .simple-commenter-comment-meta-button,\n a.simple-commenter-comment-meta-button,\n button.simple-commenter-comment-meta-button {\n border: none !important;\n border-width: 0 !important;\n border-style: none !important;\n border-color: transparent !important;\n background: transparent !important;\n background-color: transparent !important;\n padding: 0 !important;\n margin: 0 !important;\n text-decoration: underline !important;\n text-decoration-thickness: auto !important;\n text-underline-offset: auto !important;\n position: relative !important;\n min-height: auto !important;\n min-width: auto !important;\n height: auto !important;\n width: auto !important;\n line-height: inherit !important;\n font-size: inherit !important;\n color: inherit !important;\n cursor: pointer !important;\n box-shadow: none !important;\n outline: none !important;\n display: inline !important;\n box-sizing: border-box !important;\n appearance: none !important;\n -webkit-appearance: none !important;\n -moz-appearance: none !important;\n padding-block: 0 !important;\n padding-inline: 0 !important;\n text-align: left !important;\n vertical-align: middle !important;\n }\n\n .simple-commenter-comment-meta-button:hover,\n a.simple-commenter-comment-meta-button:hover,\n button.simple-commenter-comment-meta-button:hover {\n text-decoration: underline !important;\n background: transparent !important;\n background-color: transparent !important;\n border: none !important;\n box-shadow: none !important;\n align-content: center !important;\n flex-wrap: wrap !important;\n justify-content: space-between !important;\n align-items: center !important;\n }\n\n /* No Comments Message */\n .simple-commenter-no-comments {\n text-align: center;\n font-size: 16px;\n color: #9E9E9E;\n }\n\n /* Header line: contains name and date */\n .simple-commenter-comment-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n /* Name styling */\n .simple-commenter-comment-name {\n font-size: 14px; /* Slightly larger */\n font-weight: bold;\n color: #9E9E9E;\n }\n\n /* Date styling */\n .simple-commenter-comment-date {\n font-size: 12px;\n color: #9E9E9E;\n }\n\n /* Date styling */\n .simple-commenter-comment-date-large {\n font-size: 14px!important;\n color: #9E9E9E;\n }\n\n /* Disclosure button (collapsible) */\n .simple-commenter-disclosure {\n display: block !important;\n }\n\n .simple-commenter-disclosure-btn {\n display: inline-flex !important;\n align-items: center !important;\n gap: 4px !important;\n padding: 0 !important;\n margin: 0 !important;\n background: transparent !important;\n border: none !important;\n cursor: pointer !important;\n font-size: 12px !important;\n color: #9E9E9E !important;\n font-family: inherit !important;\n line-height: 1.5 !important;\n min-height: auto !important;\n box-shadow: none !important;\n }\n\n .simple-commenter-disclosure-btn:hover {\n color: #626262 !important;\n }\n\n .simple-commenter-disclosure-text {\n font-size: 12px !important;\n line-height: 1 !important;\n }\n\n .simple-commenter-disclosure-icon {\n transition: transform 0.15s ease !important;\n width: 12px !important;\n height: 12px !important;\n flex-shrink: 0 !important;\n }\n\n .simple-commenter-disclosure-open .simple-commenter-disclosure-icon {\n transform: rotate(180deg) !important;\n }\n\n .simple-commenter-disclosure-panel {\n padding-top: 8px !important;\n padding-left: 0 !important;\n }\n\n /* Metadata table styles */\n .simple-commenter-meta-table {\n display: flex !important;\n flex-direction: column !important;\n gap: 4px !important;\n font-size: 12px !important;\n }\n\n .simple-commenter-meta-row {\n display: flex !important;\n justify-content: space-between !important;\n align-items: center !important;\n gap: 12px !important;\n padding: 4px 0 !important;\n border-bottom: 1px solid #E1E1E1 !important;\n }\n\n .simple-commenter-meta-row:last-child {\n border-bottom: none !important;\n }\n\n .simple-commenter-meta-label {\n color: #9E9E9E !important;\n font-size: 12px !important;\n font-weight: 500 !important;\n white-space: nowrap !important;\n }\n\n .simple-commenter-meta-value {\n color: #515151 !important;\n font-size: 12px !important;\n text-align: right !important;\n word-break: break-word !important;\n }\n\n /* Replies disclosure section styles */\n .simple-commenter-replies-disclosure {\n margin-bottom: 12px !important;\n }\n\n .simple-commenter-replies-disclosure-btn {\n display: flex !important;\n align-items: center !important;\n gap: 6px !important;\n padding: 8px 12px !important;\n background: #F7F7F7 !important;\n border: 1px solid #E1E1E1 !important;\n border-radius: 8px !important;\n cursor: pointer !important;\n font-size: 13px !important;\n font-weight: 500 !important;\n color: #3B3B3B !important;\n transition: background 0.15s, border-color 0.15s !important;\n width: 100% !important;\n font-family: "Poppins", sans-serif !important;\n line-height: 1.5 !important;\n min-height: auto !important;\n box-shadow: none !important;\n margin: 0 !important;\n }\n\n .simple-commenter-replies-disclosure-btn:hover {\n background: #EFEFEF !important;\n border-color: #D1D5DB !important;\n box-shadow: none !important;\n }\n\n .simple-commenter-replies-disclosure-chevron {\n display: flex !important;\n align-items: center !important;\n }\n\n .simple-commenter-replies-disclosure-chevron svg {\n transition: transform 0.2s ease !important;\n width: 12px !important;\n height: 12px !important;\n }\n\n .simple-commenter-replies-disclosure-open .simple-commenter-replies-disclosure-chevron svg {\n transform: rotate(90deg) !important;\n }\n\n .simple-commenter-replies-disclosure-text {\n font-size: 13px !important;\n font-weight: 500 !important;\n color: #374151 !important;\n }\n\n .simple-commenter-replies-disclosure-count {\n background: #E5E7EB !important;\n color: #6B7280 !important;\n font-size: 11px !important;\n font-weight: 600 !important;\n padding: 2px 6px !important;\n border-radius: 10px !important;\n margin-left: auto !important;\n }\n\n .simple-commenter-replies-disclosure-content {\n overflow: hidden !important;\n max-height: 0;\n transition: max-height 0.3s ease-out !important;\n }\n\n .simple-commenter-replies-disclosure-content-inner {\n padding-top: 8px !important;\n }\n\n .simple-commenter-reply-buttons-container {\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n }\n\n .simple-commenter-comment-list-button {\n display: flex;\n align-items: center;\n gap: 6px; /* Equivalent to Tailwind\'s gap-1.5 */\n border-radius: 9999px!important; /* This is always rounded-full*/\n border: 1px solid #e5e7eb!important; /* Equivalent to Tailwind\'s border-gray-200 */\n background-color: #ffffff!important; /* White background */\n padding: 2px 8px!important; /* Equivalent to px-2 py-0.5 */\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.05), 0 4px 6px -4px rgb(0 0 0 / 0.05);\n cursor: pointer;\n transition: background-color 0.2s ease-in-out;\n color: black!important;\n stroke: black;\n border:none!important;\n line-height: 0px!important;\n margin: 0;\n min-height: auto;\n }\n\n .simple-commenter-comment-list-button:hover {\n background-color: #f9fafb; /* Slight hover effect */\n border:none;\n }\n\n .simple-commenter-user-button {\n padding: 4px!important;\n }\n\n .simple-commenter-container {\n display:flex;\n align-items: stretch;\n flex-direction:column;\n align-items: stretch;\n background:white;\n border-radius: 12px;\n border: 1px solid;\n border-color: #E1E1E1;\n max-width: 350px;\n width: 350px;\n font-family: "Poppins", sans-serif!important;\n font-size: 16px;\n line-height: 1.25em;\n background: #FFFFFF;\n color: #222222;\n z-index: 10101;\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n position: relative;\n overflow: visible !important;\n }\n\n /* Drag handle - always slightly visible, fully reveals on handle hover */\n .simple-commenter-drag-handle {\n position: absolute !important;\n top: 0 !important;\n left: 50% !important;\n transform: translateX(-50%) translateY(-30%) !important;\n width: 40px !important;\n height: 14px !important;\n background: #E1E1E1 !important;\n border-radius: 7px 7px 0 0 !important;\n cursor: move !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n opacity: 0.5 !important;\n transition: transform 0.2s ease, opacity 0.2s ease !important;\n z-index: -1 !important;\n border: none !important;\n padding: 0 !important;\n margin: 0 !important;\n min-height: auto !important;\n min-width: auto !important;\n }\n\n .simple-commenter-drag-handle::before {\n content: "" !important;\n width: 20px !important;\n height: 3px !important;\n background: #9E9E9E !important;\n border-radius: 2px !important;\n opacity: 0.6 !important;\n transition: opacity 0.15s ease !important;\n }\n\n .simple-commenter-drag-handle:hover {\n transform: translateX(-50%) translateY(-100%) !important;\n opacity: 1 !important;\n }\n\n .simple-commenter-drag-handle:hover::before {\n opacity: 1 !important;\n }\n\n .simple-commenter-drag-handle:active {\n opacity: 1 !important;\n background: #CFCFCF !important;\n }\n\n .simple-commenter-drag-handle:active::before {\n opacity: 1 !important;\n }\n\n .simple-commenter-textarea {\n min-height: 6em!important;\n padding: 0em!important;\n color: #1a202c!important;\n border: none; /* Removes the border */\n background: transparent;\n resize: vertical; /* Allows vertical resizing by the user */\n outline: none; /* Prevents the outline on focus */\n line-height: 1.5em!important; /* 24px */\n font-family: "Poppins", sans-serif!important;\n font-size: 16px!important;\n border-style: none !important;\n border-radius: 0 !important;\n box-shadow: none;\n position: relative!important;\n background-color: transparent!important;\n }\n\n .simple-commenter-dropzone.simple-commenter-dragover {\n position: relative;\n }\n\n .simple-commenter-dropzone.simple-commenter-dragover textarea {\n caret-color: transparent;\n color: transparent;\n }\n\n .simple-commenter-dropzone.simple-commenter-dragover textarea::placeholder {\n color: transparent !important;\n }\n\n /* Overlay styling */\n .simple-commenter-drop-overlay {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 95%;\n height: 88%;\n font-size: 14px;\n color: #666;\n border: 2px dashed #4a90e2 !important;\n background: #f0f8ff;\n border-radius: 12px !important;\n display: none;\n align-items: center;\n justify-content: center;\n pointer-events: none; /* let files be dropped */\n z-index: 10;\n }\n\n .simple-commenter-textarea::placeholder {\n color: rgb(75 85 99);\n }\n\n .simple-commenter-textarea:focus {\n outline: none;\n border: none;\n --tw-ring-color: transparent; /* Removes the focus ring */\n box-shadow: none;\n }\n\n .simple-commenter-button {\n position: relative !important;\n padding: 4px 8px !important;\n cursor: pointer;\n background: #F7F7F7;\n background-color: #F7F7F7 !important;\n color: #6B7280 !important;\n border-radius: 8px !important;\n font-weight: 400 !important;\n font-size: 14px !important;\n line-height: 1.25em !important;\n border-width: 1px !important;\n border-color: #E1E1E1 !important;\n border-style: solid !important;\n align-self: flex-end;\n text-decoration: none !important;\n text-transform: none !important;\n letter-spacing: normal !important;\n font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;\n margin: 0;\n min-height: auto;\n }\n\n .simple-commenter-button:hover {\n background: #EFEFEF !important;\n border-color: #D1D5DB !important;\n color: #374151 !important;\n box-shadow: none !important;\n }\n\n /* Styles for the button when it\'s loading */\n .simple-commenter-button.is-loading {\n opacity: 0.8;\n cursor: wait; /* Show a waiting cursor */\n position: relative !important;\n }\n\n /* Hide the button\'s text when loading, but keep its space */\n .simple-commenter-button.is-loading .button-text {\n visibility: hidden !important;\n user-select: none !important;\n }\n\n .simple-commenter-button-primary.is-loading .button-text {\n visibility: hidden !important;\n user-select: none !important;\n }\n\n .simple-commenter-button-primary {\n padding: 4px 8px!important;\n cursor: pointer;\n background: white!important;\n background-color: white!important;\n color: #000!important;\n border-radius: 8px!important;\n font-weight: 500!important;\n font-family: "Poppins", sans-serif!important;\n font-size: 16px!important; /* 14px */\n line-height: 1.25em!important; /* 20px */\n border-width: 1px!important;\n border-color: #E1E1E1!important;\n border-style: solid!important;\n align-self: flex-end;\n text-shadow: none!important;\n text-transform: none!important;\n letter-spacing: normal!important;\n text-decoration: none!important;\n margin: 0!important;\n position: relative !important;\n\n }\n\n .simple-commenter-button-primary:hover {\n background: #F7F7F7!important;\n border-color: rgba(34, 34, 34, 0.1) !important;\n box-shadow: none;\n }\n\n .simple-commenter-button-primary.is-loading {\n opacity: 0.8;\n cursor: wait;\n }\n\n .simple-commenter-dropdown-container {\n position: relative !important;\n display: inline-block !important;\n }\n\n .simple-commenter-status-button {\n display: flex !important;\n align-items: center !important;\n gap: 2px !important;\n padding: 4px 4px 4px 8px !important;\n cursor: pointer !important;\n background: #F7F7F7 !important;\n color: #6B7280 !important;\n border-radius: 8px !important;\n font-weight: 400 !important;\n font-family: "Poppins", sans-serif !important;\n font-size: 13px !important;\n line-height: 1.25em !important;\n border-width: 1px !important;\n border-color: #E1E1E1 !important;\n border-style: solid !important;\n text-shadow: none !important;\n text-transform: none !important;\n letter-spacing: normal !important;\n margin: 0 !important;\n text-align: center !important;\n transition: all 0.15s ease !important;\n position: relative !important;\n min-width: fit-content !important;\n }\n\n .simple-commenter-status-button:hover {\n background: #EFEFEF !important;\n border-color: #D1D5DB !important;\n color: #374151 !important;\n box-shadow: none !important;\n }\n\n .simple-commenter-status-button:focus {\n outline: 2px solid var(--status-text, #62B0E8) !important;\n outline-offset: 2px !important;\n }\n\n .simple-commenter-status-button.is-loading {\n opacity: 0.8 !important;\n cursor: wait !important;\n }\n\n .simple-commenter-status-button .button-text {\n display: flex !important;\n align-items: center !important;\n gap: 6px !important;\n }\n\n .simple-commenter-status-button.is-loading .button-text {\n visibility: hidden !important;\n }\n\n .simple-commenter-status-button .simple-commenter-spinner {\n position: absolute !important;\n top: 50% !important;\n left: 50% !important;\n margin-top: -8px !important;\n margin-left: -8px !important;\n width: 16px !important;\n height: 16px !important;\n border: 2px solid transparent !important;\n border-top-color: var(--status-text, #4b5563) !important;\n border-right-color: var(--status-text, #4b5563) !important;\n border-radius: 50% !important;\n animation: spin 0.8s linear infinite !important;\n }\n\n .simple-commenter-status-label {\n flex: 1 !important;\n white-space: nowrap !important;\n }\n\n .simple-commenter-status-dot {\n width: 8px !important;\n height: 8px !important;\n border-radius: 50% !important;\n flex-shrink: 0 !important;\n margin-right: 6px !important;\n }\n\n .simple-commenter-chevron {\n width: 16px !important;\n height: 16px !important;\n flex-shrink: 0 !important;\n opacity: 0.6 !important;\n color: currentColor !important;\n }\n\n .simple-commenter-count-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 6px;\n border-radius: 10px;\n font-size: 11px;\n font-weight: 600;\n line-height: 1;\n text-shadow: none !important;\n text-transform: none !important;\n letter-spacing: normal !important;\n text-decoration: none !important;\n margin: 0 !important;\n padding-top: 2px !important;\n position: relative !important;\n }\n\n .simple-commenter-dropdown-menu {\n position: fixed !important;\n z-index: 2147483005 !important;\n min-width: 180px !important;\n max-height: 320px !important;\n overflow-y: auto !important;\n background: white !important;\n border: 1px solid rgb(229 231 235) !important;\n border-radius: 8px !important;\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1),\n 0 4px 6px -4px rgb(0 0 0 / 0.1) !important;\n padding: 4px !important;\n opacity: 0 !important;\n pointer-events: none !important;\n transform: translateY(-8px) scale(0.95) !important;\n transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1),\n transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;\n }\n\n .simple-commenter-dropdown-menu.open {\n opacity: 1 !important;\n pointer-events: auto !important;\n transform: translateY(0) scale(1) !important;\n }\n\n .simple-commenter-dropdown-option {\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n padding: 8px 8px !important;\n cursor: pointer !important;\n border-radius: 6px !important;\n transition: background-color 0.1s ease !important;\n margin: 2px 0 !important;\n gap: 8px !important;\n }\n\n .simple-commenter-dropdown-option.multi-select {\n justify-content: flex-start !important;\n }\n\n .simple-commenter-dropdown-option:hover {\n background: rgb(243 244 246) !important;\n }\n\n .simple-commenter-dropdown-option.selected {\n background: rgb(239 246 255) !important;\n }\n\n .simple-commenter-status-checkbox {\n width: 16px !important;\n height: 16px !important;\n cursor: pointer !important;\n flex-shrink: 0 !important;\n border-radius: 4px !important;\n border: 1.5px solid rgb(209 213 219) !important;\n appearance: none !important;\n -webkit-appearance: none !important;\n -moz-appearance: none !important;\n background-color: white !important;\n transition: all 0.15s ease !important;\n margin: 0 !important;\n }\n\n .simple-commenter-status-checkbox:checked {\n background-color: #62B0E8 !important;\n border-color: #62B0E8 !important;\n background-image: url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 16 16\' fill=\'white\'%3E%3Cpath d=\'M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z\'/%3E%3C/svg%3E") !important;\n background-size: 100% 100% !important;\n background-position: center !important;\n background-repeat: no-repeat !important;\n }\n\n .simple-commenter-status-checkbox:hover {\n border-color: rgb(156 163 175) !important;\n }\n\n .simple-commenter-status-checkbox:focus {\n outline: none !important;\n box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;\n }\n\n .simple-commenter-option-label {\n font-family: "Poppins", sans-serif !important;\n font-size: 14px !important;\n color: rgb(55 65 81) !important;\n font-weight: 400 !important;\n line-height: 1.25em !important;\n flex: 1 !important;\n }\n\n .simple-commenter-count-badge {\n position: relative !important;\n display: inline-flex !important;\n align-items: center !important;\n justify-content: center !important;\n min-width: 24px !important;\n height: 24px !important;\n padding: 0 6px !important;\n border-radius: 12px !important;\n font-size: 12px !important;\n font-weight: 500 !important;\n font-family: "Poppins", sans-serif !important;\n line-height: 1 !important;\n white-space: nowrap !important;\n flex-shrink: 0 !important;\n margin-left: auto !important;\n box-sizing: border-box !important;\n }\n\n .simple-commenter-option-dot {\n width: 8px !important;\n height: 8px !important;\n border-radius: 50% !important;\n flex-shrink: 0 !important;\n margin-left: 12px !important;\n }\n\n .simple-commenter-actions-container {\n display: flex !important;\n flex-direction: row !important;\n gap: 4px !important;\n padding: 4px !important;\n margin: 0 !important;\n box-sizing: border-box !important;\n }\n\n .simple-commenter-dropdown-option.action {\n flex: 1 !important;\n justify-content: center !important;\n padding: 6px 12px !important;\n font-size: 13px !important;\n font-weight: 500 !important;\n font-family: "Poppins", sans-serif !important;\n line-height: 1.2 !important;\n color: rgb(55 65 81) !important;\n background: transparent !important;\n border: none !important;\n text-align: center !important;\n text-decoration: none !important;\n text-transform: none !important;\n letter-spacing: normal !important;\n word-spacing: normal !important;\n white-space: nowrap !important;\n box-shadow: none !important;\n box-sizing: border-box !important;\n }\n\n .simple-commenter-dropdown-option.action:hover {\n background: rgb(243 244 246) !important;\n color: rgb(17 24 39) !important;\n }\n\n .simple-commenter-dropdown-option.action:active {\n background: rgb(229 231 235) !important;\n }\n\n .simple-commenter-button-red {\n background: transparent!important;\n padding: 4px 8px!important;\n cursor: pointer;\n color: rgb(55 65 81)!important;\n border-radius: 8px!important;\n font-weight: 500!important;\n font-family: "Poppins", sans-serif!important;\n font-size: 16px!important; /* 14px */\n line-height: 1.25em!important; /* 20px */\n border-style: solid!important;\n border-width: 1px!important;\n border-color: transparent!important;\n align-self: flex-end;\n }\n\n .simple-commenter-button-red:hover {\n background: #FFEEEE!important;\n border-color: rgba(214, 69, 69, 0.1) !important;\n color: #D64545!important;\n }\n\n .simple-commenter-button-small {\n padding: 2px 8px !important; /* px-2 py-0.5 */\n font-size: 14px !important; /* text-sm (14px) */\n line-height: 1.25em !important; /* leading-5 (20px) */\n }\n\n .simple-commenter-comment-box {\n position: absolute;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n border-radius: 12px;\n border: 1px solid;\n border-color: rgb(229 231 235);\n max-width: 350px;\n min-width: 350px;\n min-height: 50px;\n font-family: "Poppins", sans-serif!important;\n font-size: 16px; /* 16px */\n line-height: 1.5em; /* 24px */\n background: white;\n color: black;\n z-index: 12102;\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n }\n\n .simple-commenter-comment-container {\n display: flex;\n flex-direction: column;\n padding: 8px 12px;\n font-family: "Poppins", sans-serif!important;\n background: white;\n color: #000;\n margin: 0;\n font-size: 16px; /* 14px */\n }\n\n .simple-commenter-border-radius-top {\n border-radius: 12px 12px 0 0\n }\n\n .simple-commenter-border-radius-bottom {\n border-radius: 0 0 12px 12px;\n }\n\n .simple-commenter-list-buttons {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n background: #F7F7F7;\n }\n\n .simple-commenter-buttons-wrapper {\n display: flex !important;\n flex-wrap: wrap !important;\n justify-content: space-between !important;\n gap: 4px !important;\n padding: 8px 12px !important;\n background: #F7F7F7 !important;\n margin-top: 4px !important;\n box-sizing: border-box !important;\n }\n\n @media (max-width: 640px) {\n .simple-commenter-comment-box {\n min-width: unset !important;\n max-width: calc(100vw - 24px) !important;\n width: calc(100vw - 24px) !important;\n }\n\n .simple-commenter-container {\n min-width: unset !important;\n max-width: 350px !important;\n width: calc(100vw - 24px) !important;\n }\n\n .simple-commenter-buttons-wrapper {\n flex-direction: column !important;\n gap: 8px !important;\n }\n\n .simple-commenter-list-buttons {\n width: 100% !important;\n }\n\n .simple-commenter-status-button {\n width: 100% !important;\n }\n }\n\n .simple-commenter-reply-container {\n display: flex;\n flex-direction: column;\n border-radius: 8px;\n padding: 8px;\n background: #F7F7F7;\n gap: 4px;\n }\n .simple-commenter-reply-container textarea {\n padding: 0em!important;\n min-height: auto!important;\n background: transparent;\n } -\n\n .simple-commenter-comment-box span {\n color: rgb(55 65 81);\n font-size: 16px; /* 14px */\n line-height: 1.25em; /* 20px */\n color: rgb(107 114 128);\n }\n\n .simple-commenter-comment-box-menu {\n padding: 12px 0px;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n gap: 6px;\n background: #FFFFFF;\n flex-wrap: wrap;\n align-content: center;\n border-radius: 0 0 12px 12px;\n margin: 4px 12px 0px;\n border-top: 1px solid #E5E7EB;\n }\n\n .simple-commenter-screenshot-toggle-row {\n display: inline-flex !important;\n align-items: center !important;\n gap: 8px !important;\n color: #374151 !important;\n font-family: "Poppins", sans-serif !important;\n font-size: 13px !important;\n line-height: 1.3 !important;\n user-select: none !important;\n }\n\n .simple-commenter-screenshot-toggle-label {\n font-size: 13px !important;\n font-weight: 500 !important;\n color: #374151 !important;\n }\n\n /* When inside drawer comment item, use the parent\'s padding */\n .simple-commenter-drawer-comment-item .simple-commenter-comment-box-menu {\n margin-left: -16px;\n margin-right: -16px;\n margin-bottom: -16px;\n padding: 12px 16px;\n border-radius: 0 0 10px 10px;\n }\n\n .simple-commenter-comment-box-buttons {\n display: flex;\n flex-direction: row;\n gap: 6px;\n }\n\n .simple-commenter-replies-wrapper {\n animation-fill-mode: backwards;\n font-family: "Poppins", sans-serif!important;\n display: flex;\n flex-direction: column;\n gap: 12px;\n margin-top: 8px;\n max-height: 450px;\n overflow-y: auto;\n }\n\n .simple-commenter-replies-wrapper-p {\n padding-bottom: 8px;\n font-weight: 400;\n }\n\n .simple-commenter-reply {\n padding: 8px;\n border-radius: 8px;\n background: #F7F7F7;\n }\n\n .simple-commenter-reply p {\n margin: 0;\n font-size: 16px; /* 14px */\n }\n\n .simple-commenter-reply-date {\n font-size: 12px;\n color: rgb(107, 114, 128);\n }\n\n .simple-commenter-comment-marker {\n display: flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n padding: 8px;\n margin: 8px;\n border-radius: 50%;\n background: #4098D7;\n cursor: pointer;\n z-index: 10099;\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n stroke: #222222;\n transition: left 0.15s ease-out, top 0.15s ease-out;\n }\n\n /* Status indicator dot on marker */\n .simple-commenter-comment-marker::before {\n content: \'\';\n position: absolute;\n top: -2px;\n right: -2px;\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background: var(--status-bg, #E3F9E5);\n border: 2px solid white;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n z-index: 1;\n }\n\n /* Marker pop-in animation */\n @keyframes simple-commenter-marker-pop {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 70% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n }\n\n .simple-commenter-marker-animate-in {\n animation: simple-commenter-marker-pop 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;\n }\n\n .simple-commenter-x-button {\n position:absolute;\n top:0;\n right:0;\n cursor: pointer;\n padding-top: 4px!important;\n padding-right: 4px!important;\n stroke: rgb(55 65 81);\n border-width: 0!important;\n background: transparent;\n background-color: transparent!important;\n }\n\n .simple-commenter-x-button:hover {\n box-shadow: none\n }\n\n /* X button for new header design (non-absolute, flex-based) */\n /* Input Groups - for label and input */\n .simple-commenter-input-group {\n display: flex;\n flex-direction: column;\n gap: 4px; /* Smaller gap between label and input */\n }\n\n /* Input Labels */\n .simple-commenter-label {\n font-size: 14px !important;\n font-weight: 500 !important;\n color: #515151 !important;\n line-height: 1.5 !important;\n text-transform: none !important;\n }\n\n /* Input Fields */\n .simple-commenter-input {\n padding: 8px 12px !important;\n font-size: 16px !important; /* 16px prevents iOS auto-zoom */\n border: 1px solid #E1E1E1 !important;\n border-radius: 8px !important;\n background: #F7F7F7!important;\n color: #515151 !important;\n resize: vertical;\n outline: none;\n transition: border-color 0.2s ease-in-out !important;\n font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;\n line-height: unset;\n box-shadow: none;\n }\n\n .simple-commenter-input::placeholder {\n color: #9E9E9E !important\n }\n\n .simple-commenter-textarea::placeholder {\n color: #9E9E9E !important\n }\n\n .simple-commenter-title-input {\n color: #3B3B3B !important;\n min-height: auto !important;\n font-weight: 500;\n margin-left: 8px;\n }\n\n .simple-commenter-title-input::placeholder {\n font-weight: 500;\n color: #9E9E9E !important\n }\n\n /* Input Focus State */\n .simple-commenter-input:focus {\n border-color: #000!important;\n --tw-ring-color: #000!important;\n box-shadow: none;\n }\n\n /* Checkbox Container */\n .simple-commenter-checkbox-container {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n padding-top: 8px;\n }\n\n /* Checkbox */\n .simple-commenter-checkbox {\n width: 16px;\n height: 16px;\n margin-top: 1px;\n border: 1px solid rgb(209, 213, 219);\n border-radius: 4px;\n appearance: none;\n cursor: pointer;\n transition: background 0.2s ease-in-out, border-color 0.2s ease-in-out;\n }\n\n /* Checkbox Checked State */\n .simple-commenter-checkbox:checked {\n background: rgb(55, 65, 81);\n border-color: rgb(55, 65, 81);\n }\n\n /* Checkbox Label */\n .simple-commenter-checkbox-label {\n font-size: 14px !important; /* text-sm */\n color: rgb(55, 65, 81) !important;\n cursor: auto;\n margin: 0;\n }\n\n .simple-commenter-move-button {\n display: flex;\n height: 32px;\n border-top-left-radius: 12px;\n margin-left: 2px;\n }\n\n .simple-commenter-move-button:hover {\n // background: #E1E1E1!important;\n }\n\n .simple-commenter-move-btn {\n cursor: move !important;\n padding: 6px 3px !important;\n margin: -6px 0 -6px -8px !important;\n background: transparent !important;\n background-color: transparent !important;\n border: none !important;\n min-height: auto !important;\n min-width: auto !important;\n line-height: 1 !important;\n flex-shrink: 0 !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n border-radius: 12px 0 0 0 !important;\n transition: background-color 0.15s ease !important;\n }\n\n .simple-commenter-move-btn:hover {\n background-color: rgba(0, 0, 0, 0.05) !important;\n }\n\n .simple-commenter-move-btn-icon {\n width: 22px !important;\n height: 22px !important;\n display: block !important;\n fill: #9E9E9E !important;\n stroke: #9E9E9E !important;\n }\n\n .simple-commenter-screenshot-container {\n position: relative !important;\n display: flex !important;\n align-items: center !important;\n margin-top: 4px !important;\n gap: 8px !important;\n border: 1px solid #e0e0e0 !important;\n border-radius: 8px !important;\n background-color: #f9f9f9 !important;\n cursor: pointer !important;\n width: 100% !important;\n overflow: hidden !important;\n padding: 14px !important;\n outline: none !important;\n box-shadow: none !important;\n text-decoration: none !important;\n letter-spacing: normal !important;\n text-transform: none !important;\n line-height: normal !important;\n color: #222222 !important;\n max-width: 100% !important;\n }\n\n .simple-commenter-screenshot-container img {\n position: absolute !important;\n top: 0 !important;\n left: 0 !important;\n border-radius: 4px !important;\n object-fit: cover !important;\n }\n\n .simple-commenter-screenshot-placeholder {\n position: relative !important;\n left: 10px !important;\n justify-content: center !important;\n flex-shrink: 0 !important;\n }\n\n .simple-commenter-screenshot-spinner {\n position: absolute !important;\n width: 18px !important;\n height: 18px !important;\n border-width: 2px !important;\n }\n\n .simple-commenter-screenshot-disabled {\n cursor: default !important;\n }\n\n .simple-commenter-screenshot-failed {\n background-color: #fff5f5 !important;\n border: 1px solid #fecaca !important;\n }\n\n .simple-commenter-screenshot-failed .simple-commenter-screenshot-text {\n color: #b42318 !important;\n }\n\n .simple-commenter-screenshot-failed-icon {\n position: relative !important;\n left: 10px !important;\n width: 24px !important;\n height: 24px !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n flex-shrink: 0 !important;\n color: #b42318 !important;\n }\n\n .simple-commenter-screenshot-failed-icon svg {\n width: 20px !important;\n height: 20px !important;\n }\n\n .simple-commenter-screenshot-container:hover,\n .simple-commenter-screenshot-container:focus {\n background-color: #f0f0f0 !important;\n border: 1px solid #e0e0e0 !important;\n box-shadow: none !important;\n color: #222222 !important;\n outline: none !important;\n text-decoration: none !important;\n }\n\n .simple-commenter-screenshot-text {\n padding: 6px;\n flex: 1 1 0% !important;\n font-size: 14px;\n font-weight: 500;\n text-decoration: none;\n line-height: 0;\n text-transform: none;\n color: #222222;\n font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;\n }\n\n /* Container for all the file elements */\n #simple-commenter-file-container {\n display: flex;\n flex-direction: column;\n padding-bottom: 8px;\n }\n\n #simple-commenter-file-container:empty {\n padding-bottom: 0;\n }\n\n #simple-commenter-screenshots-container {\n display: flex;\n flex-direction: column;\n padding-bottom: 8px;\n }\n\n #simple-commenter-screenshots-container:empty {\n padding-bottom: 0;\n }\n\n .simple-commenter-files-wrapper {\n display: flex;\n flex-direction: column;\n }\n\n /* A single file row */\n .simple-commenter-file-element {\n display: flex;\n align-items: center;\n gap: 4px;\n background-color: #F7F7F7;\n padding: 4px;\n border-radius: 4px;\n font-size: 14px;\n margin-top: 8px;\n position: relative;\n overflow: hidden;\n }\n\n /* File size display */\n .simple-commenter-file-size {\n font-size: 11px !important;\n color: #888 !important;\n margin-right: 4px !important;\n flex-shrink: 0 !important;\n }\n\n /* Progress bar container */\n .simple-commenter-file-progress-container {\n position: absolute !important;\n bottom: 0 !important;\n left: 0 !important;\n right: 0 !important;\n height: 3px !important;\n background: #E5E5E5 !important;\n border-radius: 0 0 4px 4px !important;\n overflow: hidden !important;\n }\n\n /* Progress bar fill */\n .simple-commenter-file-progress-bar {\n height: 100% !important;\n width: 0%;\n background: #22C55E !important;\n transition: width 0.3s ease !important;\n }\n\n /* The file name text, allows it to shrink if needed */\n .simple-commenter-file-name {\n flex-grow: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .simple-commenter-file-link {\n cursor: pointer; /* Changes the mouse cursor to a pointer on hover */\n transition: background-color 0.2s ease-in-out; /* Smooth transition for the hover effect */\n width: 100%; /* Make it take up the full width of its container */\n border: none; /* Remove default button borders */\n text-align: left; /* Align text to the left like a normal div */\n padding: 4px; /* Re-apply padding that might be lost from button styles */\n font-family: inherit; /* Use the same font as the rest of the page */\n font-size: 14px; /* Match your existing file element font size */\n }\n\n /* This defines the style that is applied ON HOVER */\n .simple-commenter-file-link:hover {\n background-color: #E1E1E1; /* A slightly darker background color */\n }\n\n .simple-commenter-file-element-white {\n background-color: #FFFFFF;\n }\n\n /* The icon for the file type */\n .simple-commenter-file-icon svg {\n width: 16px;\n height: 16px;\n }\n\n /* The delete button, make it small */\n .simple-commenter-file-delete-button {\n padding: 2px;\n width: 20px;\n height: 20px;\n }\n\n .simple-commenter-file-delete-button svg {\n height: 100%;\n }\n\n /* ===== COMMENT INPUT HEADER - NEW DESIGN ===== */\n /* Header container for comment input panel - hidden by default, shown in draw mode */\n .simple-commenter-input-header {\n display: none !important;\n flex-direction: row !important;\n align-items: center !important;\n justify-content: space-between !important;\n padding: 6px 8px !important;\n background: #FFFFFF !important;\n border-radius: 12px 12px 0 0 !important;\n gap: 8px !important;\n box-sizing: border-box !important;\n font-family: "Poppins", sans-serif !important;\n }\n\n /* Show header when draw mode is active */\n .simple-commenter-input-header.simple-commenter-draw-mode-active {\n display: flex !important;\n }\n\n /* When body is hidden (drawing mode), header gets full border-radius */\n .simple-commenter-input-body.simple-commenter-display-none ~ .simple-commenter-comment-box-menu.simple-commenter-display-none,\n .simple-commenter-container:has(.simple-commenter-input-body.simple-commenter-display-none) .simple-commenter-input-header {\n border-radius: 12px !important;\n }\n\n /* Floating close button - positioned at top-right of container when header is hidden */\n .simple-commenter-floating-close-btn {\n position: absolute !important;\n top: 4px !important;\n right: 4px !important;\n z-index: 10 !important;\n cursor: pointer !important;\n padding: 4px !important;\n background: transparent !important;\n border: none !important;\n border-radius: 12px !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n transition: background-color 0.15s ease, opacity 0.2s ease !important;\n min-height: auto !important;\n min-width: auto !important;\n line-height: 1 !important;\n }\n\n .simple-commenter-floating-close-btn:hover {\n background: #F7F7F7 !important;\n }\n\n .simple-commenter-floating-close-btn svg {\n width: 16px !important;\n height: 16px !important;\n stroke: #626262 !important;\n }\n\n .simple-commenter-floating-close-btn:hover svg {\n stroke: #515151 !important;\n }\n\n /* Header close button - override absolute positioning when in header */\n .simple-commenter-header-close-btn {\n position: relative !important;\n top: auto !important;\n right: auto !important;\n }\n\n /* ===== COMMENT BOX HEADER ACTIONS ===== */\n /* Container for header buttons (close, actions menu) */\n .simple-commenter-comment-box-header {\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n justify-content: space-between !important;\n padding: 8px 8px 4px 12px !important;\n gap: 4px !important;\n background: #FFFFFF !important;\n border-radius: 12px 12px 0 0 !important;\n }\n\n .simple-commenter-comment-box-header-left {\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n gap: 4px !important;\n flex: 1 !important;\n min-width: 0 !important;\n }\n\n .simple-commenter-comment-box-header-right {\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n gap: 2px !important;\n flex-shrink: 0 !important;\n }\n\n /* Actions dropdown (three dots) */\n .simple-commenter-actions-btn {\n cursor: pointer !important;\n padding: 4px !important;\n background: transparent !important;\n border: none !important;\n border-radius: 6px !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n transition: background-color 0.15s ease !important;\n min-height: auto !important;\n min-width: auto !important;\n }\n\n .simple-commenter-actions-btn:hover {\n background: #F7F7F7 !important;\n }\n\n .simple-commenter-actions-btn svg {\n width: 16px !important;\n height: 16px !important;\n fill: #626262 !important;\n }\n\n .simple-commenter-actions-btn:hover svg {\n fill: #515151 !important;\n }\n\n /* Actions dropdown menu */\n .simple-commenter-actions-menu {\n position: fixed !important;\n z-index: 2147483005 !important;\n background: #FFFFFF !important;\n border: 1px solid #E1E1E1 !important;\n border-radius: 8px !important;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;\n min-width: 140px !important;\n padding: 4px !important;\n opacity: 0 !important;\n pointer-events: none !important;\n transform: translateY(-4px) !important;\n transition: opacity 0.15s ease, transform 0.15s ease !important;\n }\n\n .simple-commenter-actions-menu.open {\n opacity: 1 !important;\n pointer-events: auto !important;\n transform: translateY(0) !important;\n }\n\n .simple-commenter-actions-option {\n display: flex !important;\n align-items: center !important;\n gap: 8px !important;\n padding: 8px 10px !important;\n cursor: pointer !important;\n border-radius: 6px !important;\n transition: background-color 0.1s ease !important;\n font-family: "Poppins", sans-serif !important;\n font-size: 13px !important;\n color: #515151 !important;\n border: none !important;\n background: transparent !important;\n width: 100% !important;\n text-align: left !important;\n }\n\n .simple-commenter-actions-option svg {\n width: 18px !important;\n height: 18px !important;\n flex-shrink: 0 !important;\n stroke: #626262 !important;\n }\n\n /* Hidden indicator button */\n .simple-commenter-hidden-btn {\n display: inline-flex !important;\n align-items: center !important;\n gap: 4px !important;\n padding: 4px 8px !important;\n background: #FFEEEE !important;\n border: 1px solid #FACDCD !important;\n border-radius: 6px !important;\n cursor: pointer !important;\n font-family: "Poppins", sans-serif !important;\n font-size: 13px !important;\n font-weight: 500 !important;\n line-height: 1.25em !important;\n color: #E66A6A !important;\n text-shadow: none !important;\n text-transform: none !important;\n letter-spacing: normal !important;\n margin: 0 !important;\n transition: background-color 0.15s ease !important;\n min-width: fit-content !important;\n min-height: auto !important;\n }\n\n .simple-commenter-hidden-btn:hover {\n background: #FACDCD !important;\n background-color: #FACDCD !important;\n }\n\n .simple-commenter-hidden-btn:focus {\n outline: none !important;\n outline-offset: 0 !important;\n }\n\n .simple-commenter-hidden-btn svg {\n width: 14px !important;\n height: 14px !important;\n stroke: #E66A6A !important;\n flex-shrink: 0 !important;\n }\n\n /* Reply input always visible style */\n .simple-commenter-reply-input-row {\n display: flex !important;\n flex-direction: column !important;\n gap: 8px !important;\n padding: 0 !important;\n margin-top: 12px !important;\n }\n\n /* Gray container for input, files, and buttons */\n .simple-commenter-reply-input-container {\n display: flex !important;\n flex-direction: column !important;\n background-color: #F7F7F7 !important;\n padding: 8px !important;\n border-radius: 8px !important;\n font-family: "Poppins", sans-serif !important;\n }\n\n .simple-commenter-reply-textarea-inline {\n flex: 1 !important;\n min-height: 28px !important;\n max-height: 100px !important;\n padding: 6px 8px !important;\n border: none !important;\n border-radius: 6px !important;\n font-family: "Poppins", sans-serif !important;\n font-size: 14px !important;\n color: #515151 !important;\n background: transparent !important;\n resize: none !important;\n outline: none !important;\n box-sizing: border-box !important;\n line-height: 1.4 !important;\n box-shadow: none !important;\n touch-action: manipulation !important; /* Prevent double-tap zoom */\n -webkit-text-size-adjust: 100% !important; /* Prevent text size adjustment */\n }\n\n .simple-commenter-reply-textarea-inline:focus {\n outline: none !important;\n border: none !important;\n box-shadow: none !important;\n }\n\n /* Contenteditable placeholder for reply */\n .simple-commenter-reply-textarea-inline:empty::before {\n content: attr(data-placeholder) !important;\n color: #9E9E9E !important;\n pointer-events: none !important;\n }\n\n .simple-commenter-reply-textarea-inline[contenteditable="true"] {\n white-space: pre-wrap !important;\n word-wrap: break-word !important;\n overflow-wrap: break-word !important;\n }\n\n .simple-commenter-reply-textarea-inline::placeholder {\n color: #9E9E9E !important;\n }\n\n @media (max-width: 768px) {\n .simple-commenter-reply-textarea-inline {\n font-size: 16px !important;\n }\n }\n\n /* Upload button inside the gray container */\n .simple-commenter-reply-upload-btn {\n flex-shrink: 0 !important;\n padding: 4px !important;\n background: transparent !important;\n border: none !important;\n border-radius: 6px !important;\n cursor: pointer !important;\n align-items: center !important;\n justify-content: center !important;\n transition: background-color 0.15s ease, opacity 0.2s ease !important;\n min-height: auto !important;\n min-width: auto !important;\n }\n\n .simple-commenter-reply-upload-btn:hover {\n background: #E1E1E1 !important;\n }\n\n .simple-commenter-reply-upload-btn svg {\n width: 22px !important;\n height: 22px !important;\n stroke: #626262 !important;\n }\n\n /* Reply submit button inside the gray container */\n .simple-commenter-reply-submit-btn {\n flex-shrink: 0 !important;\n padding: 6px 12px !important;\n font-size: 13px !important;\n min-height: auto !important;\n background: white !important;\n }\n\n /* Left section of header (move button + future tag feature) */\n .simple-commenter-input-header-left {\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n gap: 2px !important;\n flex-shrink: 0 !important;\n }\n\n /* Right section of header (priority dropdown + close button) */\n .simple-commenter-input-header-right {\n display: flex !important;\n flex-direction: row !important;\n align-items: center !important;\n gap: 6px !important;\n flex-shrink: 0 !important;\n }\n\n /* Section divider line */\n .simple-commenter-section-divider {\n width: 100% !important;\n height: 1px !important;\n background-color: #E1E1E1 !important;\n margin: 0 !important;\n padding: 0 !important;\n border: none !important;\n }\n\n /* ===== PRIORITY DROPDOWN ===== */\n .simple-commenter-priority-container {\n position: relative;\n display: inline-block;\n }\n\n .simple-commenter-priority-button {\n display: flex !important;\n align-items: center !important;\n gap: 4px !important;\n padding: 4px 6px 4px 10px !important;\n cursor: pointer !important;\n border-radius: 9999px !important;\n font-weight: 500 !important;\n font-family: "Poppins", sans-serif !important;\n font-size: 13px !important;\n line-height: 1.25em !important;\n border: none !important;\n text-shadow: none !important;\n text-transform: none !important;\n letter-spacing: normal !important;\n margin: 0 !important;\n transition: filter 0.15s ease !important;\n min-width: fit-content !important;\n min-height: auto !important;\n }\n\n .simple-commenter-priority-button:hover {\n filter: brightness(0.95) !important;\n }\n\n .simple-commenter-priority-button:focus {\n outline: 2px solid #62B0E8 !important;\n outline-offset: 2px !important;\n }\n\n .simple-commenter-priority-label {\n white-space: nowrap !important;\n color: inherit !important;\n }\n\n .simple-commenter-priority-chevron {\n width: 14px !important;\n height: 14px !important;\n flex-shrink: 0 !important;\n opacity: 0.5 !important;\n color: currentColor !important;\n }\n\n /* Priority dropdown menu */\n .simple-commenter-priority-menu {\n position: fixed !important;\n z-index: 2147483005 !important;\n min-width: 140px !important;\n background: #FFFFFF !important;\n border: 1px solid #E1E1E1 !important;\n border-radius: 8px !important;\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1) !important;\n padding: 4px !important;\n opacity: 0 !important;\n pointer-events: none !important;\n transform: translateY(-4px) !important;\n transition: opacity 0.15s ease, transform 0.15s ease !important;\n }\n\n .simple-commenter-priority-menu.open {\n opacity: 1 !important;\n pointer-events: auto !important;\n transform: translateY(0) !important;\n }\n\n .simple-commenter-priority-option {\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n padding: 8px 10px !important;\n cursor: pointer !important;\n border-radius: 6px !important;\n transition: background-color 0.1s ease !important;\n margin: 2px 0 !important;\n gap: 8px !important;\n font-family: "Poppins", sans-serif !important;\n font-size: 13px !important;\n color: #515151 !important;\n }\n\n .simple-commenter-priority-option:hover {\n background: #F7F7F7 !important;\n }\n\n .simple-commenter-priority-option.selected {\n background: #DCEEFB !important;\n }\n\n .simple-commenter-priority-option-label {\n flex: 1 !important;\n font-weight: 400 !important;\n }\n\n .simple-commenter-priority-option-dot {\n width: 8px !important;\n height: 8px !important;\n border-radius: 50% !important;\n flex-shrink: 0 !important;\n }\n\n /* ===== TITLE + TEXTAREA COMBINED SECTION ===== */\n .simple-commenter-input-body {\n display: flex !important;\n flex-direction: column !important;\n padding: 12px 12px 8px 12px !important;\n background: #FFFFFF !important;\n font-family: "Poppins", sans-serif !important;\n box-sizing: border-box !important;\n position: relative !important;\n border-radius: 12px 12px 0 0 !important;\n min-width: 0 !important;\n }\n\n /* When draw mode is active, body loses top border-radius */\n .simple-commenter-container.simple-commenter-draw-active .simple-commenter-input-body {\n border-radius: 0 !important;\n border-top: 1px solid #E1E1E1 !important;\n }\n\n .simple-commenter-title-input-new {\n width: 100% !important;\n padding: 0 !important;\n margin: 0 !important;\n border: none !important;\n outline: none !important;\n background: transparent !important;\n font-family: "Poppins", sans-serif !important;\n font-size: 14px !important;\n font-weight: 500 !important;\n color: #515151 !important;\n line-height: 1.5 !important;\n box-shadow: none !important;\n border-radius: 0 !important;\n min-height: auto !important;\n }\n\n .simple-commenter-title-input-new::placeholder {\n color: #9E9E9E !important;\n font-weight: 500 !important;\n }\n\n .simple-commenter-title-input-new:focus {\n outline: none !important;\n border: none !important;\n box-shadow: none !important;\n }\n\n .simple-commenter-textarea-new {\n width: 100% !important;\n min-height: 60px !important;\n max-height: 125px !important;\n padding: 0 !important;\n margin: 0 !important;\n border: none !important;\n outline: none !important;\n background: transparent !important;\n font-family: "Poppins", sans-serif !important;\n font-size: 14px !important;\n font-weight: 400 !important;\n color: #515151 !important;\n line-height: 1.5 !important;\n resize: none !important;\n box-shadow: none !important;\n border-radius: 0 !important;\n overflow-y: hidden !important;\n }\n\n .simple-commenter-textarea-new.has-overflow {\n overflow-y: auto !important;\n }\n\n .simple-commenter-textarea-new::placeholder {\n color: #9E9E9E !important;\n }\n\n /* Contenteditable placeholder (shown when div is empty) */\n .simple-commenter-textarea-new:empty::before {\n content: attr(data-placeholder) !important;\n color: #9E9E9E !important;\n pointer-events: none !important;\n }\n\n .simple-commenter-textarea-new[contenteditable="true"] {\n white-space: pre-wrap !important;\n word-wrap: break-word !important;\n word-break: break-word !important;\n overflow-wrap: anywhere !important;\n min-width: 0 !important;\n width: 100% !important;\n display: block !important;\n }\n\n .simple-commenter-textarea-new:focus {\n outline: none !important;\n border: none !important;\n box-shadow: none !important;\n }\n\n /* Title-textarea separator */\n .simple-commenter-input-separator {\n width: 100% !important;\n height: 1px !important;\n background-color: #F7F7F7 !important;\n margin-bottom: 8px !important;\n margin-top: 6px !important;\n padding: 0 !important;\n border: none !important;\n }\n\n /* User attribution (quote style) */\n .simple-commenter-attribution {\n font-family: "Poppins", sans-serif !important;\n font-size: 12px !important;\n font-weight: 400 !important;\n font-style: italic !important;\n color: #9E9E9E !important;\n text-align: right !important;\n margin: 0 !important;\n padding: 0 !important;\n line-height: 1.4 !important;\n }\n\n .simple-commenter-attribution-row {\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n margin-top: 8px !important;\n gap: 8px !important;\n }\n/* ============================================================\n SimpleCommenter Widget – Tagging / Mention Dropdown Styles\n ============================================================ */\n\n.simple-commenter-mention-dropdown {\n position: absolute !important;\n z-index: 2147483100 !important;\n background: #fff !important;\n border: 1px solid #e5e7eb !important;\n border-radius: 8px !important;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;\n max-height: 200px !important;\n overflow-y: auto !important;\n overflow-x: hidden !important;\n min-width: 180px !important;\n max-width: 280px !important;\n padding: 4px !important;\n margin: 0 !important;\n box-sizing: border-box !important;\n font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;\n line-height: 1.4 !important;\n}\n\n.simple-commenter-mention-item {\n display: flex !important;\n align-items: center !important;\n justify-content: space-between !important;\n gap: 8px !important;\n padding: 6px 10px !important;\n margin: 0 !important;\n border-radius: 6px !important;\n cursor: pointer !important;\n font-size: 13px !important;\n line-height: 1.4 !important;\n box-sizing: border-box !important;\n background: transparent !important;\n border: none !important;\n transition: background-color 0.1s ease !important;\n}\n\n.simple-commenter-mention-item:hover,\n.simple-commenter-mention-item-active {\n background: #f3f4f6 !important;\n}\n\n.simple-commenter-mention-label {\n font-weight: 500 !important;\n color: #111827 !important;\n font-size: 13px !important;\n line-height: 1.4 !important;\n margin: 0 !important;\n padding: 0 !important;\n overflow: hidden !important;\n text-overflow: ellipsis !important;\n white-space: nowrap !important;\n text-align: left !important;\n}\n\n.simple-commenter-mention-role {\n font-weight: 400 !important;\n color: #9ca3af !important;\n font-size: 11px !important;\n line-height: 1.4 !important;\n margin: 0 !important;\n padding: 0 !important;\n white-space: nowrap !important;\n flex-shrink: 0 !important;\n}\n\n.simple-commenter-mention-empty {\n padding: 8px 10px !important;\n color: #9ca3af !important;\n font-size: 13px !important;\n line-height: 1.4 !important;\n margin: 0 !important;\n text-align: center !important;\n}\n\n/* ---- Auth popover (unauthenticated user) ---- */\n\n.simple-commenter-mention-auth {\n display: flex !important;\n flex-direction: column !important;\n align-items: center !important;\n gap: 8px !important;\n padding: 12px !important;\n margin: 0 !important;\n box-sizing: border-box !important;\n}\n\n.simple-commenter-mention-auth-message {\n font-size: 13px !important;\n color: #374151 !important;\n line-height: 1.4 !important;\n margin: 0 !important;\n padding: 0 !important;\n text-align: center !important;\n}\n\n.simple-commenter-mention-login-btn,\n.simple-commenter-mention-register-btn {\n display: inline-flex !important;\n align-items: center !important;\n justify-content: center !important;\n padding: 6px 16px !important;\n margin: 0 !important;\n border: none !important;\n border-radius: 6px !important;\n font-size: 13px !important;\n font-weight: 500 !important;\n line-height: 1.4 !important;\n cursor: pointer !important;\n box-sizing: border-box !important;\n transition: background-color 0.15s ease !important;\n font-family: inherit !important;\n width: 100% !important;\n}\n\n.simple-commenter-mention-login-btn {\n background: #111827 !important;\n color: #fff !important;\n}\n\n.simple-commenter-mention-login-btn:hover {\n background: #374151 !important;\n}\n\n.simple-commenter-mention-register-btn {\n background: transparent !important;\n color: #111827 !important;\n border: 1px solid #111827 !important;\n}\n\n.simple-commenter-mention-register-btn:hover {\n background: #f3f4f6 !important;\n}\n\n/* ---- Inline mention span (inside contenteditable while typing) ---- */\n\n.simple-commenter-mention-inline {\n color: #374151 !important;\n font-weight: 500 !important;\n background: #e5e7eb !important;\n border-radius: 3px !important;\n padding: 0 2px !important;\n user-select: all !important;\n cursor: default !important;\n display: inline !important;\n font-size: inherit !important;\n font-family: inherit !important;\n line-height: inherit !important;\n white-space: normal !important;\n}\n\n/* ---- Rendered mention in displayed comment text ---- */\n\n.simple-commenter-mention {\n color: #374151 !important;\n font-weight: 500 !important;\n background: #e5e7eb !important;\n border-radius: 3px !important;\n padding: 0 2px !important;\n}\n\n/* ---- Manual attach button (pill badge style, matches priority dropdown) ---- */\n\n.simple-commenter-attach-users-btn {\n display: inline-flex !important;\n align-items: center !important;\n gap: 4px !important;\n padding: 4px 10px 4px 8px !important;\n margin: 0 !important;\n border: none !important;\n border-radius: 9999px !important;\n background: #f9fafb !important;\n color: #6b7280 !important;\n cursor: pointer !important;\n box-sizing: border-box !important;\n transition: filter 0.15s ease !important;\n flex-shrink: 0 !important;\n font-weight: 500 !important;\n font-family: "Poppins", sans-serif !important;\n font-size: 13px !important;\n line-height: 1.25em !important;\n text-shadow: none !important;\n text-transform: none !important;\n letter-spacing: normal !important;\n min-width: fit-content !important;\n min-height: auto !important;\n white-space: nowrap !important;\n}\n\n.simple-commenter-attach-users-btn:hover {\n filter: brightness(0.95) !important;\n}\n\n.simple-commenter-attach-users-btn svg {\n width: 14px !important;\n height: 14px !important;\n fill: none !important;\n stroke: currentColor !important;\n stroke-width: 1.5 !important;\n flex-shrink: 0 !important;\n}\n\n/* ---- Attached user badges ---- */\n\n.simple-commenter-attached-badges {\n display: flex !important;\n flex-wrap: wrap !important;\n gap: 4px !important;\n padding: 8px 0px !important;\n margin: 0 !important;\n box-sizing: border-box !important;\n line-height: 1 !important;\n}\n\n.simple-commenter-attached-badge {\n display: inline-flex !important;\n align-items: center !important;\n gap: 3px !important;\n padding: 2px 6px !important;\n margin: 0 !important;\n background: #f3f4f6 !important;\n color: #374151 !important;\n border-radius: 12px !important;\n font-size: 11px !important;\n font-weight: 500 !important;\n font-family: inherit !important;\n line-height: 1.4 !important;\n box-sizing: border-box !important;\n border: none !important;\n white-space: nowrap !important;\n}\n\n.simple-commenter-attached-badge-remove {\n display: inline-flex !important;\n align-items: center !important;\n justify-content: center !important;\n width: 14px !important;\n height: 14px !important;\n padding: 0 !important;\n margin: 0 0 0 1px !important;\n border: none !important;\n border-radius: 50% !important;\n background: transparent !important;\n color: #374151 !important;\n cursor: pointer !important;\n font-size: 12px !important;\n line-height: 1 !important;\n box-sizing: border-box !important;\n transition: background-color 0.1s ease, color 0.1s ease !important;\n font-family: inherit !important;\n}\n\n.simple-commenter-attached-badge-remove:hover {\n background: #e5e7eb !important;\n color: #111827 !important;\n}\n\n/* ---- Attach dropdown ---- */\n\n.simple-commenter-mention-item-locked {\n opacity: 0.6 !important;\n cursor: default !important;\n}\n'}(),checkSimpleCommenterActive:At,fetchFont:Ai,hasAdminBar:Qi,applyCustomTheme:Yr,checkSimpleCommenterHash:Mi,createClientModeSelector:an,createTrialEndedModal:Pi,isStateReady:yi,validateDomainAndReferrer:Fi,removeCommenterElements:Xr,removePulse:je}),function(e){gn={...gn,...e}}({onLoginRequested:()=>Do("login"),onRegisterRequested:()=>Do("login")})}(),qr("[comments.js] Script loaded"),window.addEventListener("popstate",()=>{jr(),qr("Clearing comments and refetching"),ei.clear(),no(),Or(),Di("URL_CHANGED",{url:window.location.href,slug:window.location.pathname||"/"})}),window.addEventListener("hashchange",()=>{window.location.hash.startsWith("#simple-comment=")&&Mi()}),Li){const e=()=>{Di("URL_CHANGED",{url:window.location.href,slug:window.location.pathname||"/"})};"complete"===document.readyState?e():window.addEventListener("load",e);const t=history.pushState;history.pushState=function(){t.apply(this,arguments),Di("URL_CHANGED",{url:window.location.href,slug:window.location.pathname||"/"})};const n=history.replaceState;history.replaceState=function(){n.apply(this,arguments),Di("URL_CHANGED",{url:window.location.href,slug:window.location.pathname||"/"})}}"complete"!==document.readyState?(document.addEventListener("DOMContentLoaded",()=>aa("DOMContentLoaded"),{once:!0}),window.addEventListener("load",()=>aa("window.load"),{once:!0})):aa("readyState:complete")}();