@hazem3500/komo 0.9.38 → 0.9.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{a as e,b as t,c as n,d as i}from"./chunk-ILX63XAJ.js";import{b as a}from"./chunk-DH22G2S5.js";import{a as o,b as r}from"./chunk-3276ZULN.js";import{a as s,b as l,c as d,d as c,e as p,f as u,g as h,h as m,i as g,m as f}from"./chunk-WGISPOJV.js";import{a as b,b as x,d as w,e as v,f as y,g as k,h as S,i as C,j as $,k as E,l as z,n as j,o as A,q as L,r as M}from"./chunk-PLSWBSSX.js";var T=e=>`komo:setup:${e.endpoint}:${e.onboarding?.code}`;function _(e){if(!e.onboarding?.inProject)return e;try{let t=JSON.parse(localStorage.getItem(T(e))||"null");if("string"==typeof t?.project&&t.project.startsWith("komo_")&&"string"==typeof t.repo)return{...e,project:t.project,repo:t.repo,onboarding:void 0}}catch{}return e}function R(e){let{scope:t="project",...n}=e;if("branch"===t&&!e.branch?.trim())throw new Error("Branch scope needs a build-time branch. Run komo sync before your build or set branch explicitly.");return{...n,endpoint:n.endpoint||"https://komo.offbr.co",repo:e.repo||e.project,branch:"branch"===t?e.branch:"shared"}}function q(e,t){let n=e.x<t/2?"right":"left",i=e.component;if(!i)return n;let{left:a,top:o,right:r,bottom:s}=i;if(r<=a||s<=o)return n;let l=(a+r)/2;return(Math.hypot(Math.max(a-e.x,0,e.x-r),Math.max(o-e.y,0,e.y-s))||Math.min(e.x-a,r-e.x,e.y-o,s-e.y))>100||e.x===l?n:e.x<l?"right":"left"}var P=(e,t)=>({value:e.style.getPropertyValue(t),priority:e.style.getPropertyPriority(t)}),W=(e,t,n)=>{e.style.setProperty(t,n.value,n.priority)};function O(e,t){let n=e.getAttribute("style"),i=e.style.cssText,a=t.map(t=>[t,P(e,t)]);return()=>{for(let[t,n]of a)W(e,t,n);e.style.cssText===i&&(null===n?(e.getAttribute("style"),e.removeAttribute("style")):e.setAttribute("style",n))}}var H=e=>e&&"none"!==e?e.match(/calc\(.*?\)|[^\s(]+/g)??[]:[],B=(e,t="0px 0px")=>[{scale:String(e),translate:t},{scale:String(e),translate:t}];function D(e,t){for(let n of e.getAnimations?.()??[])"transitionProperty"in n&&t.includes(String(n.transitionProperty))&&n.cancel()}var I=class{constructor(e,t,n=e=>e){this.confirmed=e,this.changed=t,this.normalize=n}confirmed;changed;normalize;jobs=[];aliases=new Map;revision=0;get busy(){return this.jobs.length>0}id=e=>this.aliases.get(e)??e;get value(){return this.normalize(this.jobs.reduce((e,t)=>t.change(e,this.id),this.confirmed),this.id)}replace(e,t=this.revision){return!this.busy&&t===this.revision&&(this.confirmed=e,this.changed(this.value),!0)}reset(e){let t=this.jobs;this.jobs=[],this.aliases.clear(),this.confirmed=e,this.revision++;for(let e of t)e.reject(new DOMException("Session changed","AbortError"));this.changed(this.value)}submit(e,t){let n=new Promise((n,i)=>{this.jobs.push({change:e,save:t,resolve:n,reject:i})});return this.revision++,this.changed(this.value),1===this.jobs.length&&this.drain(),n}async drain(){for(;this.jobs.length;){let e,t=this.jobs[0],n=!1;try{let e=await t.save(this.id);if(this.jobs[0]!==t)return;this.confirmed=t.change(this.confirmed,this.id);for(let[t,n]of Object.entries(e??{}))this.aliases.set(t,n);this.confirmed=this.normalize(this.confirmed,this.id)}catch(t){n=!0,e=t}if(this.jobs[0]!==t)return;this.jobs.shift(),this.revision++,this.changed(this.value),n?t.reject(e):t.resolve()}}};function F(e,t,n,i,a=600,o=34){let r=t+((n-e)*a-t*o)*i;return{value:e+r*i,velocity:r}}var Y=(e,t)=>Math.max(16,Math.min(e,t));function N(e,t,n,i,a){return{...e,x:"left"===e.edgeX?16:"right"===e.edgeX?Math.max(16,i-t-16):Y(e.x,i-t-16),y:"top"===e.edgeY?16:"bottom"===e.edgeY?Math.max(16,a-n-16):Y(e.y,a-n-16)}}function X(e,t,n,i,a){let o=N(e,t,n,i,a),r=i-t-16-o.x,s=a-n-16-o.y;return Math.min(o.x-16,r)<.05*i&&(o.edgeX=o.x-16<=r?"left":"right"),Math.min(o.y-16,s)<.05*a&&(o.edgeY=o.y-16<=s?"top":"bottom"),N(o,t,n,i,a)}function U(e,t,n,i,a,o,r=()=>!0,s=()=>!1){let l;t.addEventListener("pointerdown",d=>{let c=d.target;if(!r()||0!==d.button||c.closest("button,input,textarea,a,summary,[role=menu]")&&!s(c))return;l?.();let p=e.getBoundingClientRect(),u=!1,h=d.clientX,m=d.clientY,g=d.timeStamp,f=0,b=0,x=t=>{if(t.pointerId!==d.pointerId)return;if(!r())return void l?.();let i=t.clientX-d.clientX,o=t.clientY-d.clientY;if(!u&&Math.hypot(i,o)<5)return;if(!u){a?.();for(let t of e.getAnimations())t.cancel();e.dataset.dragging="true",u=!0}t.preventDefault();let s=t.timeStamp-g;s>0&&(f=.8*(t.clientX-h)/s+.2*f,b=.8*(t.clientY-m)/s+.2*b),h=t.clientX,m=t.clientY,g=t.timeStamp;let c=N({x:p.left+i,y:p.top+o},p.width,p.height,document.documentElement.clientWidth,window.innerHeight);n(c);let x=X(c,p.width,p.height,document.documentElement.clientWidth,window.innerHeight);e.dataset.snapX=x.edgeX??"",e.dataset.snapY=x.edgeY??""},w=i=>{if(i.pointerId!==d.pointerId)return;if(!r())return void l?.();if(l?.(),!u)return;let a=e.getBoundingClientRect(),s="pointercancel"!==i.type&&i.timeStamp-g<80?120:0;n(X({x:a.left+f*s,y:a.top+b*s},a.width,a.height,document.documentElement.clientWidth,window.innerHeight)),o?.();let c=e.getBoundingClientRect();matchMedia("(prefers-reduced-motion: reduce)").matches||e.animate([{translate:`${a.left-c.left}px ${a.top-c.top}px`},{translate:"0px 0px"}],{duration:320,easing:"cubic-bezier(.22,1,.36,1)"}),t.addEventListener("click",e=>{e.preventDefault(),e.stopImmediatePropagation()},{capture:!0,once:!0})};l=()=>{window.removeEventListener("pointermove",x,!0),window.removeEventListener("pointerup",w,!0),window.removeEventListener("pointercancel",w,!0),delete e.dataset.dragging,delete e.dataset.snapX,delete e.dataset.snapY,i.removeEventListener("abort",l)},i.addEventListener("abort",l,{once:!0}),window.addEventListener("pointermove",x,{capture:!0,passive:!1}),window.addEventListener("pointerup",w,!0),window.addEventListener("pointercancel",w,!0)},{signal:i})}var V=16,K=240,J=200,G=(e,t,n)=>Math.min(Math.max(e,t),Math.max(t,n));function Z(e,t,n,i,a,o){let r=t.left+t.width,s=t.top+t.height,l=Math.min(o-32,680),d=t.left,c=t.top,p=t.width,u=t.height;return e.includes("e")&&(p=G(t.width+n,K,a-t.left-V)),e.includes("w")&&(p=G(t.width-n,K,r-V),d=r-p),e.includes("s")&&(u=G(t.height+i,J,Math.min(o-t.top-V,l))),e.includes("n")&&(u=G(t.height-i,J,Math.min(s-V,l)),c=s-u),{left:d,top:c,width:p,height:u}}var Q=/^(?:\p{RI}\p{RI}|[#*0-9]️?⃣|\p{Extended_Pictographic}[️\p{Emoji_Modifier}]?(?:‍\p{Extended_Pictographic}[️\p{Emoji_Modifier}]?)*|\u{1F3F4}[\u{E0020}-\u{E007E}]+\u{E007F})$/u,ee=e=>"string"==typeof e&&e.length<=128&&Q.test(e),te=["👍","❤️","🎉","👀","✅","🤔"],ne=new Map;function ie(e){if(ne.has(e))return ne.get(e);let t={counts:{}};try{let n=JSON.parse(localStorage.getItem(e)??"null");for(let[e,i]of Object.entries(n?.counts??{}).slice(0,200))ee(e)&&"number"==typeof i&&Number.isFinite(i)&&i>0&&(t.counts[e]=i);ee(n?.recent)&&(t.recent=n.recent)}catch{}return ne.set(e,t),t}function ae(e,t){let n=/\[([^\]\n]+)\]\((https?:\/\/[^\s)]+)\)|https?:\/\/[^\s<>]+/gi,i=0;for(let a of t.matchAll(n)){let n=a.index??0;n>i&&e.append(document.createTextNode(t.slice(i,n)));let o=void 0!==a[1],r=o?a[2]:a[0],{url:s,trailing:l}=re(r),d=oe(s);if(d){if(o){let t=document.createElement("a");t.href=d,t.target="_blank",t.rel="noopener noreferrer",t.textContent=a[1],e.append(t)}else{let t=document.createElement("a");t.href=d,t.target="_blank",t.rel="noopener noreferrer",t.textContent=s,e.append(t)}l&&e.append(document.createTextNode(l))}else e.append(document.createTextNode(a[0]));i=n+a[0].length}i<t.length&&e.append(document.createTextNode(t.slice(i)))}function oe(e){try{let t=new URL(e);return"http:"!==t.protocol&&"https:"!==t.protocol||t.username||t.password?null:t.href}catch{return null}}function re(e){let t=e.length;for(;t>0&&/[.,!?;:]$/.test(e.slice(0,t));)t--;for(let[n,i]of[["(",")"],["[","]"],["{","}"]])for(;t>0&&e[t-1]===i;){let a=e.slice(0,t),o=[...a].filter(e=>e===n).length;if([...a].filter(e=>e===i).length<=o)break;t--}return{url:e.slice(0,t),trailing:e.slice(t)}}var se=(e,t)=>e<=760||e<=1e3&&t<=500;function le(e,t,n,i=t,a=!1,o=!1,r=!0){let s=n&&!se(e,t),l=n&&!s,d=s?404:0,c=s&&r?o?Math.min(.9,(e-d-24)/e):.9:1,p=l?a?0:.18*t:t,u=l?i:s?r?t*(o?c:.9):Math.max(1,t-48):t,h=s?o||!r?24:e-d-e*c:0,m=s?(t-u)/2:0;return{desktop:s,mobile:l,framed:s,sheetTop:p,bottom:t-m-u,scale:c,left:h,top:m,right:d,visibleTop:Math.max(0,m),visibleHeight:Math.max(0,u+Math.min(0,m)),visibleLeft:Math.max(0,h),visibleWidth:e-d-Math.max(0,h),height:u,dockCenter:s?e-190:e/2}}function de(e){let t=e instanceof n?e.code:void 0;return"site_not_approved"===t?{kind:"site",title:"Comments aren’t on for this site",detail:"Own this site? Turn comments on. Otherwise, send this link to the owner."}:"offline"===t?{kind:"offline",title:"You’re offline",detail:"Comments will come back when you do."}:"unreachable"===t?{kind:"unreachable",title:"Can’t connect",detail:"You might be offline, or this site isn’t set up for comments yet."}:{kind:"server",title:"Comments didn’t load",detail:e instanceof Error?e.message:"Something went wrong."}}var ce="input,textarea,select,script,style,[contenteditable],[hidden],[aria-hidden=true]",pe=(e,t=160)=>e.replace(/\s+/g," ").trim().slice(0,t);function ue(e){let t,n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),i="";for(;(t=n.nextNode())&&(t.parentElement?.closest(ce)||(i+=t.textContent+" "),!(i.length>320)););return pe(i)}function he(e){let t=document.querySelectorAll(e);return 1===t.length?t[0]:null}var me=/^radix-|^:r|_r_|«r/;function ge(e,t){for(let n of["data-comment-anchor","id","data-testid","data-test","data-cy"]){let i=e.getAttribute(n);if(!i||i.length>500||"id"===n&&me.test(i))continue;let a="id"===n?`#${CSS.escape(i)}`:`[${n}="${CSS.escape(i)}"]`;if(a.length<=2e3&&(!t||a===t)&&he(a)===e)return a}}function fe(e){let t=[],n=e;for(;n&&n!==document.body&&n!==document.documentElement;){let e=ge(n);if(e){t.unshift(e);break}let i=n.parentElement?[...n.parentElement.children].filter(e=>e.tagName===n.tagName):[],a=n.tagName.toLowerCase();t.unshift(i.length>1?`${a}:nth-of-type(${i.indexOf(n)+1})`:a),n=n.parentElement}return n===document.body?t.unshift("body"):n===document.documentElement&&t.unshift("html"),t.join(" > ")}function be(e){return pe(e.getAttribute("aria-label")||(e.getAttribute("aria-labelledby")||"").split(/\s+/).map(e=>{let t=e&&document.getElementById(e);return t?ue(t):""}).join(" ")||e.getAttribute("alt")||e.labels&&[...e.labels].map(ue).join(" ")||"")}function xe(e){let t=e.parentElement?.closest("li,article,tr,[data-comment-anchor]")||e.parentElement;return t&&t!==document.body&&t!==document.documentElement?ue(t):""}var we=e=>e.matches("dialog,[role=dialog],[role=alertdialog],[popover]")||"fixed"===getComputedStyle(e).position;function ve(e){let t,n=we(e)?null:e.parentElement;for(;n&&n!==document.body&&(t=ge(n),!t);){if(we(n)){let e=fe(n);e.length<=2e3&&(t=e);break}n=n.parentElement}let i=window.getSelection(),a=i?.rangeCount?i.getRangeAt(0):null,o=getComputedStyle(e);return{tag:e.tagName.length<=32?e.tagName.toLowerCase():void 0,role:pe(e.getAttribute("role")||"",80)||void 0,label:be(e)||void 0,nearby:xe(e)||void 0,classes:pe(e.getAttribute("class")||"",200)||void 0,styles:["display","width","height","font-size","color","padding","gap"].map(e=>`${e}: ${o.getPropertyValue(e)}`).join("; ").slice(0,500),selectedText:a&&e.contains(a.commonAncestorContainer)&&!e.closest(ce)&&!e.querySelector(ce)&&pe(i.toString(),200)||void 0,scope:t}}function ye(e,t){let n=t.context;return!!(t.text||n?.label||n?.nearby)&&(!t.text||(n?ue(e)===pe(t.text):pe(e.textContent||"").startsWith(pe(t.text))))&&(!n||(!n.tag||e.tagName.toLowerCase()===n.tag)&&(!n.role||e.getAttribute("role")===n.role)&&(!n.label||be(e)===n.label)&&(!n.nearby||xe(e)===n.nearby))}function ke(e,t){if(e===t||e&&t&&(e.startsWith(t)||t.startsWith(e)))return!0;let n=e.toLowerCase().split(" ").filter(Boolean),i=new Set(t.toLowerCase().split(" ").filter(Boolean));return 2*n.filter(e=>i.has(e)).length/(n.length+i.size||1)>=.6}function Se(e,t,n){let i=[];for(let n=e;n&&n!==document.body&&n!==document.documentElement&&((n!==t||n===e)&&i.push(n),n!==t&&!we(n));n=n.parentElement);let a=n?.(e);return a?.isConnected&&i.includes(a)?a:i.find(e=>e.hasAttribute("data-comment-anchor")&&ge(e))||(i.slice(1).find(e=>e.matches("article,li,tr,[role=listitem],[role=row],[role=button],[role=link]")&&ge(e))??e)}function Ce(e,t,n,i){let a=e,o=Math.min(t.x,n.x),r=Math.min(t.y,n.y),s=Math.max(t.x,n.x),l=Math.max(t.y,n.y);for(;a.parentElement&&a!==document.body;){let e=a.getBoundingClientRect();if(o>=e.left&&s<=e.right&&r>=e.top&&l<=e.bottom&&e.width&&e.height)break;a=a.parentElement}let d=a.getBoundingClientRect(),c=e=>Math.max(0,Math.min(1,e)),p=s-o>6||l-r>6,u=c((o-d.left)/(d.width||1)),h=c((r-d.top)/(d.height||1));return{selector:fe(a),text:ue(a),context:ve(a),x:u,y:h,width:p?Math.min(1-u,(s-o)/(d.width||1)):0,height:p?Math.min(1-h,(l-r)/(d.height||1)):0,pageX:o+window.scrollX,pageY:r+window.scrollY,viewportWidth:window.innerWidth,source:("function"==typeof i?i(a):i)??a.closest("[data-comment-source]")?.getAttribute("data-comment-source")??void 0}}var $e=(e,t,n)=>[...n?e.querySelectorAll(t.context.tag):e.children].filter(e=>ye(e,t));function Ee(e,t,n=$e){let i=null;try{let a=e.selector?he(e.selector):document.body;if(i=t?.isConnected&&t===a?t:a,i&&ge(i,e.selector))return i;if(i&&!ye(i,e))return ze(e,n)??(function(e,t){let n=t.context;return!!n?.tag&&e.tagName.toLowerCase()===n.tag&&(!n.role||e.getAttribute("role")===n.role)&&(!n.classes||pe(e.getAttribute("class")||"",200)===n.classes)&&ke(pe(t.text),ue(e))&&(!n.nearby||ke(n.nearby,xe(e)))}(i,e)?i:null);if(i||!e.context?.scope)return i&&function(e,t,n){let i=t.context;if(!i?.tag||!(t.text||i.label||i.nearby))return e;let a=i.scope?he(i.scope):null,o=a?n(a,t,!0):e.parentElement?n(e.parentElement,t,!1):[];return 1===o.length?o[0]:o.includes(e)&&o.every(t=>t.contains(e)||e.contains(t))?e:null}(i,e,n);i=ze(e,n)}catch{i=null}return i}function ze(e,t){let n=e.context;if(!n?.tag||!n.scope||!(e.text||n.label||n.nearby))return null;let i=he(n.scope),a=i?t(i,e,!0):[];return 1===a.length?a[0]:null}function je(e,t){return Ae(e,Ee(e,t))}function Ae(e,t){if(t){let n=t.getBoundingClientRect();if(n.width&&n.height)return{x:n.left+n.width*e.x,y:n.top+n.height*e.y,width:n.width*e.width,height:n.height*e.height,attached:!0,component:{left:n.left,top:n.top,right:n.right,bottom:n.bottom}}}return{x:e.pageX*window.innerWidth/e.viewportWidth-window.scrollX,y:e.pageY-window.scrollY,width:0,height:0,attached:!1}}var Le={comment:"C",browse:"V",design:"D",restore:"Shift+K",comments:"L"},Me=["Ctrl","Alt","Shift","Meta"],Te=new Set(["escape","tab"]);function _e(e,t){let n=t.split("+").map(e=>e.trim());n.length>1&&""===n.at(-1)&&""===n.at(-2)&&n.splice(-2,2,"+");let i=n.pop()??"",a=new Set;for(let i of n){let n=Me.find(e=>e.toLowerCase()===i.toLowerCase());if(!n||a.has(n))throw new Error(`Invalid komo shortcut for ${e}: "${t}".`);a.add(n)}if(!i||Te.has(i.toLowerCase()))throw new Error(`Invalid komo shortcut for ${e}: "${t}".`);let o=1===i.length?i.toUpperCase():i;return{key:i.toLowerCase(),shift:a.has("Shift"),alt:a.has("Alt"),ctrl:a.has("Ctrl"),meta:a.has("Meta"),label:[...Me.filter(e=>a.has(e)),o].join("+")}}function Re(e,t){if(!t||e.shiftKey!==t.shift||e.altKey!==t.alt||e.ctrlKey!==t.ctrl||e.metaKey!==t.meta)return!1;let{key:n}=t;if(e.key.toLowerCase()===n)return!0;let i=/^[a-z]$/.test(n)?`Key${n.toUpperCase()}`:/^\d$/.test(n)&&`Digit${n}`;return e.code===i&&(t.shift||t.alt||t.ctrl||t.meta||!/^[a-z\d]$/i.test(e.key))}function qe(e,t){return t?`${e} · ${t.label}`:e}var Pe=new WeakMap;function We(e){return Oe(R(e))}function Oe(R){let Y={destroy(){},open(){},close(){},comment(){},async refresh(){}};if(typeof document>"u"||!1===R.enabled)return Y;if(!(R.endpoint&&R.repo&&R.branch&&R.project))throw new Error("Comments require endpoint, repo, branch, and project.");if(R.pageRoot&&(R.pageRoot===document.body||!document.body.contains(R.pageRoot)))throw new Error("pageRoot must be mounted inside body.");let X=new URL(R.endpoint);if(X.username||X.password||"https:"!==X.protocol&&("http:"!==X.protocol||!["localhost","127.0.0.1","[::1]"].includes(X.hostname)))throw new Error("Use an HTTPS API endpoint without credentials; HTTP is allowed on localhost.");A(R.avatar);let G=function(e={}){let t={},n=new Map;for(let i of Object.keys(Le)){let a=e[i]??Le[i];if(!1===a){t[i]=null;continue}if("string"!=typeof a)throw new Error(`Invalid komo shortcut for ${i}.`);let o=_e(i,a),r=n.get(o.label.toLowerCase());if(r)throw new Error(`komo shortcuts for ${r} and ${i} both use ${o.label}.`);n.set(o.label.toLowerCase(),i),t[i]=o}return t}(R.shortcuts),Q=!1!==R.features?.designMode,ne=!1!==R.features?.tags,oe=JSON.stringify([X.href,R.project,R.repo,R.branch]),re=Pe.get(document);if(re){if(re.scope!==oe)throw new Error("Destroy the current komo instance before changing projects or branches.");return re.controller}R={..._(R)};let ce=[...document.body.childNodes].filter(e=>e instanceof Element?!e.matches("script,style,link,meta,template,noscript"):3===e.nodeType&&e.textContent?.trim()),he=R.pageRoot??(1===ce.length&&ce[0]instanceof HTMLElement?ce[0]:document.body),me="contents"===getComputedStyle(he).display?document.body:he,ge=me!==document.body,fe=`branch-comments:sidebar-mode:${R.project}:${R.repo}`,we=(()=>{if(!ge)return"edge";try{let e=localStorage.getItem(fe);if("edge"===e||"background"===e)return e}catch{}return"background"===R.sidebar?"background":"edge"})(),ve=se(window.innerWidth,window.innerHeight),ye=!ve&&"edge"===we,ke=!1,$e=!1,ze=!1,Me=["localhost","127.0.0.1","[::1]"].includes(location.hostname),Te=R.branch,We=`branch-comments:channel:${R.project}:${R.repo}`,Oe="local";try{"shared"===localStorage.getItem(We)&&(Oe="shared")}catch{}Me&&"local"===Oe&&(R={...R,branch:"local"});let He=new i(R),Be=new AbortController,De=!1,Ie=!!R.onboarding,Fe=!1,Ye=!1,Ne=!1===R.showToolbar,Xe=!1===R.showToolbar,Ue=!1,Ve=!1,Ke=0,Je=!!R.onboarding,Ge=!1,Ze=!1,Qe=!!R.onboarding,et=0,tt=null,nt=[],it=null,at=null,ot=null,rt=new Set;function st(){ot&&!ot.opened&&rt.add(ot.id),ot=null}function lt(e){return e.page===na()&&!(ot?.id===e.id&&(ot.pending||ot.rejected))}let dt=null,ct=null,pt=new I([],e=>{if(!De){if(it){let e=pt.id(it);e!==it&&(jn.has(it)&&(jn.set(e,jn.get(it)),jn.delete(it)),Ut===it&&(Ut=e),it=e)}wn&&(wn=pt.id(wn)),nt=e,Qa="",ao(),ko(),Za(),Je||_o()}},(e,t)=>e.map(e=>({...e,id:t(e.id),comments:e.comments.map(e=>({...e,id:t(e.id)}))})));function ut(e,t){return(n,i)=>n.flatMap(n=>{if(n.id!==i(e))return[n];let a=t(n);return a?[a]:[]})}async function ht(e,t,n){let i=He,a=He.token,o=et,r=()=>De||He!==i||o!==et||He.token!==a;try{await pt.submit(e,async e=>{if(r())throw new DOMException("Session changed","AbortError");return t(e)})}catch(e){throw r()?new DOMException("Session changed","AbortError"):(n?.(),sr(),new Error(`Couldn't save. Your change was reverted. ${e instanceof Error?e.message:"Try again."}`,{cause:e}))}if(r())throw new DOMException("Session changed","AbortError");pt.busy||ha(ya)}let mt,gt="open",ft="",bt=!0,xt="",wt="Connecting",vt="",yt=null,kt=0,St=0,Ct=null,$t=Promise.resolve(),Et=null;function zt(){clearTimeout(kt);let e=Et;return Et=null,e&&($t=$t.catch(()=>{}).then(async()=>{if(He.token===e.token)try{let t=await He.request("me","PATCH",{name:e.name,avatarUrl:e.avatarUrl,accentColor:e.accentColor});if(He.token!==e.token)return;Ct=t.user,St===e.revision&&He.save({token:e.token,user:t.user}),De||(Za(),ha(ya))}catch(t){throw He.token===e.token&&St===e.revision&&(He.user=Ct,yt=null,sr()),new Error(`Couldn't save your profile. ${t instanceof Error?t.message:"Try again."}`,{cause:t})}})),$t}function jt(e,t=!1){!He.token||!e.name.trim()||((!Ct||Ct.id!==He.user?.id)&&(Ct=He.user?{...He.user}:null),Et={...e,name:e.name.trim(),token:He.token,revision:++St},He.user&&(He.user={...He.user,...e,name:e.name.trim()}),Za(),clearTimeout(kt),t?ha(zt):kt=window.setTimeout(()=>ha(zt),500))}function At(){let e=z("Continue with Google",()=>ha(()=>Eo("google")),"google-signin secondary");return e.prepend(M()),e}let Lt,Mt,Tt="",_t=null,Rt=!1,qt=!1,Pt=!1,Wt=R.onboarding?.sites?.filter(e=>e.startsWith("https://")&&e!==location.origin).join("\n")??"",Ot=!1,Ht=null,Bt=null,Dt=0,It=!1,Ft=!1,Yt=!1,Nt=null,Xt=[],Ut=null,Vt=null,Kt=new Map,Jt=function(e){let t=null,n=null,i=0,a=0,o=0,r=0,s=0,l=0,d=0,c=0,p=0,u=0,h=1,m=matchMedia("(prefers-reduced-motion: reduce)"),g=()=>{n&&(n.style.translate=`${o-d}px ${r-c}px`,n.style.scale=`${1-p*h} ${1-p*(1-h)}`)},f=()=>{cancelAnimationFrame(i),i=0,s=l=p=u=0,n&&(n.style.translate="",n.style.scale="",n.style.willChange="")},b=t=>{if(!n?.isConnected||m.matches)return void f();let x=Math.min((t-a)/1e3,.032);a=t;let w=Math.max(1,Math.ceil(x/.008));for(let e=0;e<w;e++){let e=x/w,t=F(o,s,d,e),n=F(r,l,c,e);o=t.value,s=t.velocity,r=n.value,l=n.velocity;let i=Math.hypot(s,l);i>30&&(h=Math.abs(s)/(Math.abs(s)+Math.abs(l)));let a=F(p,u,Math.min(.035,i/24e3),e,220,15);p=Math.max(-.012,Math.min(.04,a.value)),u=a.velocity}if(g(),e(),Math.hypot(o-d,r-c)<.1&&Math.hypot(s,l)<1&&Math.abs(p)<2e-4&&Math.abs(u)<.002)return o=d,r=c,f(),void e();i=requestAnimationFrame(b)};return{place(e,s,l,p,u){if(t!==e&&(f(),t=e,o=l,r=p),n=s,d=l,c=p,s.style.left=`${l}px`,s.style.top=`${p}px`,m.matches||!u&&!i)return o=l,r=p,void f();g(),s.style.willChange="translate, scale",i||(a=performance.now(),i=requestAnimationFrame(b))},stop:f}}(()=>pa()),Gt=null,Zt=`branch-comments:drawer:${R.project}:${R.repo}`;try{let e=JSON.parse(localStorage.getItem(Zt)??"null");e&&Number.isFinite(e.x)&&Number.isFinite(e.y)&&(Mt={x:e.x,y:e.y,edgeX:["left","right"].includes(e.edgeX)?e.edgeX:void 0,edgeY:["top","bottom"].includes(e.edgeY)?e.edgeY:void 0},Lt=Mt)}catch{}let Qt,en,tn=`branch-comments:sidebar:${R.project}:${R.repo}`,nn=!1,an=380,on=null;try{let e=JSON.parse(localStorage.getItem(tn)??"null");Number.isFinite(e?.width)&&(an=e.width),Number.isFinite(e?.height)&&(on=e.height),e&&Number.isFinite(e.x)&&Number.isFinite(e.y)&&(Qt={x:e.x,y:e.y,edgeX:["left","right"].includes(e.edgeX)?e.edgeX:void 0,edgeY:["top","bottom"].includes(e.edgeY)?e.edgeY:void 0},en=Qt)}catch{}let rn,sn,ln,dn,cn=new Map,pn=/^Proposed .+ \(preview only\)$/m,un=()=>rn??=import("./design-comment-BYUC2WXI.js").then(e=>(ln=e,sn=e.summarizeDesignComment,De||(Qa="",ao(!0)),e)),hn=e=>t=>{let n=Ee(e),i=[];try{t&&(i=[...document.querySelectorAll(t)])}catch{}return 1!==i.length||n&&i.includes(n)?n??i[0]??null:i[0]},mn=e=>pn.test(e)?sn?.(e)??(un(),"Design change"):e,gn="",fn="",bn=[],xn="",wn=null,vn="",yn=null,kn=!1,Sn=na(),Cn=0,$n=0,En=0,zn=0,jn=new Map,An=$("div");An.dataset.branchComments="",An.dataset.sidebar=ve?"mobile":ye?"edge":"background",Object.assign(An.style,{position:"fixed",inset:"0",pointerEvents:"none",zIndex:"2147483647",isolation:"isolate"});let Ln=An.attachShadow({mode:"open"}),Mn=$("style");Mn.textContent='.project-management[hidden],.project-management [hidden]{display:none!important}.project-management .account-sites-summary{justify-content:space-between}.project-management .account-usage-status{padding:0 16px}.project-management summary{cursor:pointer}.project-member{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;overflow-wrap:anywhere}.project-danger{display:grid;gap:10px;font-size:12px}.project-danger p{color:#999;line-height:1.5}.project-danger>button{display:block;width:100%;margin-top:12px}.project-help{color:var(--accent,#c8b5f4);font-size:12px}.project-management .destructive{color:#fda29b}.cleanup-confirm{position:fixed;margin:0;width:min(296px,calc(100vw - 24px));box-sizing:border-box;padding:16px;border:0;border-radius:16px;background:#242424;color:#eee;font:13px/1.5 ui-sans-serif,system-ui,sans-serif;box-shadow:inset 0 0 0 1px #ffffff18,0 12px 40px #0005}.cleanup-confirm p{margin:8px 0 16px;color:#aaa}.cleanup-actions{display:flex;justify-content:flex-end;gap:8px}.cleanup-actions button{border:0;border-radius:9px;padding:8px 10px;background:#ffffff0b;color:#ddd;font:inherit;cursor:pointer}.cleanup-actions button:hover{background:#ffffff15}.cleanup-actions button:focus-visible{outline:2px solid var(--accent,#c8b5f4);outline-offset:2px}.cleanup-actions .destructive,.panel-head .copy-page-prompt.destructive{color:#fda29b}.copy-page-prompt:disabled{opacity:.4;cursor:default}:host{all:initial;line-height:1.45;color-scheme:light}*{box-sizing:border-box}button,input,textarea,select{font:inherit;color:inherit}button{appearance:none;border:0;cursor:pointer;background:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid #f48120;outline-offset:3px}input,textarea,select{border:0;outline:none;background:#f4f3f0;border-radius:8px;padding:10px 12px;box-shadow:inset 0 0 0 1px #e4e2dd}input:focus,textarea:focus,select:focus{box-shadow:inset 0 0 0 2px #f48120}textarea{resize:vertical;min-height:85px;max-height:260px;width:100%;line-height:1.55;scrollbar-width:none}textarea::-webkit-scrollbar{display:none}input{min-width:0;width:100%}p{margin:0}h2,h3{margin:0;font-size:16px;font-weight:600}a{color:inherit}svg{width:18px;height:18px;flex-shrink:0}small{font-size:11px;color:#77766f}.toolbar{position:fixed;bottom:24px;left:50%;transform:translate(-50%);pointer-events:auto;z-index:5;transition:opacity .15s ease}:host(.design-active) .toolbar{opacity:0;pointer-events:none;transition-delay:.4s}:host(.design-active[data-sidebar="mobile"]) .toolbar{transition-delay:.32s}@media(prefers-reduced-motion:reduce){:host(.design-active) .toolbar,:host(.design-active[data-sidebar="mobile"]) .toolbar{transition-duration:0ms;transition-delay:0ms}}.catch{position:fixed;inset:0;pointer-events:auto;cursor:crosshair;touch-action:none;z-index:0}.selection,.area{position:fixed;pointer-events:none}.selection{z-index:1}.pin{position:fixed;pointer-events:auto;z-index:2}.pin:hover,.pin.hot,.pin.active{background:#252522;color:#fff}.pin.detached{opacity:.65}.panel{position:fixed;right:0;top:0;width:380px;height:100%;pointer-events:auto;background:#faf9f6;box-shadow:-1px 0 #dad8d1,-15px 0 40px #00000008;display:flex;flex-direction:column;z-index:4}.panel[hidden]{display:none!important}.panel-head{display:grid}.row{display:flex;align-items:center;gap:8px}.between{justify-content:space-between}.muted{color:#77766f}.icon{width:30px;height:30px;border-radius:7px}.icon:hover{background:#ebe9e3}.list{overflow:auto;flex:1;overscroll-behavior:contain;padding:0 10px 100px}.thread-card{display:block;width:100%;text-align:left;position:relative}.thread-card:after{content:"";position:absolute;bottom:0;height:1px;background:#e8e5de}.thread-card:hover{background:#f0eee8}.thread-item{position:relative}.list[data-long]>.thread-item{content-visibility:auto;contain-intrinsic-block-size:auto 160px}.thread-item>.card-resolve{position:absolute;top:8px;right:8px;display:grid;place-items:center;opacity:0;filter:blur(2px);transition:opacity .15s cubic-bezier(.22,1,.36,1),filter .15s cubic-bezier(.22,1,.36,1),transform .15s cubic-bezier(.22,1,.36,1)}.thread-item:hover>.card-resolve,.thread-item>.card-resolve:focus-visible{opacity:1;filter:none}.thread-item>.card-resolve:active{transform:scale(.98)}@media(hover:none){.thread-item>.card-resolve{opacity:1;filter:none}}@media(prefers-reduced-motion:reduce){.thread-item>.card-resolve{transition:none}}.thread-card.active{background:#ede9df}.thread-card .preview{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.meta{display:flex;gap:8px;align-items:center;font-size:11px;color:#77766f}.tag-list{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent, #bda6ef)}.page{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:215px}.empty{text-align:center;color:#77766f;display:grid;justify-items:center}.empty svg{width:32px;height:32px;color:#bbb6aa}.empty strong{color:#34332e}.empty p{max-width:250px;line-height:1.6}.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.dialog{position:fixed;max-width:calc(100vw - 24px);max-height:calc(100vh - 110px);display:flex;flex-direction:column;pointer-events:auto;z-index:6}.dialog-head{flex-shrink:0}.dialog-head h3{font-size:13px}.messages{overflow:auto;overscroll-behavior:contain}.message{position:relative}.message+.message:before{content:"";position:absolute;inset:0 0 auto;height:1px}.author{font-weight:600;font-size:12px}.avatar{width:26px;height:26px;border-radius:50%;display:inline-grid;place-items:center;font-size:10px}.message-text{white-space:pre-wrap;overflow-wrap:anywhere}.actions{display:flex;align-items:center;flex-wrap:wrap}.reaction{min-height:25px}.reaction-picker{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0}.composer{display:grid}.primary{background:#282822;color:#fff;padding:8px 12px;border-radius:8px;font-size:12px;min-height:34px}.primary:hover{background:#4a463a}.secondary{padding:8px 12px;border-radius:8px;background:#eeece5;font-size:12px;min-height:34px}.secondary:hover{background:#e4e0d6}.notice{font-size:11px;color:#777268;line-height:1.5}.thread-navigation{margin:0 16px 12px;padding:10px 12px;border:1px solid #8883;border-radius:8px;color:#aaa}.thread-navigation p{margin:0 0 4px}.thread-destination{color:inherit;text-underline-offset:3px;overflow-wrap:anywhere}.error{background:#fff0e5;color:#9c4619;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.5}.toast{position:fixed;bottom:94px;left:50%;transform:translate(-50%);padding:10px 16px;background:#242422;color:#fff;border-radius:9px;max-width:360px;pointer-events:auto;z-index:10;font-size:12px;box-shadow:0 4px 20px #0002}.account{display:grid}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:760px){.toolbar{max-width:calc(100vw - 20px)}}.morphing-menu{--mm-surface: light-dark(#0d0d0d, #fff);--mm-ink: light-dark(rgb(255 255 255 / 90%), rgb(13 13 13 / 90%));--mm-hover: light-dark(rgb(255 255 255 / 6%), rgb(0 0 0 / 4%));--mm-button: 44px;--mm-inset: 4px;--mm-bar-height: calc(var(--mm-button) + 2 * var(--mm-inset));--mm-bar-width: min(calc(var(--mm-count) * var(--mm-button) + 2 * var(--mm-inset)), calc(100vw - 32px) );--mm-panel-width: min(268px, calc(100vw - 32px) );--mm-panel-padding: 8px;--mm-radius: calc(var(--mm-bar-height) / 2);position:relative;width:var(--mm-bar-width);height:var(--mm-bar-height);flex:none;font-family:inherit;-webkit-tap-highlight-color:transparent}.morphing-menu *,.morphing-menu *:before,.morphing-menu *:after{box-sizing:border-box}.morphing-menu__shell{position:absolute;bottom:0;left:50%;translate:-50% 0;width:var(--mm-bar-width);height:var(--mm-bar-height);border-radius:var(--mm-radius);background:var(--mm-surface, #0d0d0d);color:var(--mm-ink, #fff);box-shadow:inset 0 1px 1px light-dark(rgb(255 255 255 / 8%),rgb(255 255 255 / 40%)),inset 0 -1px 2px light-dark(rgb(0 0 0 / 50%),rgb(0 0 0 / 20%)),0 1px 2px #0000001f;overflow:hidden;isolation:isolate}.morphing-menu__bar{position:absolute;bottom:0;left:50%;translate:-50% 0;display:flex;align-items:center;padding:var(--mm-inset);width:var(--mm-bar-width);height:var(--mm-bar-height)}.morphing-menu__shortcut,.morphing-menu__row{appearance:none;display:flex;align-items:center;flex:none;border:0;margin:0;background:transparent;color:inherit;font:inherit;font-size:15px;font-weight:500;line-height:20px;text-decoration:none;cursor:pointer;touch-action:manipulation;scale:1;transition:background .15s ease,scale .18s cubic-bezier(.22,1,.36,1)}.morphing-menu__shortcut{justify-content:center;width:0;flex:1;height:var(--mm-button);padding:0;border-radius:999px}.morphing-menu__panel{position:absolute;top:0;left:50%;translate:-50% 0;width:var(--mm-panel-width);padding:var(--mm-panel-padding);max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.morphing-menu [aria-hidden=true]{pointer-events:none}.morphing-menu__row{gap:8px;width:100%;min-height:40px;padding:10px 12px;border-radius:calc(var(--mm-radius) - var(--mm-panel-padding));text-align:left}.morphing-menu__panel[aria-hidden=true] .morphing-menu__row{opacity:0}.morphing-menu__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.morphing-menu__icon{display:flex;flex:none}.morphing-menu svg{width:20px;height:20px;flex-shrink:0;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.morphing-menu__chevron{margin-left:auto;opacity:.6}.morphing-menu__shortcut:focus-visible,.morphing-menu__row:focus-visible{outline:2px solid currentColor;outline-offset:-3px}.morphing-menu__tooltip{position:absolute;bottom:calc(100% + 8px);translate:-50% 0;padding:6px 10px;border-radius:14px;background:light-dark(#fff,#171717);color:light-dark(#111,#fefefe);box-shadow:0 0 0 1px light-dark(rgb(0 0 0 / 6%),rgb(255 255 255 / 10%)),0 1px 2px -1px #0000000f,0 2px 4px #0000000a;font-size:14px;font-weight:500;line-height:20px;white-space:nowrap;pointer-events:none}@media(hover:hover){.morphing-menu__shortcut:hover,.morphing-menu__row:hover{background:var(--mm-hover)}}@media(pointer:coarse){.morphing-menu{--mm-button: 48px;--mm-bar-width: min(296px, calc(100vw - 32px) );--mm-panel-width: min(296px, calc(100vw - 32px) );--mm-panel-padding: 12px}.morphing-menu__row{min-height:44px;padding-block:12px}}@media(prefers-reduced-motion:no-preference){.morphing-menu__shortcut:active,.morphing-menu__row:active{transition-duration:.1s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.morphing-menu__shortcut:active{scale:.95}.morphing-menu__row:active{scale:.96}}@media(prefers-reduced-motion:reduce){.morphing-menu__shortcut,.morphing-menu__row{transition:none;scale:1}}.toolbar .morphing-menu{--mm-surface: #0d0d0d;--mm-ink: #f8f7f4;--mm-hover: #ffffff12}.toolbar .morphing-menu__row{justify-content:flex-start}.toolbar .morphing-menu__shortcut{padding:0}.toolbar .review-avatar{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:10px;letter-spacing:0}:host(.review-open) .panel{color:#eee;box-shadow:none}:host(.review-open) .panel input,:host(.review-open) .panel select{background:#191919;color:#ddd;box-shadow:inset 0 0 0 1px #ffffff12}:host(.review-open) .panel .muted,:host(.review-open) .panel small,:host(.review-open) .panel .meta,:host(.review-open) .panel .branch{color:#888}:host(.review-open) .panel .filter{color:#999}:host(.review-open) .panel .filter.active,:host(.review-open) .panel .secondary{background:#262626;color:#eee}:host(.review-open) .panel .icon:hover,:host(.review-open) .panel .thread-card:hover{background:#161616}:host(.review-open) .panel .empty .primary{background:var(--accent, #bda6ef);color:#211b2d;font-weight:500}:host(.review-open) .panel .empty strong{color:#aaa;font-weight:400}:host(.review-open) .panel .empty svg{color:#555}:host(.review-open) .panel .list{padding-bottom:24px}:host{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;font-size:13px;color:#202124}.pin{width:34px;height:34px;border-radius:50% 50% 50% 5px;font-size:11px;font-weight:600;box-shadow:0 0 0 2px #fff,0 3px 10px #0003}.pin.active{box-shadow:0 0 0 2px #fff,0 0 0 4px #4388ff,0 4px 14px #0003}.pin.resolved{background:#bfc9c4;color:#293c31}.pin-check svg{width:10px;height:10px}.pin-check{position:absolute;right:-4px;bottom:-3px;background:#fff;color:#4c6c56;border-radius:50%;font-size:9px;width:14px;height:14px;display:grid;place-items:center}.area,.selection{background:#4285f410;box-shadow:inset 0 0 0 1.5px #4388ff;border-radius:3px}:host(.review-open) .panel{width:380px;background:transparent}.panel-head .row{gap:4px}:host(.review-open) .panel .icon{color:#909090;width:28px;height:28px}.panel .icon svg{width:16px;height:16px}.thread-card{border-radius:14px}.thread-card .preview{font-size:15px;line-height:1.5;margin:0 0 14px;-webkit-line-clamp:5;color:#f1f1f1;letter-spacing:-.015em}.thread-card .row{gap:7px;min-width:0;padding-right:28px}.thread-card .avatar{width:20px;height:20px;font-size:8px}.thread-card .author{font-size:11px;font-weight:500;color:#b2b2b2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-card small{margin-left:auto;font-size:10px;flex:none;white-space:nowrap}.card-page-row{display:flex;align-items:center;gap:6px;min-width:0;margin-top:8px;color:#999;font-size:11px}.card-page-row .page{min-width:0;max-width:none;flex:1}.card-page-row svg{width:13px;height:13px}.card-status{display:block;margin-top:8px;color:#999;font-size:11px}.card-page-row[hidden],.card-status[hidden],.sidebar-replies[hidden]{display:none}.card-tags{display:flex;flex-wrap:wrap;gap:5px;min-width:0;margin-top:10px}.card-tag{min-width:0;max-width:100%;padding:2px 7px;border-radius:6px;color:var(--accent,#bda6ef);background:color-mix(in srgb,var(--accent,#bda6ef) 10%,transparent);font-size:11px;line-height:1.5;overflow-wrap:anywhere}.card-reply-toggle{display:flex;width:max-content;max-width:calc(100% - 24px);min-height:30px;margin:0 12px 10px;padding:4px 7px;gap:6px;border-radius:6px;white-space:nowrap;font-size:11px;color:#aaa}.card-reply-toggle:hover,.card-reply-toggle[aria-expanded=true]{background:#ffffff0a;color:#ddd}.card-reply-toggle svg{width:14px;height:14px}.card-reply-toggle svg:last-child{margin-left:2px;transition:rotate .15s ease}.card-reply-toggle[aria-expanded=true] svg:last-child{rotate:180deg}.thread-card:focus-visible,.card-reply-toggle:focus-visible,.card-resolve:focus-visible{outline:2px solid var(--accent,#bda6ef);outline-offset:-2px}@media(prefers-reduced-motion:reduce){.card-reply-toggle svg:last-child{transition:none}}:host(.review-open) .panel .thread-card:after{left:14px;right:14px;background:#ffffff0c}:host(.review-open) .panel .thread-card.active{background:#ffffff0a}:host(.review-open) .panel .avatar{background:#bca8e7;color:#302342}.empty{padding:50px 16px;gap:14px}.empty svg{display:none}.empty strong{font-size:13px}.dialog{overflow:hidden}.dialog-head{position:absolute;z-index:3;padding:0;box-shadow:none;justify-content:flex-end;height:26px}.dialog-head .icon,.draft-close,.approved-site>.icon{width:25px;height:25px;color:#949494}.dialog-head svg,.draft-close svg,.approved-site>.icon svg{width:15px;height:15px}.draft-close{position:absolute;right:16px;top:16px;z-index:1}.messages{max-height:45vh}.message .author{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message .avatar{background:#c8b5f4;color:#352a50;font-size:9px}.message small{font-size:10px}.message-text{letter-spacing:-.01em}.actions{gap:5px;min-height:26px}.actions>.icon{height:24px;width:24px}.actions>.icon svg{height:15px;width:15px}.reaction{padding:3px 7px;border-radius:20px;font-size:11px}.composer textarea{max-height:180px;resize:none;outline:none}.composer .row{gap:8px}.composer input{width:130px;min-width:0;background:#f5f5f7;box-shadow:none;padding:7px 10px;border-radius:20px;font-size:12px}.composer .row>.secondary{font-size:10px;padding:4px 8px;min-height:28px}.composer .avatar{width:24px;height:24px;font-size:9px;background:#c8b5f4;color:#352a50}.send{width:30px;height:30px;margin-left:auto;background:#3478f6;color:#fff;border-radius:50%;padding:0;transition:background .15s ease,transform .15s ease}.send:disabled{opacity:1;cursor:default}.send svg{width:18px;height:18px}.send:not(:disabled):active{transform:scale(.94)}.toolbar .review-avatar{background:#ffffff16;color:#ddd}.toolbar .review-avatar svg{width:15px;height:15px}@media(max-width:760px){:host(.mobile-composing) .toolbar{opacity:0;pointer-events:none;visibility:hidden}.dialog{width:calc(100vw - 32px);left:16px!important;max-height:65vh}.dialog .messages{max-height:35vh}}.component-hover{position:fixed;pointer-events:none;z-index:1;opacity:0;background:none;outline:2px dashed var(--accent, #bda6ef);outline-offset:2px;transition:opacity .1s ease}.composer{gap:8px}.composer textarea{min-height:34px;font-size:13px;line-height:22px}.composer:has(.avatar){position:relative;padding-left:42px;padding-right:40px;min-height:58px}.composer:has(.avatar)>.row{display:contents}.composer:has(.avatar) .avatar{position:absolute}.composer:has(.avatar) .send{position:absolute;width:26px;height:26px}.dialog:has(.draft-close) .composer{padding-top:24px}.message-text{font-size:13px;line-height:1.5}.message:first-child>.row{padding-right:var(--thread-actions-width, 78px)}.dialog:has(.thread-tag-action){--thread-actions-width: 107px}.dialog-head{top:12px;right:8px}.dialog>.dialog-head{background:#242424;border-radius:8px}.messages[data-fade]{mask-image:linear-gradient(to bottom,var(--fade-top, #000),#000 28px,#000 calc(100% - 28px),var(--fade-bottom, #000))}.messages[data-fade~=top]{--fade-top: transparent}.messages[data-fade~=bottom]{--fade-bottom: transparent}.message .author{font-size:11px}.comment-menu{position:relative}.comment-menu>summary{list-style:none;cursor:pointer;display:grid;place-items:center}.comment-menu>summary::-webkit-details-marker{display:none}.comment-menu-items{position:absolute;top:30px;right:0}.menu-action{width:100%;text-align:left;background:transparent}.pin-preview{position:fixed;pointer-events:auto;z-index:3}.pin-preview-open{display:block;width:100%;background:transparent;color:inherit;text-align:left;border-radius:inherit}.pin-preview p{font-size:13px;line-height:1.5;margin:0 0 12px;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.pin-preview .avatar{background:#c8b5f4;color:#352a50}.pin-preview small{color:#999;margin:0 36px 0 auto}.pin-preview-resolve{position:absolute;top:17px;right:16px}:host(.review-open) .panel{top:36px;right:0;padding:0 24px}.panel-head{padding:0 0 16px}.thread-card{padding:16px 12px}.thread-card .preview{margin:10px 0 0}.thread-card:after{left:12px;right:12px}:host(.review-open) .toolbar .morphing-menu{--mm-surface: #ffffff12;--mm-hover: #ffffff10}.toolbar .morphing-menu__shell{backdrop-filter:blur(12px) saturate(1.2);box-shadow:inset 0 1px #ffffff20,inset 0 0 0 1px #ffffff0c,0 4px 16px #0002}.pin:hover,.pin.hot{background:#bda6ef;color:#352a50;box-shadow:0 0 0 2px #fff,0 3px 10px #0003}.comment-menu-items{min-width:224px;padding:5px;border-radius:12px;background:linear-gradient(145deg,#292729,#232323);color:#ededed;box-shadow:inset 0 0 0 1px #ffffff12,0 12px 32px #0004,0 2px 5px #0003}.menu-action{display:flex;align-items:center;gap:10px;justify-content:flex-start;min-height:36px;padding:8px 10px;color:inherit;font-size:13px;border-radius:8px}.menu-action svg{width:16px;height:16px;color:#bcb9bd}.menu-action:hover,.menu-action:focus-visible{background:#ffffff0d;outline:none}.menu-action+.menu-action:last-child{margin-top:6px;position:relative}.menu-action+.menu-action:last-child:before{content:"";position:absolute;top:-4px;left:5px;right:5px;height:1px;background:#ffffff0a}.toolbar .morphing-menu:has(.morphing-menu__panel[aria-hidden=false]) .morphing-menu__shell{background:linear-gradient(145deg,#292729,#232323)}.toolbar .morphing-menu__row{gap:10px;font-size:13px;border-radius:9px;color:#ededed}.toolbar .morphing-menu__row svg{width:18px;height:18px;color:#bcb9bd}.dialog{width:320px;border-radius:16px}.messages{padding:0 16px}.message{padding:18px 0 16px}.message .row{gap:8px}.message .avatar{width:24px;height:24px}.message-text{padding-left:32px;margin:3px 0 8px}.actions{padding-left:32px}.message+.message:before{left:-16px;right:-16px}.composer{padding:12px 16px}.composer textarea{padding:8px 10px;border-radius:8px}.composer:has(.avatar){padding:12px 16px 12px 48px}.composer:has(.avatar) textarea{padding-right:38px}.composer:has(.avatar) .avatar{left:16px;bottom:auto;top:19px;width:24px;height:24px}.composer:has(.avatar) .send{right:22px;bottom:18px}.review-avatar{position:relative;overflow:hidden}.review-avatar img{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;object-fit:cover}.dialog,.pin-preview{background:#242424;color:#ececec;box-shadow:inset 0 0 0 1px #ffffff12,0 16px 48px #0005}.message .author,.pin-preview strong{color:#efefef}.message small{color:#8d8d8d}.message+.message:before,.composer{box-shadow:0 -1px #ffffff08}.message+.message:before{background:#ffffff08}.dialog .icon,.pin-preview .icon,.actions>.icon{color:#929292}.dialog .icon:hover,.pin-preview .icon:hover{background:#ffffff0a;color:#eee}.composer textarea,.dialog input,.dialog textarea{background:#ffffff07;color:#eee;box-shadow:inset 0 0 0 1px #ffffff05}.composer textarea::placeholder,.dialog input::placeholder,.dialog textarea::placeholder{color:#858585}.composer textarea:focus,.dialog textarea:focus{box-shadow:inset 0 0 0 1px #ffffff20}.send:disabled{background:#ffffff0a;color:#707070}.reaction{background:#ffffff08;color:#ccc}.pin{touch-action:manipulation}.pin[data-moving]{touch-action:none;cursor:grab;z-index:4}.pin-move{position:fixed;z-index:30;left:50%;bottom:80px;translate:-50% 0;width:min(420px,calc(100vw - 24px));display:flex;flex-wrap:wrap;gap:8px;padding:14px;border-radius:14px;background:#252525;color:#eee;box-shadow:0 0 0 1px #ffffff20,0 8px 24px #0005;font:12px/1.5 ui-sans-serif,system-ui,sans-serif;pointer-events:auto}.pin-move p{flex-basis:100%;margin:0 0 4px}.pin-move button{min-height:36px;padding:6px 12px;border-radius:8px}.pin-move .primary{background:var(--accent,#c8b5f4);color:#21172f}.pin-move .secondary{background:#ffffff12;color:#eee}.pin-move-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.pin{padding:0;overflow:hidden}.pin .avatar{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;background:transparent;color:inherit;display:grid;place-items:center;font-size:inherit}.avatar{position:relative;overflow:hidden;flex-shrink:0}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.sidebar-replies{position:relative;margin:0 12px 14px 20px;padding:2px 0 2px 12px;display:grid;gap:12px}.sidebar-replies:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:#ffffff16}.sidebar-reply{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:flex-start;gap:8px;text-align:left}.sidebar-reply .avatar{width:20px;height:20px;font-size:8px}.sidebar-reply>div{min-width:0}.sidebar-reply p{font-size:13px;line-height:1.5;margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#d9d9d9}.reply-meta{font-size:11px;color:#999;overflow-wrap:anywhere}.floating-notice{display:flex;align-items:center;gap:10px;width:max-content;max-width:min(360px,calc(100vw - 24px));padding:10px 12px;border-radius:12px;color:#d4d4d4;background:#292929;box-shadow:inset 0 0 0 1px #ffffff12,0 8px 28px #0004;font-size:12px}.floating-notice>svg{width:16px;height:16px;color:#aaa}.floating-notice>span{flex:1}.floating-notice .icon{width:24px;height:24px}.floating-notice .icon:hover{background:#ffffff10}.notice-action{padding:5px 8px;border-radius:6px;background:#ffffff10}.account-layer{position:fixed;inset:0 0 0 auto;width:min(380px,100vw);padding:24px 16px 96px;z-index:9;display:grid;place-items:center;background:#0008;pointer-events:auto}.account-layer .account-dialog{position:relative;left:auto!important;top:auto!important;bottom:auto!important;width:100%;max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#ffffff30 transparent}.account{padding:36px 24px 24px;gap:20px}.account h2{font-size:20px;letter-spacing:-.025em;font-weight:500}.account-name-label{display:grid;gap:8px;font-size:12px;color:#999}.account input,.account textarea{font-size:15px;padding:12px}.account .primary{width:100%;min-height:42px;color:#222;background:#eee}.account .primary:hover{background:#fff}.account .secondary{background:#ffffff0a;color:#ddd}.account>.avatar{width:48px;height:48px;border-radius:50%;font-size:18px}.account .notice{color:#999}.account-layer .account-dialog{border-radius:24px;background:#202020;box-shadow:0 16px 48px #0006,inset 0 0 0 1px #ffffff12}.account-layer .account{flex:none;padding:32px 24px 24px;gap:20px}.account-summary{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:8px}.account-summary .avatar{width:72px;height:72px;font-size:24px;box-shadow:0 0 0 4px #ffffff06}.account-summary h3{margin:6px 0 0}.account-status{display:flex;align-items:center;justify-content:center;gap:5px;color:#949494;font-size:12px}.account-layer .account input,.account-layer .account textarea{width:100%;min-height:44px;background:#ffffff06;color:#f2f2f2;box-shadow:inset 0 0 0 1px #ffffff0b;border-radius:12px;transition:box-shadow .15s ease,background .15s ease}.account-layer .account input:focus,.account-layer .account textarea:focus{outline:none;background:#ffffff09;box-shadow:inset 0 0 0 1px #bda6ef}.account-layer .account button{border-radius:12px}.account-layer .account .primary{background:#bda6ef;color:#211b2d;font-weight:600}.account-layer .account .primary:disabled{opacity:.4;cursor:default}.account-layer .account .primary[aria-busy=true]{opacity:.7;cursor:progress}.account .primary[aria-busy=true]:after{content:"";width:12px;height:12px;box-sizing:border-box;border:1.5px solid;border-right-color:transparent;border-radius:50%;animation:busy-spin .7s linear infinite}@keyframes busy-spin{to{rotate:1turn}}@media(prefers-reduced-motion:reduce){.account .primary[aria-busy=true]:after{animation-duration:2s}}.account-dialog .dialog-head{top:16px;right:14px}.account-layer .account .account-avatar-button{padding:0;border-radius:50%;background:transparent;position:relative;transition:filter .15s ease,transform .15s ease}.account-avatar-button:hover{filter:brightness(.88);transform:scale(1.025)}.account-avatar-button:focus-visible{outline:2px solid #bda6ef;outline-offset:6px}.google-logo{width:18px;height:18px;flex:none;object-fit:contain}.account-status .google-logo{width:14px;height:14px;margin-left:2px}.account .google-signin{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;width:100%;box-shadow:inset 0 0 0 1px #ffffff12}.account-divider{display:flex;align-items:center;gap:12px;font-size:12px;color:#777}.account-divider:before,.account-divider:after{content:"";height:1px;flex:1;background:#ffffff0d}@media(prefers-reduced-motion:reduce){.account-avatar-button{transition:none!important}}.account-session{padding-top:20px;box-shadow:0 -1px #ffffff0b}.account-session .secondary{width:100%;min-height:40px}.account-setting{display:grid;gap:8px}.account-setting-label{font-size:11px;line-height:16px;color:#a5a5a5;text-transform:uppercase;letter-spacing:.05em}.account .selection-menu>summary.selection-trigger{width:100%;min-height:44px;padding:10px 14px 10px 12px;justify-content:space-between;border-radius:12px;background:#ffffff0a;color:inherit;font:inherit;box-shadow:inset 0 0 0 1px #ffffff14}.selection-trigger:focus-visible{outline:2px solid var(--accent, #bda6ef);outline-offset:2px}.account .selection-menu{min-width:0}.account .selection-label{min-width:0;overflow:hidden;text-overflow:ellipsis}@media(max-width:760px){.account-layer{width:100%}}:host{--duration-stagger: 40ms;--duration-fast: .25s;--duration-quick: .15s;--ease-smooth-out: cubic-bezier(.22, 1, .36, 1);--dropdown-open-dur: var(--duration-fast);--dropdown-close-dur: var(--duration-quick);--dropdown-pre-scale: .97;--dropdown-closing-scale: .99;--dropdown-ease: var(--ease-smooth-out)}.t-dropdown{transform-origin:top left;transform:scale(var(--dropdown-pre-scale));opacity:0;pointer-events:none;transition:transform var(--dropdown-open-dur) var(--dropdown-ease),opacity var(--dropdown-open-dur) var(--dropdown-ease);will-change:transform,opacity}.t-dropdown[data-origin=top-right]{transform-origin:top right}.t-dropdown[data-origin=top-center]{transform-origin:top center}.t-dropdown[data-origin=bottom-left]{transform-origin:bottom left}.t-dropdown[data-origin=bottom-center]{transform-origin:bottom center}.t-dropdown[data-origin=bottom-right]{transform-origin:bottom right}.t-dropdown.is-open{transform:scale(1);opacity:1;pointer-events:auto}.t-dropdown.is-closing{transform:scale(var(--dropdown-closing-scale));opacity:0;pointer-events:none;transition:transform var(--dropdown-close-dur) var(--dropdown-ease),opacity var(--dropdown-close-dur) var(--dropdown-ease)}@media(prefers-reduced-motion:reduce){.t-dropdown{transition:none!important}}.message-content{display:flex;align-items:flex-start;gap:8px;padding-left:32px}.message-content .message-text{flex:1;min-width:0;padding:0;margin:3px 0 0}.message-reaction{position:relative;flex:none;width:26px;height:26px}.message>.row>.comment-menu{margin-left:auto}.message>.row>.comment-menu>summary{width:24px;height:24px}.message .actions{margin-top:8px}.emoji-menu{position:fixed;z-index:20;display:flex;gap:2px;padding:5px;background:#292929;border-radius:12px;box-shadow:0 0 0 1px #ffffff12,0 8px 24px #0005}.emoji-choice{display:grid;place-items:center;padding:0;border-radius:7px;opacity:0;transform:translate(-6px) scale(.97);transition:transform var(--duration-fast) var(--ease-smooth-out),opacity var(--duration-fast) var(--ease-smooth-out)}.emoji-menu.is-open .emoji-choice{opacity:1;transform:translate(0) scale(1);transition-delay:calc(var(--emoji-index) * var(--duration-stagger))}.emoji-menu.is-closing .emoji-choice{opacity:0;transform:scale(.99);transition-duration:var(--duration-quick);transition-delay:0ms}.emoji-choice:hover{background:#ffffff12}.reply-composer{position:relative;display:block}.reply-composer textarea{width:100%;padding-right:44px}.reply-composer>.send{position:absolute;right:22px;top:17px;width:26px;height:26px}.new-comment-composer>.row>.send{margin-left:auto}@media(prefers-reduced-motion:reduce){.emoji-choice{transition:none!important}}.comment-menu-items[popover]{position:fixed;inset:auto;margin:0;border:0}.selection-menu>summary.selection-trigger{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 0;color:#eee;font-size:15px;font-weight:500;list-style:none;cursor:pointer}.selection-trigger svg{width:14px;height:14px;flex:none;color:#888;transition:transform .15s ease-out}.selection-menu[open]>.selection-trigger svg{transform:rotate(180deg)}.selection-menu [aria-checked=false] svg{opacity:0}.selection-menu [aria-checked=true]{background:#ffffff0b}.selection-menu .menu-action:last-child{margin-top:0}.selection-menu .menu-action:last-child:before{display:none}.selection-menu .comment-menu-items:popover-open{animation:selection-enter .25s cubic-bezier(.22,1,.36,1);transform-origin:top right}@keyframes selection-enter{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:none}}.panel-head{gap:0}.sidebar-search{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s cubic-bezier(.22,1,.36,1),opacity .15s ease-out}.panel[data-search=true] .sidebar-search{grid-template-rows:1fr;opacity:1}.sidebar-search-inner{min-height:0;overflow:hidden}.sidebar-search-row{display:flex;align-items:center;gap:8px;padding-top:12px}.sidebar-search-field{display:flex;min-width:0;align-items:center;gap:8px;background:#ffffff0d;border-radius:10px;padding:0 10px}.sidebar-search-field svg{flex:none;width:16px;height:16px;color:#888}:host(.review-open) .panel .sidebar-search-field input{min-width:0;width:100%;padding:9px 0;background:transparent;box-shadow:none;color:#eee;font-size:14px}.sidebar-search-field input::placeholder{color:#888}.search-cancel{color:#ccc;font-size:13px;padding:8px 0;transform:translate(8px);opacity:0;transition:transform .25s cubic-bezier(.22,1,.36,1),opacity .15s ease-out}.panel[data-search=true] .search-cancel{transform:none;opacity:1}.scope-slot .selection-trigger{font-size:12px;color:#999;padding:10px 12px 0 0}@media(prefers-reduced-motion:reduce){.sidebar-search,.search-cancel,.selection-trigger svg{transition:none}.selection-menu .comment-menu-items:popover-open{animation:none}}.dialog:has(.draft-close) .new-comment-composer{display:grid;gap:8px;padding:16px;box-shadow:none}.new-comment-composer .draft-proposal{margin-right:32px}.new-comment-composer .draft-body{display:grid;grid-template-columns:24px minmax(0,1fr) 28px;grid-template-rows:minmax(28px,auto) 28px;align-items:start;column-gap:12px;row-gap:8px}.new-comment-composer .draft-body:not(:has(.avatar)){grid-template-columns:minmax(0,1fr) 28px}.new-comment-composer .draft-body .avatar{grid-row:1;grid-column:1}.new-comment-composer .draft-body textarea{grid-row:1;grid-column:2}.new-comment-composer .draft-body:not(:has(.avatar)) textarea{grid-column:1}.new-comment-composer .draft-body .send{grid-row:2;grid-column:-2}.dialog .new-comment-composer .draft-body .avatar{position:relative;inset:auto;flex:none;width:24px;height:24px;margin:0}.dialog .new-comment-composer textarea,.dialog .new-comment-composer textarea:focus{flex:1;min-width:0;min-height:28px;padding:3px 0;background:transparent;border:0;border-radius:0;box-shadow:none;outline:none;line-height:22px}.dialog .new-comment-composer>.row{display:flex;justify-content:flex-end}.dialog .new-comment-composer .send{position:static;width:28px;height:28px;margin-left:auto}.pin-preview{width:320px;border-radius:18px}.pin-preview-open{padding:20px 16px 16px}.pin-preview .row{gap:8px;font-size:12px}.pin-preview .avatar{width:24px;height:24px;font-size:9px}.pin-preview .hover-message{margin:3px 0 0;padding-left:32px;line-height:1.6}.pin-preview .pin-preview-card{margin:-8px 16px 16px 48px;padding:0;cursor:pointer}.message-content{margin-right:-6px}.message-reaction.has-reactions{display:flex;align-items:center;justify-content:center;gap:3px;width:auto;min-width:26px;max-width:100px;padding:3px;background:transparent}.reaction-leaving{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:3px;pointer-events:none}.reaction-value{font-size:14px;line-height:20px;white-space:nowrap}.emoji-choice{width:28px;height:28px;font-size:17px;color:#ccc}.emoji-choice svg{width:18px;height:18px;stroke:currentColor}.emoji-choice:hover,.emoji-choice:focus-visible{color:#eee}.emoji-menu[data-placement=below] .emoji-choice{transform:translateY(-4px) scale(.97)}.emoji-menu[data-placement=below].is-open .emoji-choice{transform:none;transition-delay:0ms}.emoji-menu[data-placement=below].is-closing .emoji-choice{transform:scale(.99);transition-delay:0ms}.dialog .new-comment-composer .draft-body .send{flex:none;margin:0}.comment-drag-handle{position:absolute;inset:0 90px auto 0;height:34px;z-index:2;cursor:grab;touch-action:none}.toolbar{cursor:grab;touch-action:none}[data-dragging=true],[data-dragging=true] .comment-drag-handle{cursor:grabbing;user-select:none}[data-snap-x=left]:not(.toolbar){box-shadow:-3px 0 #ffffff70}[data-snap-x=right]:not(.toolbar){box-shadow:3px 0 #ffffff70}[data-snap-y=top]:not(.toolbar){box-shadow:0 -3px #ffffff70}[data-snap-y=bottom]:not(.toolbar){box-shadow:0 3px #ffffff70}.toolbar:before,.toolbar:after{content:"";position:absolute;pointer-events:none;background:#ffffff70;border-radius:999px;opacity:0}.toolbar:before{width:2px;height:28px;top:50%;translate:0 -50%}.toolbar:after{width:28px;height:2px;left:50%;translate:-50% 0}.toolbar[data-snap-x=left]:before{left:-10px;opacity:1}.toolbar[data-snap-x=right]:before{right:-10px;opacity:1}.toolbar[data-snap-y=top]:after{top:-10px;opacity:1}.toolbar[data-snap-y=bottom]:after{bottom:-10px;opacity:1}.toolbar,.panel,.dialog-head,.comment-drag-handle{-webkit-user-select:none;user-select:none}.message-text,.hover-message,.thread-card p,input,textarea{-webkit-user-select:text;user-select:text}.toolbar .morphing-menu [aria-current],.toolbar .morphing-menu [aria-current]:hover{background:#ffffff0d;color:#cbb9ec;box-shadow:inset 0 0 0 1px #ffffff08}:host(.review-open) .panel{height:calc(100% - 36px);padding-bottom:0}:host(.review-open) .panel .list{min-height:0;margin-inline:-12px;padding:0 0 112px;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:transparent transparent;scrollbar-gutter:stable;scroll-padding-bottom:112px;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 112px),transparent calc(100% - 24px));mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 112px),transparent calc(100% - 24px))}:host(.review-open) .panel .list[data-scrolling=true]{scrollbar-color:#ffffff30 transparent}@supports selector(::-webkit-scrollbar){:host(.review-open) .panel .list,:host(.review-open) .panel .list[data-scrolling=true]{scrollbar-width:auto;scrollbar-color:auto}:host(.review-open) .panel .list::-webkit-scrollbar{width:4px}:host(.review-open) .panel .list::-webkit-scrollbar-track{background:transparent}:host(.review-open) .panel .list::-webkit-scrollbar-thumb{background:transparent;border-radius:999px}:host(.review-open) .panel .list[data-scrolling=true]::-webkit-scrollbar-thumb{background:#ffffff30}:host(.review-open) .panel .list[data-scrolling=true]::-webkit-scrollbar-thumb:hover{background:#ffffff50}:host(.review-open) .panel .list::-webkit-scrollbar-button{display:none}}@media(max-width:760px){:host(.review-open) .panel{height:100%}}.toolbar>.morphing-menu{transition:translate .28s cubic-bezier(.22,1,.36,1),scale .28s cubic-bezier(.22,1,.36,1),opacity .2s ease-in,filter .2s ease-in}.toolbar[data-away=true]{pointer-events:none}.toolbar[data-away=true]>.morphing-menu{translate:var(--drawer-away-x, 0px) var(--drawer-away-y, 24px);scale:.9;opacity:0;filter:blur(4px);pointer-events:none}@media(prefers-reduced-motion:reduce){.toolbar>.morphing-menu{transition:none}.toolbar[data-away=true]>.morphing-menu{translate:none;scale:1;filter:none}}.morphing-menu[data-vertical=true]{width:var(--mm-bar-height);height:var(--mm-bar-width)}.morphing-menu[data-vertical=true] .morphing-menu__bar{flex-direction:column;width:var(--mm-bar-height);height:var(--mm-bar-width);left:0;top:0;bottom:auto;translate:none}.morphing-menu[data-vertical=true] .morphing-menu__shortcut{width:var(--mm-button);height:0}.morphing-menu[data-edge=top] .morphing-menu__shell{top:0;bottom:auto}.morphing-menu[data-vertical=true] .morphing-menu__shell{left:0;top:0;bottom:auto;translate:none}.morphing-menu[data-edge=right] .morphing-menu__shell{left:auto;right:0}.morphing-menu[data-vertical=true][data-align-end=true] .morphing-menu__shell,.morphing-menu[data-vertical=true][data-align-end=true] .morphing-menu__bar{top:auto;bottom:0}.morphing-menu[data-edge=right] .morphing-menu__bar{left:auto;right:0}.morphing-menu__tooltip{bottom:auto;translate:-50% -100%;max-width:calc(100vw - 16px);overflow:hidden;text-overflow:ellipsis}.morphing-menu[data-edge=top] .morphing-menu__tooltip{translate:-50% 0}.morphing-menu[data-edge=left] .morphing-menu__tooltip{translate:0 -50%}.morphing-menu[data-edge=right] .morphing-menu__tooltip{translate:-100% -50%}.emoji-choice[aria-checked=true],.emoji-choice[aria-checked=true]:hover{background:#ffffff12;box-shadow:inset 0 0 0 1px #ffffff0a}:host(.review-open) .toolbar{cursor:default;touch-action:auto}.sidebar-search-field input::-webkit-search-cancel-button,.sidebar-search-field input::-webkit-search-decoration{-webkit-appearance:none;display:none}:host(.review-open) .toolbar .morphing-menu [data-menu-item=comments],:host(.review-open) .toolbar .morphing-menu [data-menu-item=comments]:hover{background:#ffffff0d;color:#cbb9ec;box-shadow:inset 0 0 0 1px #ffffff08}.toolbar[data-intro-wait=true]>.morphing-menu{transition:none}.toolbar[data-intro=true][data-away=true]>.morphing-menu{translate:0 var(--drawer-intro-y, 100vh);scale:1;filter:none}.toolbar[data-away=true][data-peek=true]>.morphing-menu{translate:0 var(--drawer-peek-y, 100vh);scale:1;opacity:1;filter:none}.toolbar .morphing-menu__row[aria-current] svg{color:inherit}.sidebar-selector{display:grid;min-width:0}.sidebar-selector>*{grid-area:1 / 1;transition:opacity .2s ease,transform .25s cubic-bezier(.22,1,.36,1)}.tag-filter-slot:empty{display:none}.panel .sidebar-title .tag-filter-trigger.active{color:var(--accent, #bda6ef)}.panel[data-search=true] .tag-filter-slot{opacity:0;pointer-events:none}.sidebar-selector .scope-slot{opacity:0;transform:translateY(6px);pointer-events:none}.panel[data-search=true] .sidebar-selector .filter-slot{opacity:0;transform:translateY(-6px);pointer-events:none}.panel[data-search=true] .sidebar-selector .scope-slot{opacity:1;transform:none;pointer-events:auto}.sidebar-selector .scope-slot .selection-trigger{font-size:15px;color:#f4f4f4;padding:8px 12px 8px 0;font-weight:600}.copy-page-prompt{display:grid;place-items:center;translate:0 0;transition:translate .28s cubic-bezier(.22,1,.36,1)}.copy-page-prompt>svg{grid-area:1 / 1;transform-origin:center}.panel[data-search=true] .copy-page-prompt{display:grid;place-items:center;translate:calc(100% + 4px) 0}.sidebar-search-trigger{transition:opacity .15s ease}.panel[data-search=true] .sidebar-search-trigger{opacity:0;pointer-events:none}.sidebar-search{opacity:1}.panel[data-search=true] .sidebar-search-inner{overflow:visible}.sidebar-search-field{flex:none;transform-origin:top left;box-sizing:border-box;overflow:hidden;width:100%}.sidebar-search-field .search-cancel{flex:none;padding:0;width:24px;height:24px}.sidebar-search-field input{transition:opacity .15s ease}.panel[data-search=false] .sidebar-search-field input{opacity:0}@media(prefers-reduced-motion:reduce){.sidebar-selector>*,.copy-page-prompt,.sidebar-search-trigger,.sidebar-search-field input{transition:none}}.toolbar .morphing-menu__panel>.morphing-menu__row:first-child,.toolbar .morphing-menu__panel>.morphing-menu__row:last-child{transition:background .15s ease,scale .18s var(--ease-smooth-out),border-radius .15s var(--ease-smooth-out)}.toolbar .morphing-menu__panel>.morphing-menu__row:first-child{border-top-left-radius:calc(var(--mm-radius) - var(--mm-panel-padding));border-top-right-radius:calc(var(--mm-radius) - var(--mm-panel-padding))}.toolbar .morphing-menu__panel>.morphing-menu__row:last-child{border-bottom-left-radius:calc(var(--mm-radius) - var(--mm-panel-padding));border-bottom-right-radius:calc(var(--mm-radius) - var(--mm-panel-padding))}.toolbar .morphing-menu__panel>.morphing-menu__row:first-child:active{border-top-left-radius:9px;border-top-right-radius:9px}.toolbar .morphing-menu__panel>.morphing-menu__row:last-child:active{border-bottom-left-radius:9px;border-bottom-right-radius:9px}@media(prefers-reduced-motion:reduce){.toolbar .morphing-menu__panel>.morphing-menu__row:first-child,.toolbar .morphing-menu__panel>.morphing-menu__row:last-child{transition:none}}.avatar,.pin{background:var(--reviewer-accent, #c8b5f4);color:var(--reviewer-ink, #352a50)}.avatar:has(img){outline:2px solid var(--reviewer-accent, #c8b5f4);outline-offset:1px}.account-accent{display:grid;gap:12px}.account-accent-label{color:#aaa;font-size:12px}.accent-swatches{display:flex;align-items:center;justify-content:space-between;gap:4px}.account-layer .account .accent-swatch{position:relative;flex:none;width:32px;height:32px;padding:4px;border-radius:50%;background:transparent;box-shadow:none}.accent-swatch:before{content:"";position:absolute;inset:4px;border-radius:inherit;background:var(--swatch)}.account .accent-swatch[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px #eee}.account .accent-swatch:hover{background:#ffffff0d}.account .accent-swatch:focus-visible{outline:2px solid #eee;outline-offset:2px}.accent-custom:before{background:conic-gradient(#f46021,#f9b73b,#2e9d51,#38c5f6,#1f72ff,#9038fc,#f46021)}.accent-custom svg{position:relative;width:16px;height:16px;padding:2px;border-radius:50%;background:#252525;color:#eee}.emoji-keyboard{position:fixed;z-index:21;width:min(300px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;border-radius:16px;background:#252525;box-shadow:0 0 0 1px #ffffff12,0 12px 32px #0006}.emoji-keyboard-close{position:absolute;top:12px;right:10px;z-index:2;width:26px;height:26px;color:#999}.emoji-keyboard-status{display:block;padding:20px;color:#aaa;font-size:12px}.emoji-keyboard emoji-picker{width:100%;height:min(300px,calc(100dvh - 32px));--background: #252525;--border-color: transparent;--button-hover-background: #ffffff10;--button-active-background: #ffffff18;--input-border-color: #ffffff12;--input-border-radius: 8px;--input-font-color: #eee;--indicator-color: #c8b5f4;--outline-color: #c8b5f4;--num-columns: 8;--emoji-size: 20px;--emoji-padding: 6px;--category-emoji-size: 16px;--category-emoji-padding: 6px}.pin .avatar:has(img){outline:none}.pin .avatar img{object-fit:cover;object-position:center;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}.menu-action.destructive{color:#ff9696}.menu-action.destructive svg{color:inherit}.menu-action.destructive:hover,.menu-action.destructive:focus-visible{background:#ff6b6b14;color:#ffb0b0}.accent-popover{position:fixed;inset:auto;margin:0;width:min(240px,calc(100vw - 16px));padding:0;border:0;border-radius:12px;background:#292929;color:#ddd;box-shadow:0 0 0 1px #ffffff12,0 8px 24px #0005;transform-origin:bottom right}.accent-popover-head{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;font-size:11px;box-shadow:0 1px #ffffff0d}.accent-popover-head span:last-child{color:#999;font-variant-numeric:tabular-nums}.accent-picker-body{display:flex;flex-direction:column;gap:8px;padding:12px}.accent-picker-body .react-colorful{width:100%;height:148px}.accent-picker-body .react-colorful__saturation{border-radius:8px;border-bottom:none}.accent-picker-body .react-colorful__hue{height:14px;margin-top:10px;border-radius:8px}.accent-picker-body .react-colorful__pointer{width:14px;height:14px}.accent-picker-body .react-colorful__hue-pointer{width:10px;height:18px;border-radius:6px}.accent-picker-body input.accent-hex{width:100%;height:28px;min-height:28px;padding:5px 8px;border-radius:6px;background:#ffffff08;color:#eee;font-size:12px;box-shadow:inset 0 0 0 1px #ffffff0c}.pin{--pin-x: -9px;transform:translate(var(--pin-x),-28px) scale(1);transform-origin:bottom left;transition:transform .12s cubic-bezier(.22,1,.36,1)}.pin[data-pointer=right]{--pin-x: -25px;border-radius:50% 50% 5px;transform-origin:bottom right}.pin.hot{z-index:3;transform:translate(var(--pin-x),-28px) scale(1.12)}.pins{transition:opacity .12s ease}.pins[data-scrolling=true]{opacity:0}.pins[data-scrolling=true] .pin{pointer-events:none}@media(prefers-reduced-motion:reduce){.pin,.pins{transition:none}}.pin-stack{position:fixed;display:flex;align-items:center;padding:3px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;pointer-events:auto;z-index:2;isolation:isolate}.pin-stack::-webkit-scrollbar{display:none}.pin-stack .pin:not([data-dragging]){position:relative;flex:0 0 34px;transform:scale(1);margin-left:-12px}.pin-stack .pin:not([data-dragging]):first-child{margin-left:0}.pin-stack .pin:hover,.pin-stack .pin:focus-visible,.pin-stack .pin.active{z-index:4}.pins[data-scrolling=true] .pin-stack{pointer-events:none}.onboarding-panel{display:grid;gap:16px}.onboarding-panel>p:empty{display:none}.approved-sites{display:grid;gap:8px;font-size:12px;overflow-wrap:anywhere;color:#ddd}.approved-sites:empty{display:none}.account-usage,.approved-sites-editor,.approved-site-list{min-width:0;grid-template-columns:minmax(0,1fr)}.approved-sites-editor{display:grid;padding-top:4px;border-top:1px solid #ffffff0d}.approved-sites-toggle{min-width:0;min-height:36px;margin:0 -8px;padding:0 8px;display:flex;align-items:center;gap:8px;border-radius:8px;background:transparent;font-size:12px;color:#ddd;text-align:left;cursor:pointer}.approved-sites-toggle:hover{background:#ffffff08}.approved-sites-toggle:focus-visible{outline:2px solid #bda6ef;outline-offset:-2px}.approved-sites-toggle>span:first-child{flex:1}.approved-sites-count{color:#aaa;font-variant-numeric:tabular-nums}.approved-sites-toggle svg{width:14px;height:14px;color:#888;transition:transform .25s cubic-bezier(.22,1,.36,1)}.approved-sites-editor[data-open=true] .approved-sites-toggle svg{transform:rotate(180deg)}.approved-sites-reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s cubic-bezier(.22,1,.36,1)}.approved-sites-editor[data-open=true] .approved-sites-reveal{grid-template-rows:1fr}.approved-sites-body{min-height:0;min-width:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.approved-sites-editor[data-open=true] .approved-sites-body{padding-top:4px}.approved-site-list{display:grid;margin:0;padding:0;list-style:none}.approved-site{min-width:0;min-height:32px;display:flex;align-items:center;gap:8px;font-size:12px;color:#ddd}.approved-site>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approved-site>button{flex-shrink:0;opacity:0;transition:opacity .12s}.account-layer .account .approved-site>.icon{border-radius:7px}.approved-site:hover>button,.approved-site>button:focus-visible{opacity:1}@media(hover:none){.approved-site>button{opacity:1}}@media(prefers-reduced-motion:reduce){.approved-sites-reveal,.approved-sites-toggle svg{transition:none}}.approved-site-add{min-width:0;display:flex;gap:8px}.account .approved-site-add input{width:0;min-width:0;flex:1;font-size:13px;padding:8px 10px}.approved-site-add>button{flex-shrink:0;padding:0 12px}.approved-sites-body>.account-usage-status:empty{display:none}.account-usage{min-height:144px;box-sizing:border-box;align-content:start;display:grid;gap:14px;padding:16px;border-radius:14px;background:#ffffff05;box-shadow:inset 0 0 0 1px #ffffff09}.account-usage h3{line-height:18px;margin:0;font-size:12px;font-weight:500;color:#aaa}.usage-skeleton{display:block;height:10px;border-radius:4px;background:#ffffff0b}.usage-skeleton-heading{height:18px;display:flex;align-items:center}.usage-skeleton-title{width:70px}.usage-skeleton-label{width:88px;align-self:center}.usage-skeleton-count{width:56px;align-self:center}.usage-skeleton-ring{width:22px;height:22px;border-radius:50%;mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px))}.account-sites[aria-busy=true] .account-sites-summary{justify-content:space-between;color:#888}.account-projects{display:grid;gap:12px;padding-bottom:4px}.account-projects .account-usage-label{height:20px;align-items:center}.account-project-count{display:flex;align-items:baseline;gap:6px}.account-project-count strong{font-size:16px;line-height:1;font-weight:500;color:#eee}.account-project-count>span{font-size:12px;color:#909090}.account-project-slots{display:flex;gap:6px}.account-project-slots>span{flex:1;height:4px;border-radius:2px;background:#ffffff0b;box-shadow:inset 0 0 0 1px #ffffff07}.account-project-slots>span[data-used=true]{background:#bda6ef;box-shadow:inset 0 1px #ffffff26}.account-usage-label{line-height:18px;display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#ddd;font-variant-numeric:tabular-nums}.account-usage-label>:last-child{color:#aaa}.account-comments{align-items:center;min-height:24px}.account-comment-count{display:flex;align-items:center;gap:10px}.account-usage-ring{display:block;width:22px;height:22px;flex-shrink:0;border-radius:50%;background:conic-gradient(#bda6ef var(--usage),#ffffff12 0);mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px))}.account-usage-ring[data-full=true]{background:conic-gradient(#f1b77d var(--usage),#ffffff12 0)}.account-sites{border-radius:14px;background:#ffffff05;box-shadow:inset 0 0 0 1px #ffffff09}.account-sites-summary{line-height:18px;width:100%;background:transparent;border-radius:inherit;text-align:left;display:flex;align-items:center;gap:10px;padding:16px;font-size:12px;color:#bbb;cursor:pointer;list-style:none}.account-sites-summary:hover{color:#eee}.account-sites-summary:focus-visible{outline:2px solid #bda6ef;outline-offset:-2px;border-radius:inherit}.account-sites-count{margin-left:auto;color:#888;font-variant-numeric:tabular-nums}.account-sites-summary svg{width:14px;height:14px;color:#888;transform:scaleY(1);transition:transform .25s cubic-bezier(.22,1,.36,1)}.account-sites-summary svg path{vector-effect:non-scaling-stroke}.account-sites[data-open=true] .account-sites-summary svg{transform:scaleY(-1)}.account-sites-reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s cubic-bezier(.22,1,.36,1)}.account-sites[data-open=true] .account-sites-reveal{grid-template-rows:1fr}.account-sites-clip{min-height:0;overflow:hidden;opacity:0;transition:opacity .25s cubic-bezier(.22,1,.36,1)}.account-sites[data-open=true] .account-sites-clip{opacity:1}.account-sites-note{display:flex;align-items:flex-start;gap:7px}.account-sites-note>svg{flex-shrink:0;width:13px;height:13px;margin-top:2px;color:#777}.account-sites-note>span{text-wrap:balance}@media(prefers-reduced-motion:reduce){.account-sites-reveal,.account-sites-clip,.account-sites-summary svg{transition:none}}.account-sites-content{display:grid;gap:14px;padding:0 16px 16px}.account-usage-status,.account-usage-note{font-size:11px;line-height:1.5;color:#909090}@media(max-width:760px),(max-width:1000px)and (max-height:500px){:host(.review-open) .toolbar{bottom:calc(16px + env(safe-area-inset-bottom,0px))}:host(.review-open) .account-layer{position:absolute;top:var(--review-sheet-top,42%);bottom:0;width:100%;padding:calc(24px + env(safe-area-inset-top,0px)) 12px calc(24px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;overflow:hidden}.account-layer .account-dialog{max-height:100%;min-height:0;overscroll-behavior:contain}.account-layer .account{padding:28px 20px 20px}.panel-head .icon{min-width:40px;min-height:40px}.dialog:not(.account-dialog){width:calc(100vw - 32px);max-height:calc(var(--review-viewport-height,100dvh) - 100px)}:host :is(input,textarea,select){font-size:16px!important}:host(.review-open) .panel .sidebar-search-field input{font-size:16px}}@media(prefers-reduced-motion:reduce){:host(.review-open) .panel{animation:none;transition:none}}:host([data-sidebar="edge"]) .edge-sidebar{position:fixed;display:flex;flex-direction:column;width:var(--edge-sidebar-width, 380px);max-width:calc(100dvw - 32px);height:min(calc(100dvh - 32px),600px);max-height:min(calc(100dvh - 32px),680px);background:#0d0d0d;color:#e9e6e1;border-radius:16px;box-shadow:inset 0 0 0 1px #ffffff12,0 24px 70px #0006;overflow:hidden;pointer-events:auto;z-index:4;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .2s ease;transform-origin:right center}:host([data-sidebar="edge"]) .edge-sidebar[data-collapsed=true]{transform:translate(var(--edge-park-x, 404px));opacity:0;pointer-events:none}:host([data-sidebar="edge"]) .edge-sidebar[data-collapsed=true][data-peek=true]{transform:translate(var(--edge-peek-x, -304px)) scale(.96);opacity:1;pointer-events:auto}:host([data-sidebar="edge"]) .edge-sidebar[data-dragging=true]{overflow:visible}:host([data-sidebar="edge"]) .edge-sidebar .edge-sidebar-grip{position:absolute;top:0;left:0;right:0;z-index:7;flex:none;height:30px;display:grid;place-items:center;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}:host([data-sidebar="edge"]) .edge-sidebar .edge-sidebar-grip:before{content:"";width:36px;height:4px;border-radius:999px;background:#fff2}:host([data-sidebar="edge"]) .edge-sidebar .edge-sidebar-grip:hover:before,:host([data-sidebar="edge"]) .edge-sidebar[data-dragging=true] .edge-sidebar-grip:before{background:#ffffff3a}:host([data-sidebar="edge"]) .edge-sidebar[data-dragging=true] .edge-sidebar-grip{cursor:grabbing}.edge-sidebar-resize{position:absolute;z-index:8;touch-action:none}.edge-sidebar-resize-n,.edge-sidebar-resize-s{right:12px;left:12px;height:5px;cursor:ns-resize}.edge-sidebar-resize-e,.edge-sidebar-resize-w{top:12px;bottom:12px;width:5px;cursor:ew-resize}.edge-sidebar-resize-n{top:0}.edge-sidebar-resize-s{bottom:0}.edge-sidebar-resize-e{right:0}.edge-sidebar-resize-w{left:0}.edge-sidebar-resize-ne,.edge-sidebar-resize-nw,.edge-sidebar-resize-se,.edge-sidebar-resize-sw{width:12px;height:12px}.edge-sidebar-resize-ne{top:0;right:0;cursor:nesw-resize}.edge-sidebar-resize-nw{top:0;left:0;cursor:nwse-resize}.edge-sidebar-resize-se{right:0;bottom:0;cursor:nwse-resize}.edge-sidebar-resize-sw{bottom:0;left:0;cursor:nesw-resize}.edge-sidebar-resize-n:after,.edge-sidebar-resize-s:after,.edge-sidebar-resize-e:after,.edge-sidebar-resize-w:after{content:"";position:absolute;border-radius:999px;background:#fff9;opacity:0;transform:scale(.4);transition:opacity .14s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.35,1.55,.65,1)}.edge-sidebar-resize-e:after,.edge-sidebar-resize-w:after{top:50%;width:3px;height:28px;margin-top:-14px}.edge-sidebar-resize-n:after,.edge-sidebar-resize-s:after{left:50%;width:28px;height:3px;margin-left:-14px}.edge-sidebar-resize-w:after{left:7px}.edge-sidebar-resize-e:after{right:7px}.edge-sidebar-resize-n:after{top:7px}.edge-sidebar-resize-s:after{bottom:7px}.edge-sidebar-resize-n:hover:after,.edge-sidebar-resize-s:hover:after,.edge-sidebar-resize-e:hover:after,.edge-sidebar-resize-w:hover:after{opacity:1;transform:scale(1)}.edge-sidebar-snap{pointer-events:none;position:absolute;z-index:9;border-radius:999px;background:#0d0d0d;box-shadow:inset 0 0 0 1px #ffffff12;opacity:0;transition:opacity .14s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.35,1.55,.65,1)}.edge-sidebar-snap-left,.edge-sidebar-snap-right{top:50%;width:4px;height:28px;transform:translateY(-50%) scale(.4)}.edge-sidebar-snap-top,.edge-sidebar-snap-bottom{left:50%;width:28px;height:4px;transform:translate(-50%) scale(.4)}.edge-sidebar-snap-left{left:-8px}.edge-sidebar-snap-right{right:-8px}.edge-sidebar-snap-top{top:-8px}.edge-sidebar-snap-bottom{bottom:-8px}:host([data-sidebar="edge"]) .edge-sidebar[data-snap-x=left] .edge-sidebar-snap-left,:host([data-sidebar="edge"]) .edge-sidebar[data-snap-x=right] .edge-sidebar-snap-right{opacity:1;transform:translateY(-50%) scale(1)}:host([data-sidebar="edge"]) .edge-sidebar[data-snap-y=top] .edge-sidebar-snap-top,:host([data-sidebar="edge"]) .edge-sidebar[data-snap-y=bottom] .edge-sidebar-snap-bottom{opacity:1;transform:translate(-50%) scale(1)}:host([data-sidebar="edge"]) .edge-sidebar .panel{position:relative;z-index:auto;width:100%;height:100%;min-height:0;flex:1;display:flex;flex-direction:column;padding-top:30px;background:transparent;color:inherit;box-shadow:none;border-radius:0}:host([data-sidebar="edge"]) .edge-sidebar .panel .list{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:transparent transparent;scrollbar-gutter:stable;box-sizing:border-box;margin-inline:-12px;padding:0 0 24px;-webkit-mask-image:none;mask-image:none}:host([data-sidebar="edge"]) .edge-sidebar .panel .list[data-scrolling=true],:host([data-sidebar="edge"]) .edge-sidebar .panel .list:hover{scrollbar-color:#ffffff30 transparent}:host([data-sidebar="edge"]) .edge-sidebar-sensor{position:fixed;top:0;bottom:0;width:24px;z-index:3;cursor:pointer;pointer-events:auto}:host([data-sidebar="edge"]) .edge-sidebar-sensor[hidden]{display:none}:host([data-sidebar="edge"]) .toolbar:not([data-edge-tabs=true]){bottom:calc(24px + env(safe-area-inset-bottom,0px))}:host([data-sidebar="edge"]) .toolbar[data-edge-tabs=true]{position:relative;inset:auto;transform:none;flex:none;width:100%;display:flex;justify-content:center;padding:0 12px 12px;z-index:6;pointer-events:none;background:transparent}:host([data-sidebar="edge"]) .toolbar[data-edge-tabs=true] .morphing-menu{pointer-events:auto}:host([data-sidebar="edge"]) .toolbar[data-edge-orient=horizontal] .morphing-menu,:host([data-sidebar="edge"]) .toolbar[data-edge-orient=horizontal] .morphing-menu[data-vertical=true]{width:var(--mm-bar-width);height:var(--mm-bar-height)}:host([data-sidebar="edge"]) .toolbar[data-edge-orient=horizontal] .morphing-menu__bar,:host([data-sidebar="edge"]) .toolbar[data-edge-orient=horizontal] .morphing-menu__shell{flex-direction:row;inset:auto auto 0 50%;translate:-50% 0;width:var(--mm-bar-width);height:var(--mm-bar-height)}:host([data-sidebar="edge"]) .toolbar[data-edge-orient=horizontal] .morphing-menu__shortcut{width:0;height:var(--mm-button);flex:1}:host([data-sidebar="edge"]) .edge-sidebar[data-morphing=true] .panel{padding-top:0;flex-basis:0;overflow:hidden}:host([data-sidebar="edge"]) .edge-sidebar[data-morphing=true] .toolbar[data-edge-tabs=true]{padding-bottom:0}:host([data-sidebar="edge"]) .edge-sidebar:has(>.account-layer){overflow:visible}:host([data-sidebar="edge"]) .edge-sidebar>.account-layer{position:absolute;inset:12px 10px auto;width:auto;height:auto;padding:0;background:none;place-items:start stretch;pointer-events:none;z-index:10}:host([data-sidebar="edge"]) .edge-sidebar>.account-layer .account-dialog{max-height:min(calc(100dvh - 32px),var(--edge-account-max-height, calc(100dvh - 120px) ));width:100%;pointer-events:auto}:host([data-sidebar="edge"]) .toolbar[data-hidden=true]>.morphing-menu{transition:none}.toolbar[data-hidden=true]{pointer-events:none}.toolbar[data-hidden=true]>.morphing-menu{translate:0 8px;scale:.92;opacity:0;filter:blur(6px)}@media(prefers-reduced-motion:reduce){:host([data-sidebar="edge"]) .edge-sidebar{transition:none}.toolbar[data-hidden=true]>.morphing-menu{translate:none;scale:1;filter:none}}.sidebar-tooltip{position:fixed;z-index:30;translate:-50% 0}.sidebar-tip{position:absolute;z-index:5;translate:none;display:flex;align-items:center;gap:2px;width:max-content;max-width:236px;padding:8px 4px 8px 12px;white-space:normal;overflow:visible;pointer-events:auto}.sidebar-tip[hidden]{display:none}.sidebar-tip p{margin:0;font-size:13px;line-height:18px}.sidebar-tip .icon{flex:none;width:24px;height:24px;border-radius:8px;color:inherit;opacity:.45}.sidebar-tip .icon:hover{opacity:1;background:light-dark(#0000000d,#ffffff14)}.sidebar-tip .icon svg{width:14px;height:14px}.sidebar-tip:before{content:"";position:absolute;left:var(--caret-x);bottom:100%;width:10px;height:10px;margin:0 0 -5px -5px;background:inherit;border-radius:2px 0;rotate:45deg}.sidebar-tip[data-tip=shortcut]:before{bottom:auto;top:100%;margin:-5px 0 0 -5px}.list[data-empty]{display:flex;flex-direction:column}.list[data-empty] .empty{flex:1;align-content:center}.sidebar-tooltip,.sidebar-tip{transition:var(--duration-quick) var(--ease-smooth-out);transition-property:opacity,transform,filter}.sidebar-tooltip:not([data-open]),.sidebar-tip[data-leaving]{opacity:0;transform:translateY(-4px);filter:blur(2px)}.sidebar-tip{transform-origin:var(--caret-x) top;animation:tip-in var(--duration-fast) var(--ease-smooth-out) backwards}.sidebar-tip[data-tip=shortcut]{transform-origin:var(--caret-x) bottom}@keyframes tip-in{0%{opacity:0;transform:scale(.98)}}.edge-sidebar:not([data-tips-ready]) .sidebar-tip{opacity:0;animation:none;pointer-events:none}[data-tips-restored] .sidebar-tip{animation:none;transition:none}@media(hover:none){.sidebar-tip[data-tip=shortcut]{display:none}}@media(prefers-reduced-motion:reduce){.sidebar-tooltip,.sidebar-tip{transition:none;animation:none}}:host([data-sidebar="mobile"]) .sidebar-tip{display:none!important}:host([data-sidebar="mobile"]) .panel{position:fixed;inset:auto 12px calc(var(--mobile-panel-bottom,0px) + 6px);width:auto;height:var(--mobile-panel-height,90vh);min-height:0;padding:20px 20px 10px;display:flex;flex-direction:column;background:#0d0d0d;color:#e9e6e1;border-radius:24px;box-shadow:0 -1px #ffffff24;overflow:hidden;pointer-events:none;visibility:hidden;opacity:0;transform-origin:bottom center;translate:var(--mobile-pill-x,0px) var(--mobile-pill-y,-24px);scale:var(--mobile-pill-scale-x,.6) var(--mobile-pill-scale-y,.08);will-change:translate,scale,opacity;transition:translate .32s cubic-bezier(.22,1,.36,1),scale .32s cubic-bezier(.22,1,.36,1),opacity .15s ease,visibility 0s linear .32s;z-index:8}:host([data-sidebar="mobile"].review-open:not([data-mobile-entering])) .panel{pointer-events:auto;visibility:visible;opacity:1;translate:0 0;scale:1;transition:translate .32s cubic-bezier(.22,1,.36,1),scale .32s cubic-bezier(.22,1,.36,1),opacity .15s ease,visibility 0s}:host([data-sidebar="mobile"]) .panel:before{display:none}:host([data-sidebar="mobile"]) .panel .list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;margin-inline:0;padding-bottom:calc(88px + env(safe-area-inset-bottom,0px));-webkit-mask-image:none;mask-image:none;scrollbar-gutter:auto}:host([data-sidebar="mobile"]) .toolbar{position:absolute;z-index:10}:host([data-sidebar="mobile"].review-open) .toolbar .morphing-menu{--mm-surface:#282828}:host([data-sidebar="mobile"].review-open) .toolbar .morphing-menu__shell{backdrop-filter:none}:host([data-sidebar="mobile"]) .account-layer{position:fixed;inset:auto 20px calc(var(--mobile-panel-bottom,0px) + 14px);width:auto;height:calc(var(--mobile-panel-height,90vh) - 16px);padding:0;background:none;border-radius:0;overflow:visible;pointer-events:none;z-index:11}:host([data-sidebar="mobile"]) .account-layer .account-dialog{max-width:100%;max-height:100%;pointer-events:auto}@media(prefers-reduced-motion:reduce){:host([data-sidebar="mobile"]) .panel{transition:none}}.panel[data-thread]>:not(.thread-pane){visibility:hidden}.thread-pane{position:absolute;inset:0;padding:inherit;display:flex;flex-direction:column;pointer-events:none}:host([data-sidebar="background"]) .thread-pane{padding-bottom:96px}:host([data-sidebar="edge"]) .thread-pane{padding-bottom:44px}.thread-pane .dialog{position:static;flex:1;min-height:0;width:auto;max-width:none;max-height:none;margin:0 -16px;background:none;box-shadow:none;border-radius:0}.thread-pane .dialog-head{position:static;height:auto;padding:0 16px 8px;background:none;gap:4px}.thread-pane .messages{max-height:none}.thread-pane .composer{margin-top:auto}.message-content:has(>.thread-tags){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 8px}.message-content:has(>.thread-tags)>.message-text{grid-column:1;grid-row:1}.message-content>.thread-tags{grid-column:1;grid-row:2;margin:8px 0 0}.message-content:has(>.thread-tags)>.message-reaction{grid-column:2;grid-row:1}.thread-pane .message:first-child>.row{padding-right:0}.component-hover[data-thread]{outline:2px solid var(--accent, #bda6ef);background:none;transition:opacity .15s ease}.pins[data-quiet] .pin.active:not([data-moving]){scale:.7;opacity:.6;box-shadow:0 0 0 2px #fff;transition:opacity .15s ease}.pins[data-outlined] .pin.active:not([data-moving]){opacity:0;pointer-events:none}.thread-pane .icon:focus-visible{outline:2px solid var(--accent, #bda6ef);outline-offset:2px}@media(prefers-reduced-motion:reduce){.component-hover,.pins .pin.active{transition:none}}.thread-back{margin-left:-6px}.thread-back svg{rotate:90deg}.thread-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500}\n';let Tn=$("div","catch");Tn.hidden=!0;let _n=$("div","pins"),Rn=$("div"),qn=$("div","toolbar"),Pn=$("div"),Wn=$("div");Pn.tabIndex=-1,ye&&Pn.classList.add("edge-sidebar");let On=$("div","edge-sidebar-sensor");On.hidden=!0,Object.assign(_n.style,{position:"fixed",inset:"0"});let Hn=$("div","pin-preview");Hn.hidden=!0;let Bn=0,Dn=!1,In=!1,Fn=null,Yn=null,Nn=null,Xn="",Un=(e=!1)=>{if(window.clearTimeout(Bn),Hn.hidden||In&&!e)return;if(ln?.resetDesignPreviews(new Set([...nt.find(e=>e.id===it&&lt(e))?.comments.map(e=>e.id)??[],"draft"])),In=!0,Yn?.cancel(),e||w())return Hn.hidden=!0,void(Fn=null);let t=Hn.animate([{opacity:1,transform:"scale(1)"},{opacity:0,transform:"translateY(3px) scale(.99)"}],{duration:150,easing:"cubic-bezier(.22,1,.36,1)",fill:"forwards"});Yn=t,t.finished.then(()=>{Yn===t&&(Hn.hidden=!0,Fn=null)}).catch(()=>{})};Hn.addEventListener("pointerenter",()=>{Dn||Ht||Gt||(In=!1,window.clearTimeout(Bn),Yn?.cancel())}),Hn.addEventListener("pointerleave",()=>Un());let Vn=$("div","component-hover");Vn.setAttribute("aria-hidden","true");let Kn=null,Jn=null,Gn=0,Zn=$("div","sr-only");Zn.setAttribute("aria-live","polite");let Qn=function(e,t){let n,i,a,o,r=!1,s=!1,l=new AbortController;e.addEventListener("pointerdown",()=>{s=!0},{capture:!0,signal:l.signal});let d=()=>{s=!1,setTimeout(()=>{o?.(),o=void 0},0)};document.addEventListener("pointerup",d,{capture:!0,signal:l.signal}),document.addEventListener("pointercancel",d,{capture:!0,signal:l.signal});let c=()=>i||r?Promise.resolve():a||(a=import("./toolbar-runtime-Y4YAL3P7.js").then(async t=>{if(s&&await new Promise(e=>{o=e}),r)return;let a=e.getRootNode().activeElement?.dataset.menuItem;i=t.mountToolbar(e,n),a&&e.querySelector(`[data-menu-item="${a}"]`)?.focus({preventScroll:!0})}).catch(()=>{a=void 0}),a);return e.addEventListener("pointerenter",()=>{c()},{once:!0}),e.addEventListener("focusin",()=>{c()},{once:!0}),{render(a){if(n=a,r)return;if(i)return void i.render(n);let o=$("nav","morphing-menu");o.setAttribute("aria-label",n.label??"Website review"),o.dataset.view="collapsed",o.dataset.edge=n.edge??"bottom",o.dataset.vertical=String("left"===n.edge||"right"===n.edge),o.dataset.alignEnd=String(!!n.alignEnd);let s=n.items.filter(e=>!1!==e.showInBar);o.style.setProperty("--mm-count",String(s.length+1));let l=$("div","morphing-menu__shell"),d=$("div","morphing-menu__bar");for(let e of s){let i=z(e.label,()=>{e.onSelect?.(),c()},"morphing-menu__shortcut");i.title=e.label,i.dataset.menuItem=e.id,e.id===n.activeId&&i.setAttribute("aria-current","page"),i.replaceChildren(t("glyph"in e.icon?e.icon.glyph:e.id)),d.append(i)}let p=z(n.moreLabel??"More review tools",()=>{c().then(()=>{i?e.querySelector('[data-menu-item="more"]')?.click():(p.title="Could not load menu. Tap to retry.",p.setAttribute("aria-label",p.title))})},"morphing-menu__shortcut");p.dataset.menuItem="more",p.setAttribute("aria-expanded","false"),p.replaceChildren(E("drawer")),d.insertBefore(p,d.querySelector('[data-menu-item="dismiss"]')),l.append(d),o.append(l),e.replaceChildren(o)},unmount(){r=!0,l.abort(),o?.(),i?.unmount(),e.replaceChildren()}}}(qn,e=>{if("account"===e){if(!He.user)return E("person");let e=L(He.user);return e.classList.add("review-avatar"),e}return E(e)});Ln.append(Mn,Tn,Vn,_n,Pn,On,Rn,Hn,Wn,qn,Zn),document.body.append(An);let ei=0,ti=0,ni=new MutationObserver(e=>{if(Date.now()-ti>1e3&&([ei,ti]=[0,Date.now()]),++ei<20)for(let t of e)An.removeAttribute(t.attributeName)});ni.observe(An,{attributeFilter:["aria-hidden","inert"]});let ii=document.documentElement;function ai(e,t){return Object.fromEntries(t.map(t=>[t,e.style[t]]))}let oi=ai(me,["width","boxSizing","zoom","transformOrigin","transform","position","left","top","height","minHeight","paddingBottom","overflow","borderRadius","background"]),ri=Object.keys(oi).map(e=>e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)),si=O(me,ri),li=ai(document.body,["overflow","background"]),di=O(document.body,["overflow","background"]),ci=O(ii,["overflow","background"]),pi=new Map,ui=ii.style.background,hi=function(e,t,n,i){let a,o=new Map,r=null,s=0,l=!1,d=0,c=()=>{d||(d=requestAnimationFrame(()=>{d=0,e.ownerDocument.defaultView?.dispatchEvent(new Event("resize")),h()}))},p=new ResizeObserver(h),u=new MutationObserver(n=>{r&&n.some(n=>{let i=n.target;return i instanceof HTMLElement&&i!==t&&!t.contains(i)&&i!==e&&!e.contains(i)&&("attributes"!==n.type||"style"!==n.attributeName||o.get(i)?.style!==i.getAttribute("style")&&![...o.values()].some(e=>e.constraints?.get(i)?.style===i.getAttribute("style")))})&&h()});function h(){s||!r||(s=requestAnimationFrame(()=>{s=0,b(),i()}))}function m(e,t){!t.animation&&e.style.translate!==t.appliedTranslate&&(t.translate=P(e,"translate")),!t.animation&&e.style.scale!==t.appliedScale&&(t.scale=P(e,"scale")),t.animation?.cancel(),t.animation||(W(e,"translate",t.translate),W(e,"scale",t.scale),D(e,["translate","scale"]));for(let[e,n]of t.constraints??[])g(e,n);p.unobserve(e)}function g(e,t,n=!1){for(let[n,i]of t.properties)e.style.getPropertyValue(n)!==i.applied&&(i.original=P(e,n)),W(e,n,i.original);n||p.unobserve(e)}function f(e,t,n,i){t.constraints??=new Map;let a=t.constraints.get(e);a||(a={properties:new Map,style:null},t.constraints.set(e,a),p.observe(e));let o=getComputedStyle(e),r=e=>"border-box"===o.boxSizing?0:"Width"===e?(parseFloat(o.paddingLeft)||0)+(parseFloat(o.paddingRight)||0)+(parseFloat(o.borderLeftWidth)||0)+(parseFloat(o.borderRightWidth)||0):(parseFloat(o.paddingTop)||0)+(parseFloat(o.paddingBottom)||0)+(parseFloat(o.borderTopWidth)||0)+(parseFloat(o.borderBottomWidth)||0),s={"min-width":"0px","min-height":"0px","max-width":`${Math.max(1,n-r("Width"))}px`,"max-height":`${Math.max(1,i-r("Height"))}px`,overflow:"auto"};for(let[t,n]of Object.entries(s)){let i=a.properties.get(t);i?e.style.getPropertyValue(t)!==i.applied&&(i.original=P(e,t),t.startsWith("max-")&&(i.maximum=o.getPropertyValue(t))):a.properties.set(t,i={original:P(e,t),applied:"",maximum:t.startsWith("max-")?o.getPropertyValue(t):void 0});let r=i.maximum;e.style.setProperty(t,r&&"none"!==r?`min(${r}, ${n})`:n,"important"),i.applied=e.style.getPropertyValue(t)}D(e,Object.keys(s)),a.style=e.getAttribute("style")}function b(){if(!r)return;let i=new Set,a=!1,s=(n,d)=>{if(n===t||n.contains(e))return;let c=getComputedStyle(n).position;if(!1===d)return;if(!0!==d&&"fixed"!==c){for(let e of n.children)e instanceof HTMLElement&&s(e);return}i.add(n);let u=o.get(n);if(u)u.animation&&(n.style.getPropertyPriority("translate")||n.style.getPropertyPriority("scale"))&&(u.animation.cancel(),u.animation=void 0,u.translate=P(n,"translate"),u.scale=P(n,"scale"),u.appliedTranslate=n.style.translate,u.appliedScale=n.style.scale),!u.animation&&n.style.translate!==u.appliedTranslate&&(u.translate=P(n,"translate")),!u.animation&&n.style.scale!==u.appliedScale&&(u.scale=P(n,"scale")),n.style.transform!==u.transform&&(u.transform=n.style.transform,u.positioningFrame={...r});else{if(u={translate:P(n,"translate"),scale:P(n,"scale"),appliedTranslate:n.style.translate,appliedScale:n.style.scale,style:n.getAttribute("style"),transform:n.style.transform,positioningFrame:l?null:{...r}},"function"==typeof n.animate&&!u.scale.priority&&!u.translate.priority)try{let e=n.animate(B(1),{duration:1,fill:"both",composite:"add"});"add"===e.effect?.composite?(u.animation=e,e.pause(),e.currentTime=0):e.cancel()}catch{}o.set(n,u),p.observe(n)}u.animation?u.animation.effect.setKeyframes(B(1)):(W(n,"translate",u.translate),W(n,"scale",u.scale),D(n,["translate","scale"]));let h='[role="dialog"], [role="alertdialog"]',m=n.matches(h)?null:n.querySelector(h);for(let[e,t]of u.constraints??[])e!==n&&(g(e,t,e===m),u.constraints.delete(e));let b=getComputedStyle(n),x=H(b.translate),w=r.scale,v=r.zoom??1,y=!0!==d&&!!n.style.transform&&!n.style.transform.includes("%")&&/^(?:translate(?:3d|X|Y)?\([^%]+\)\s*)+$/i.test(n.style.transform),k=n.getBoundingClientRect(),S=[r.left,r.top],C=r.bounds??e.getBoundingClientRect(),$=y?8/v:0,E=[C.width-2*$,C.height-2*$];if(C.width&&C.height&&(u.constraints?.has(n)||k.width/v*w>E[0]||k.height/v*w>E[1])&&f(n,u,E[0]/w,E[1]/w),m instanceof HTMLElement&&C.width&&C.height){let e=m.getBoundingClientRect();if(u.constraints?.has(n)||e.width/v*w>E[0]||e.height/v*w>E[1]){let e=e=>{let t="Width"===e?["left","right"]:["top","bottom"],i=0;for(let e=m;e!==n&&e.parentElement;e=e.parentElement){let a=getComputedStyle(e),o=getComputedStyle(e.parentElement);for(let r of t)i+=(parseFloat(a.getPropertyValue(`margin-${r}`))||0)+(parseFloat(o.getPropertyValue(`padding-${r}`))||0)+(e.parentElement===n?0:parseFloat(o.getPropertyValue(`border-${r}-width`))||0)}return Math.min(E["Width"===e?0:1]/w,n[`client${e}`])-i};f(m,u,e("Width"),e("Height"))}u.constraints?.has(m)||p.unobserve(m)}let z=n.getBoundingClientRect(),j=y?[z.left/v,z.top/v]:null,A=getComputedStyle(n).transformOrigin.split(" ").map(parseFloat),L=[n.offsetLeft,n.offsetTop],M=S.map((e,t)=>{let n=L[t]+(A[t]||0),i=e-(1-w)*n;if(j&&z){let a=u.positioningFrame,o=e+w*(j[t]-(a?[a.left,a.top][t]:0))/(a?.scale??1);if(C.width&&C.height){let e=[C.left,C.top][t]+$,n=[C.right,C.bottom][t]-$-[z.width,z.height][t]/v*w;o=Math.max(e,Math.min(n,o))}i=o-w*j[t]-(1-w)*n}return`calc(${i}px + ${u.animation?w-1:w} * ${x[t]??"0px"})`}).join(" ");u.animation?u.animation.effect.setKeyframes(B(w,M)):(n.style.setProperty("translate",M,u.translate.priority),n.style.setProperty("scale",H(b.scale).length?H(b.scale).map(e=>String(Number(e)*w)).join(" "):String(w),u.scale.priority),D(n,["translate","scale"])),u.appliedTranslate=n.style.translate,u.appliedScale=n.style.scale,u.style=n.getAttribute("style"),a||=(n.getAnimations?.()??[]).some(e=>e!==u.animation&&"running"===e.playState&&e.effect?.getKeyframes().some(e=>Object.keys(e).some(e=>/^(transform|translate|scale|left|top|width|height)$/.test(e))))};for(let e of document.body.children)e instanceof HTMLElement&&s(e,n?.(e));for(let[e,t]of o)i.has(e)||(m(e,t),o.delete(e));a&&h()}function x(){cancelAnimationFrame(s),s=0,a?.abort(),a=void 0,u.disconnect(),p.disconnect();for(let[e,t]of o)m(e,t);o.clear()}return{update(t){let n=r;if(l=!n&&!!t,r=t,!t)return x(),void(n&&c());if(!a){a=new AbortController,u.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style","class","data-state"]});for(let e of["animationend","animationcancel","transitionend","transitioncancel"])document.addEventListener(e,h,{capture:!0,signal:a.signal});e.addEventListener("scroll",c,{passive:!0,signal:a.signal})}b(),l=!1,(!n||n.scale!==t.scale||n.left!==t.left||n.top!==t.top)&&c()},reposition:c,destroy(){r=null,x(),cancelAnimationFrame(d)}}}(me,An,R.frame?.include,ur);function mi(){let e=parseFloat(me.style.left)||0,t=parseFloat(me.style.top)||0,n=(parseFloat(me.style.width)||me.offsetWidth)*Aa,i=(parseFloat(me.style.height)||me.offsetHeight)*Aa;hi.update(xi&&!De?{scale:Aa,left:e,top:t,zoom:ta(),bounds:{left:e,top:t,right:e+n,bottom:t+i,width:n,height:i}}:null)}function gi(){let e=xi||wi,t=[document.body.style.background,ii.style.background];e&&(document.body.style.background=li.background,ii.style.background=ui);let n=[document.body,ii].map(e=>getComputedStyle(e).backgroundColor).find(e=>"rgba(0, 0, 0, 0)"!==e)??"#fff";return e&&([document.body.style.background,ii.style.background]=t,bi.takeRecords()),n}let fi=0,bi=new MutationObserver(()=>{fi||=requestAnimationFrame(()=>{fi=0,vi=gi(),(xi||wi)&&(me.style.background=vi)})}),xi=!1,wi=!1,vi=gi();for(let e of[ii,document.body])bi.observe(e,{attributes:!0});let yi,ki=0,Si=!1,Ci=!1,$i=function(e,t="session"){let n;try{"always"!==t&&localStorage.removeItem(e)}catch{}try{n="always"===t?localStorage:t?sessionStorage:void 0}catch{}return{get(){try{return"1"===n?.getItem(e)}catch{return!1}},set(t){try{t?n?.setItem(e,"1"):n?.removeItem(e)}catch{}}}}(`branch-comments:open:${R.project}:${R.repo}`,R.restoreOpen),Ei=`branch-comments:toolbar-dismissed:${R.project}:${R.repo}`;try{"1"===sessionStorage.getItem(Ei)&&(Xe=!0,Ne=!0)}catch{}let zi,ji,Ai,Li=!1,Mi=[],Ti=0,_i=!1,Ri=null;function qi(e){!qn.offsetWidth||!qn.offsetHeight||(Lt=N(e,qn.offsetWidth,qn.offsetHeight,ii.clientWidth,window.innerHeight),qn.style.left=`${Lt.x+qn.offsetWidth/2}px`,"bottom"!==Lt.edgeY||ve?(qn.style.top=`${Lt.y}px`,qn.style.bottom="auto"):(qn.style.top="auto",qn.style.bottom="calc(16px + env(safe-area-inset-bottom,0px))"))}function Pi(e){if("true"===Pn.dataset.dragging)return en=e,Pn.style.left=`${e.x}px`,void(Pn.style.top=`${e.y}px`);Pn.offsetWidth&&(en=N(e,Pn.offsetWidth,Pn.offsetHeight,ii.clientWidth,window.innerHeight),Bi())}function Wi(){Pn.style.width=`${an}px`,Pn.style.height=null==on?"":`${on}px`,ho()}function Oi(){Qt=en;try{localStorage.setItem(tn,JSON.stringify({...Qt,width:an,height:on}))}catch{}}function Hi(){let e=ii.clientWidth,t=window.innerHeight;an=Math.min(Math.max(an,K),Math.max(K,e-32)),null!=on&&(on=Math.min(Math.max(on,J),Math.max(J,Math.min(t-32,680)))),Wi()}function Bi(){if(ve||!ye)return;Hi();let e=Pn.offsetHeight||Math.min(window.innerHeight-32,680),t=function(e,t,n,i,a){let o=N(e??{x:Math.max(V,i-t-V),y:V},t,n,i,a),r="left"===o.edgeX?"left":"right";return{x:o.x,y:o.y,width:t,height:n,side:r}}(en,an,e,ii.clientWidth,window.innerHeight),n=function(e,t){let n="right"===e.side?t+24:-(e.width+24),i="right"===e.side?t-76:76-e.width;return{parked:n-e.x,peek:i-e.x}}(t,ii.clientWidth);Pn.style.left=`${t.x}px`,Pn.style.top=`${t.y}px`,Pn.style.setProperty("--edge-account-max-height",`${Math.max(0,window.innerHeight-t.y-28)}px`),Pn.style.right="auto",Pn.style.bottom="auto",Pn.style.transformOrigin="left"===t.side?"left center":"right center",Pn.style.setProperty("--edge-park-x",`${n.parked}px`),Pn.style.setProperty("--edge-peek-x",`${n.peek}px`),On.style.left="left"===t.side?"0px":"",On.style.right="right"===t.side?"0px":"",Ie?(delete Pn.dataset.collapsed,delete Pn.dataset.peek,On.hidden=!0):(Pn.dataset.collapsed="true",nn?Pn.dataset.peek="true":delete Pn.dataset.peek,On.hidden=!1)}function Di(){An.dataset.sidebar=ve?"mobile":ye?"edge":"background",Pn.classList.toggle("edge-sidebar",ye),Pn.style.transition="none",Pn.style.translate="",Pn.style.opacity="",Na(!0),ye?Ki.isConnected||Pn.prepend(Ki):(Ki.remove(),delete Pn.dataset.collapsed,delete Pn.dataset.peek,On.hidden=!0),Pn.offsetWidth,Pn.style.transition=""}let Ii=[],Fi=!1;function Yi(){for(let e of Ii)e.cancel();Ii=[],wi=!1,_n.style.opacity=""}function Ni(e,t){if(ve||e===we||De||!ge&&"background"===e)return;let n=()=>[me,Pn.querySelector(".panel"),qn,Rn.querySelector(".account-dialog")],i=n().map(e=>e?.getBoundingClientRect());if(Yi(),yi?.cancel(),yi=void 0,zi?.stop(),zi=void 0,Na(!0),Da(),qa(),qn.style.translate="",ji=void 0,Fi=!0,we=e,ye="edge"===e,!t){ke=!1,R={...R,sidebar:e};try{localStorage.setItem(fe,e)}catch{}}if(Di(),_a(),sr(),Fi=!1,w())return;n().forEach((e,t)=>{let n=i[t];if(!e?.isConnected||!n?.width||e===me&&!0!==R.frame?.scale)return;e!==me&&e.getAnimations().forEach(e=>e.cancel());let a=e.getBoundingClientRect();if(!a.width)return;let o=a.width/e.offsetWidth,r=getComputedStyle(e).transform;Ii.push(e.animate([{transform:`${"none"===r?"":r} translate(${(n.left-a.left)/o}px, ${(n.top-a.top)/o}px) scale(${n.width/a.width})`,transformOrigin:"top left"},{transform:r,transformOrigin:"top left"}],{duration:250,easing:"cubic-bezier(0.22, 1, 0.36, 1)"}))});let a=Ii;wi=!0,_n.style.opacity="0",Promise.all(a.map(e=>e.finished)).then(()=>{De||a!==Ii||(Ii=[],wi=!1,_n.style.opacity="",mi(),hi.reposition(),ur())}).catch(()=>{})}function Xi(e,n,i,a,o){let r=$("div","account-setting"),s=$("span","account-setting-label",n),l=t(n,i,a,e=>o(e));return l.querySelector("summary").dataset.focusKey=`setting-${e}`,r.append(s,l),r}function Ui(e){if(e!==Oe&&!De){if(Ge||pt.busy)return void ca("Wait for your changes to save.");Oe=e;try{localStorage.setItem(We,e)}catch{}R={...R,branch:"local"===e?"local":Te},He.cancelReads(),He=new i(R),Ze=Rt=!1,xa=void 0,Tt="",_t=null,wt="Connecting",Ot=It=Ft=Yt=qt=!1,it=null,at=null,Nt=null,Vi(),sr(),fa()}}function Vi(){st(),et++,Ze=!1,Tt="",it=null,xa=void 0;let e=He.cached();Qe=null!==e,pt.reset(wa(e??[]))}let Ki=$("div","edge-sidebar-grip");Ki.setAttribute("aria-hidden","true");let Ji=e=>U(Pn,e,Pi,Be.signal,()=>{$e=!1,ze=!0,Qi.show()},()=>{Oi(),Qi.update()},()=>Ie&&ye&&!_i);Ji(Ki),Pn.prepend(Ki);let Gi=["n","s","e","w","ne","nw","se","sw"];for(let e of Gi){let t=$("div",`edge-sidebar-resize edge-sidebar-resize-${e}`);t.addEventListener("pointerdown",t=>{if(0!==t.button||!Ie||!ye||_i)return;t.preventDefault(),t.stopPropagation();for(let e of Pn.getAnimations())e.cancel();Pn.style.transition="none";let n=Pn.getBoundingClientRect(),i=t.clientX,a=t.clientY,o=o=>{if(o.pointerId!==t.pointerId)return;let r=Z(e,n,o.clientX-i,o.clientY-a,ii.clientWidth,window.innerHeight);an=r.width,(e.includes("n")||e.includes("s"))&&(on=r.height),en={x:r.left,y:r.top},Pn.style.left=`${r.left}px`,Pn.style.top=`${r.top}px`,Wi()},r=e=>{e.pointerId===t.pointerId&&(window.removeEventListener("pointermove",o,!0),window.removeEventListener("pointerup",r,!0),window.removeEventListener("pointercancel",r,!0),Pn.style.transition="",Oi(),Bi())};window.addEventListener("pointermove",o,{capture:!0,passive:!1}),window.addEventListener("pointerup",r,!0),window.addEventListener("pointercancel",r,!0)},{signal:Be.signal}),Pn.append(t)}for(let e of["left","right","top","bottom"])Pn.append($("div",`edge-sidebar-snap edge-sidebar-snap-${e}`));let Zi=e=>{nn=e,!Ie&&ye&&!_i&&Bi()};On.addEventListener("pointerenter",()=>Zi(!0)),On.addEventListener("pointerleave",()=>Zi(!1)),On.addEventListener("pointerup",e=>{0===e.button&&!Ie&&Xa(!0)}),Pn.addEventListener("pointerenter",()=>Zi(!0)),Pn.addEventListener("pointerleave",()=>Zi(!1)),window.addEventListener("resize",()=>{De||!ye||_i||(Hi(),Bi())},{signal:Be.signal,passive:!0}),Di();let Qi=function(e,t,n,i=!0){if(!i)return{show(){},update(){}};let a,o=0,r=0,s=0,l=0,d=0,c=matchMedia("(hover: hover) and (pointer: fine)");c.matches&&(e.dataset.away="true",e.dataset.intro="true",e.dataset.introWait="true");let p=()=>{let t=e.getBoundingClientRect(),n=[t.left,window.innerWidth-t.right,t.top,window.innerHeight-t.bottom],i=n.indexOf(Math.min(...n));e.style.setProperty("--drawer-peek-y",window.innerHeight-t.top-t.height/2+"px"),e.style.setProperty("--drawer-intro-y",window.innerHeight-t.top+8+"px"),e.style.setProperty("--drawer-away-x",(0===i?-24:1===i?24:0)+"px"),e.style.setProperty("--drawer-away-y",(2===i?-24:3===i?24:0)+"px")},u=()=>{clearTimeout(s),clearTimeout(l),delete e.dataset.peek,delete e.dataset.intro,delete e.dataset.introWait,clearTimeout(d),clearTimeout(o),o=0,delete e.dataset.away},h=()=>{if(!c.matches||t())return void u();let n=e.getBoundingClientRect(),i=a&&a.x>=n.left-72&&a.x<=n.right+72&&a.y>=n.top-72&&a.y<=n.bottom+72,r=e.querySelector(".morphing-menu"),s=e.getRootNode()instanceof ShadowRoot&&e.contains(e.getRootNode().activeElement);!c.matches||t()||i||s||e.dataset.dragging||r&&"collapsed"!==r.getAttribute("data-view")?u():o||e.dataset.away||(o=window.setTimeout(()=>{o=0,p(),e.dataset.away="true"},450))},m=()=>{!c.matches||n.aborted||(s=window.setTimeout(()=>{if(!e.dataset.away||t())return;p();let n=e.querySelector(".morphing-menu");n&&getComputedStyle(n).translate,delete e.dataset.introWait,e.dataset.peek="true",l=window.setTimeout(()=>{delete e.dataset.peek,d=window.setTimeout(()=>{delete e.dataset.intro},300)},900)},700))};"complete"===document.readyState?m():window.addEventListener("load",m,{once:!0,signal:n}),document.addEventListener("pointermove",e=>{a={x:e.clientX,y:e.clientY},r||(r=requestAnimationFrame(()=>{r=0,h()}))},{passive:!0,signal:n}),e.addEventListener("focusin",u,{signal:n}),e.addEventListener("focusout",()=>queueMicrotask(h),{signal:n});let g=new MutationObserver(h);return g.observe(e,{subtree:!0,attributes:!0,attributeFilter:["data-view","data-dragging"]}),n.addEventListener("abort",()=>{clearTimeout(o),cancelAnimationFrame(r),clearTimeout(s),clearTimeout(l),clearTimeout(d),g.disconnect()},{once:!0}),{show:u,update:h}}(qn,()=>Ie||Fe||Je||!!at||!!it,Be.signal,R.autoHideDrawer);U(qn,qn,qi,Be.signal,()=>{Qi.show(),zi?.stop(),qn.style.translate="0px 0px"},()=>{Mt=Lt;try{localStorage.setItem(Zt,JSON.stringify(Mt))}catch{}Za(),Qi.update()},()=>!Ie,e=>!!e.closest(".morphing-menu__shortcut"));let ea=new ResizeObserver(()=>{"true"!==qn.dataset.edgeTabs&&(Lt?qi(Lt):R.drawerContainer&&Za())});ea.observe(qn),R.drawerContainer&&ea.observe(R.drawerContainer);let ta=()=>ii.currentCSSZoom??1;function na(){return function(e){return e.replace(/\/+$/,"")||"/"}(R.page?.()??location.pathname)}let ia=new WeakMap,aa=null,oa=0,ra=new WeakMap;function sa(){cancelAnimationFrame(oa),!De&&Ln.querySelector(".floating-notice")&&(pa(),oa=requestAnimationFrame(sa))}function la(e=at??nt.find(e=>e.id===it)?.anchor){let t=Rn.firstElementChild?.getBoundingClientRect();if(!t||Je)return;let n=e?Vo(e):null;return{cardKey:Ut,left:t.left,top:t.top,anchor:e,offsetX:t.left-(n?.x??0),offsetY:t.top-(n?.y??0),scrollX:window.scrollX,scrollY:window.scrollY}}function da(e){e.dataset.closing||(e.dataset.closing="true",e.inert=!0,e.setAttribute("aria-hidden","true"),aa===e&&(aa=null,clearTimeout(Cn)),w()?e.remove():e.animate([{opacity:getComputedStyle(e).opacity,translate:"0px 0px",scale:1},{opacity:0,translate:"true"===e.dataset.attached?`0px ${("above"===e.dataset.placement?1:-1)*(e.offsetHeight/2+10)}px`:"0px 3px",scale:"true"===e.dataset.attached?.94:.99}],{duration:150,easing:"cubic-bezier(.22,1,.36,1)",fill:"forwards"}).finished.catch(()=>{}).finally(()=>e.remove()))}function ca(e,t,n=la()){Zn.textContent=e,aa&&da(aa);let i=$("div","toast floating-notice");aa=i,n&&ia.set(i,n),i.setAttribute("role",t?"alertdialog":"status"),i.setAttribute("aria-label",e),i.append(E("info"),$("span","",e)),t&&i.append(z(t.label,()=>{da(i),t.run()},"notice-action")),i.append(z("Dismiss notice",()=>da(i),"icon","close")),Ln.append(i),pa(),sa(),w()||i.animate([{opacity:0,translate:"true"===i.dataset.attached?`0px ${("above"===i.dataset.placement?1:-1)*(i.offsetHeight/2+10)}px`:"0px 6px",scale:"true"===i.dataset.attached?.94:.97},{opacity:1,translate:"0px 0px",scale:1}],{duration:250,easing:"cubic-bezier(.22,1,.36,1)"}),clearTimeout(Cn),Cn=window.setTimeout(()=>da(i),5e3)}function pa(){for(let e of Ln.querySelectorAll(".floating-notice")){let t=ia.get(e);if(!t)continue;let n=t.anchor?Vo(t.anchor):null,i=(Je||Ut!==t.cardKey?null:Rn.firstElementChild)?.getBoundingClientRect();i&&(e.style.maxWidth=`${Math.min(360,i.width,innerWidth-24)}px`,t.left=i.left,t.top=i.top,t.offsetX=i.left-(n?.x??0),t.offsetY=i.top-(n?.y??0),t.scrollX=window.scrollX,t.scrollY=window.scrollY);let a=i?i.left+(i.width-e.offsetWidth)/2:n?n.x+t.offsetX:t.left+t.scrollX-window.scrollX,o=!!i&&i.bottom+10+e.offsetHeight>innerHeight-12;e.dataset.placement=o?"above":"below";let r=i?o?i.top-e.offsetHeight-10:i.bottom+10:n?n.y+t.offsetY:t.top+t.scrollY-window.scrollY,s=String(!!i),l=void 0!==e.dataset.attached&&e.dataset.attached!==s,d=l?e.getBoundingClientRect():null,c=ra.get(e);if(c&&(l||Math.abs(c.left-a)>.5||Math.abs(c.top-r)>.5)&&(c.animation.cancel(),ra.delete(e)),e.dataset.attached=s,Object.assign(e.style,{left:`${a}px`,top:`${r}px`,bottom:"auto",transform:"none",transformOrigin:i?o?"50% 100%":"50% 0%":"0% 0%"}),d&&!e.dataset.closing&&!w()){let t=e.animate([{left:`${d.left}px`,top:`${d.top}px`},{left:`${a}px`,top:`${r}px`}],{duration:250,easing:"cubic-bezier(.22,1,.36,1)"});ra.set(e,{animation:t,left:a,top:r})}}}function ua(e){De||e instanceof DOMException&&"AbortError"===e.name||(vt=e instanceof Error?e.message:"Something went wrong. Try again.",ca(vt))}function ha(e){e().catch(ua)}function ma(e,t){return t.then(t=>{e.isConnected&&e.replaceWith(t)}).catch(ua),e}function ga(e){return ma($("section","account-usage"),import("./onboarding-DRNGWOJ6.js").then(({accountUsage:t})=>t(He,e,!0,Me&&"local"===Oe)))}function fa(){ha(Rt?ya:jr)}let ba,xa,wa=e=>e.map(e=>({...e,comments:e.comments.filter(e=>"[Comment deleted]"!==e.body)})).filter(e=>e.comments.length>0),va=-1;async function ya(){if(De||Ze||pt.busy||R.onboarding)return;let e=pt.revision,t=He,i=t.token,a=et;Ze=!0;try{let n=await t.list();if(De||t!==He||a!==et||i!==t.token||pt.busy||e!==pt.revision)return;if(n===xa&&e===va&&"Live"===wt)return!1;xa=n,va=e,Qe=!0;let o=wa(n),r=JSON.stringify(o)!==JSON.stringify(nt),s="Live"!==wt;return Tt="",Rt&&(_t=null),wt=_t?"Offline":"Live",it&&!o.some(e=>e.id===it)&&(it=null),r?pt.replace(o,e):s&&(ko(),Za()),r}catch(o){if(De||t!==He||a!==et||o instanceof DOMException&&"AbortError"===o.name)return;throw i!==t.token&&Vi(),o instanceof n&&(401===o.status||403===o.status)&&"site_not_approved"!==o.code&&(Tt=o.message,it=null,xa=void 0,pt.replace([],e)),_t=Tt?null:de(o),wt="Offline",ko(),Za(),o}finally{t===He&&a===et&&(Ze=!1)}}function ka(){!Ue&&$e&&($e=!1,en=Qt,Bi()),ke!==Ue&&(!Ue||ge&&!ve&&"edge"===we)&&(ke=Ue,ve?we="edge":Ni(Ue?"background":"edge",!0))}let Sa=()=>Ie&&!ye&&!ve&&!ke;function Ca(e){if(st(),tr(),R.onboarding)return;Ue&&(Ue=!1,dt?.setActive(!1),ka()),Ye=e,Ie&&!Sa()&&Xa(!1);let t=e?Nt??Xt.shift():null;if(t)return at=t.anchor,gn=t.text,Nt=null,it=null,Je=!1,Fe=!1,sr(),void Rn.querySelector("textarea")?.focus();Fe=e,ba?.wake(!1),Ne=!1,Je=!1,e&&(it=null,at=null),sr()}function $a(){Ve&&(Ve=!1,Xa(tt??!0),tt=null,requestAnimationFrame(()=>{let e=Pn.querySelector(".list");e&&(e.scrollTop=Ke),(Ln.querySelector('.dialog [aria-label="Comment actions"]')??Ln.querySelector('[data-menu-item="design"]'))?.focus({preventScroll:!0})}))}function Ea(e){R.onboarding||at||e&&!Q||(e&&(tt=null,it||dt?.setReturnAction(null),Ve=!0,Ie&&(Ke=Pn.querySelector(".list")?.scrollTop??0),Ca(!1),Ue=!0,ze=!1,ka(),Ie||Xa(!0),Je=!1,Pn.querySelector(".panel")?.contains(Ln.activeElement)&&Pn.focus({preventScroll:!0})),Ue=e,e?Go().then(e=>e?.setActive(Ue)):(dt?.setActive(!1),ka(),$a()),sr())}let za,ja=0,Aa=1,La="",Ma=()=>(window.visualViewport?.offsetTop??0)+Math.min(window.innerHeight,window.visualViewport?.height??window.innerHeight)-window.innerHeight;function Ta(){for(let e of pi.values())e();pi.clear(),si(),di(),ci()}function _a(){let e=ta(),t=se(window.innerWidth,window.innerHeight)?Math.min(window.innerHeight,window.visualViewport?.height??window.innerHeight):window.innerHeight,n=`${window.innerWidth}:${window.innerHeight}:${t}:${e}:${Ie}:${Je}:${we}:${Ue}:${window.visualViewport?.offsetTop??0}`;if(La===n)return;if(ve||Yi(),La=n,An.style.zoom=String(1/e),An.style.width=`${window.innerWidth}px`,_n.style.opacity="",ye||ve){yi?.cancel(),wi=!1;let n=xi?me.scrollTop*e:null;if(xi&&(Ta(),Aa=1),null!==n&&window.scrollTo({top:n,behavior:"instant"}),An.style.height=ve?`${window.innerHeight}px`:"",An.style.top=ve?"":"0px",ve){let e=Ma();qn.style.translate=`0 ${e}px`,An.style.setProperty("--mobile-panel-height",`${Math.max(1,.9*t)}px`),An.style.setProperty("--mobile-panel-bottom",-e+"px")}return An.classList.toggle("review-open",Ie),xi=!1,mi(),_n.style.clipPath="",void Object.assign(Tn.style,{left:"",top:"",width:"",height:""})}let i=xi?me.scrollTop:window.scrollY/(e*Aa),a=xi,o=xi?me.getBoundingClientRect():{left:0,top:0,width:window.innerWidth};yi?.cancel(),wi=!1;let r=le(window.innerWidth,t,Ie,window.innerHeight,Je,!0,!0===R.frame?.scale),s=r.framed;if(An.style.setProperty("--review-viewport-height",`${t}px`),An.style.height=`${t}px`,An.style.top="",An.classList.toggle("review-open",Ie),An.classList.toggle("design-active",Ue),s){Aa=r.scale;let t=Aa*e;Object.assign(me.style,{position:"fixed",transform:R.frame?.scale?`scale(${Aa})`:oi.transform,transformOrigin:"top left",left:r.left/e+"px",top:r.top/e+"px",width:(R.frame?.scale?window.innerWidth:r.visibleWidth)/e+"px",boxSizing:"border-box",height:r.height/t+"px",paddingBottom:oi.paddingBottom,zoom:oi.zoom,overflow:R.frame?.scale?"hidden auto":"auto",borderRadius:12/t+"px",background:vi});for(let e of me.querySelectorAll("header"))!pi.has(e)&&"fixed"===getComputedStyle(e).position&&(pi.set(e,O(e,["position","margin-bottom"])),e.style.position="sticky",e.style.marginBottom=`-${e.offsetHeight}px`);ii.style.overflow="hidden",document.body.style.overflow="hidden",ii.style.background=document.body.style.background="#080808",me.scrollTop=i}else Ta(),xi&&window.scrollTo({top:i*e,behavior:"instant"}),Aa=1;if(xi=s,mi(),!s&&R.drawerContainer?.isConnected){let e=R.drawerContainer.getBoundingClientRect();Ai=e.width?e.left+e.width/2:void 0}if(!(s===a||!0!==R.frame?.scale||Si||Fi||Ci||w())){let t=s?me.getBoundingClientRect():{left:0,top:0,width:window.innerWidth},n=`translate(${(o.left-t.left)/e}px, ${(o.top-t.top)/e}px) scale(${Aa*o.width/t.width})`;if(me.style.transformOrigin=s?"top left":`0 ${i}px`,!s){ii.style.background=document.body.style.background="#080808",me.style.background=vi;let t=getComputedStyle(me).minHeight;me.style.minHeight=`max(${"auto"===t?"0px":t}, ${window.innerHeight/e}px)`}_n.style.opacity="0",wi=!0,yi=me.animate([{transform:n},{transform:`translate(0px, 0px) scale(${Aa})`}],{duration:250,easing:"cubic-bezier(0.32, 0.72, 0, 1)"});let a=yi;a.finished.then(()=>{De||yi!==a||(a.cancel(),yi=void 0,wi=!1,xi||Ta(),_n.style.opacity="",mi(),hi.reposition(),ur())}).catch(()=>{})}_n.style.clipPath=s?`inset(${r.visibleTop}px ${r.right}px ${r.bottom}px ${r.visibleLeft}px)`:"",Object.assign(Tn.style,s?{left:`${r.visibleLeft}px`,top:`${r.visibleTop}px`,width:`${r.visibleWidth}px`,height:`${r.visibleHeight}px`}:{left:"",top:"",width:"",height:""})}function Ra(){"true"!==qn.dataset.edgeTabs&&(za=ai(qn,["left","top","bottom","transform"])),Object.assign(qn.style,{left:"",top:"",bottom:"",transform:""}),qn.parentElement!==Pn&&Pn.append(qn),qn.dataset.edgeTabs="true",Ie?qn.dataset.edgeOrient="horizontal":delete qn.dataset.edgeOrient}function qa(){"true"===qn.dataset.edgeTabs&&(Object.assign(qn.style,za),za=void 0),delete qn.dataset.edgeTabs,delete qn.dataset.edgeOrient,qn.parentElement===Pn&&Zn.before(qn)}function Pa(){return!it||Je||at||!Ie||ve||Ue||R.onboarding?null:Pn.querySelector(".panel")}function Wa(){return qn.querySelector(".morphing-menu__shell")??qn}function Oa(){return qn.querySelector(".morphing-menu")}function Ha(){return[...Pn.querySelectorAll(".panel-head, .panel .empty, .thread-card")]}function Ba(e){return Mi.push(e),e}function Da(){for(let e of Ha())Object.assign(e.style,{opacity:"",transform:"",filter:""});Ki.style.opacity=""}function Ia(e,t){for(let e of Pn.getAnimations())e.cancel();Object.assign(Pn.style,{transition:"none",transform:"none",translate:"none",opacity:"1",left:`${e.left}px`,top:`${e.top}px`,width:`${e.width}px`,height:`${e.height}px`,borderRadius:t})}function Fa(){Object.assign(Pn.style,{width:"",height:"",borderRadius:"",transform:"",opacity:""}),ye&&Bi(),Pn.offsetWidth,Pn.style.transition=""}function Ya(e=Oa()){delete Pn.dataset.morphing,delete qn.dataset.edgeSurface,delete qn.dataset.edgeMorph,delete qn.dataset.hidden,e&&(e.style.transition="")}function Na(e=!1){Ti+=1;for(let e of Mi)e.stop();Mi=[];let t=_i;_i=!1,e&&Pn.toggleAttribute("data-tips-ready",Ie),e&&t&&(Ya(),qa(),Da(),Fa())}function Xa(e){!e&&ot&&!ot.opened&&st(),e!==Ie&&tr(),Yi();let t=e&&!Ie;if(Ie=e,Ci||ba?.wake(t),delete Pn.dataset.tipsReady,Pn.toggleAttribute("data-tips-restored",Ci),R.onboarding||$i.set(e),e&&(Fe=!1),e||(clearTimeout(ki),ki=0,Je=!1,Bo=Do="",Fo()),ve)return cancelAnimationFrame(ja),function(){let e=Math.max(1,.9*Math.min(window.innerHeight,window.visualViewport?.height??window.innerHeight)),t=Ma(),n=Wa().getBoundingClientRect();An.style.setProperty("--mobile-pill-x",n.left+n.width/2-window.innerWidth/2+"px"),An.style.setProperty("--mobile-pill-y",n.bottom-(window.innerHeight+t-6)+"px"),An.style.setProperty("--mobile-pill-scale-x",String(Math.max(.01,n.width/Math.max(1,window.innerWidth-24)))),An.style.setProperty("--mobile-pill-scale-y",String(Math.max(.01,n.height/e)))}(),!t||Ci||w()?delete An.dataset.mobileEntering:An.dataset.mobileEntering="",Ne=!1,_a(),sr(),Qi.show(),Qi.update(),void(void 0!==An.dataset.mobileEntering&&(ja=requestAnimationFrame(()=>{delete An.dataset.mobileEntering})));if(ye){let t=_i,n=e?Wa().getBoundingClientRect():null;e||delete qn.dataset.edgeOrient,Lt=e?Lt:Mt,ji=void 0,Ne=!1,_i=!0;let i=Oa();return i&&(i.style.transition="none"),Qi.show(),_a(),sr(),function(e,t,n){let i=Pn.getBoundingClientRect(),a=e?null:{left:i.left,top:i.top,width:i.width,height:i.height,radius:Pn.style.borderRadius||"16px"};Na(!1),a&&Ia(a,a.radius);let o=Ti;_i=!0;let r=Oa();r&&(r.style.transition="none");let b=function(){return qn.querySelector(".morphing-menu__bar")}(),x=Wa(),v=!1,y=()=>{v||o!==Ti||De||(v=!0,_i=!1,Ya(r),e||(Da(),Pn.style.opacity="0",qa()),Fa(),e&&(Pn.dataset.tipsReady=""))},k=Ci||w();if(e){let e=t?Pn.getBoundingClientRect():null,i=Pn.style.borderRadius||"16px";Pn.style.transition="none",Pn.style.width="",Pn.style.height="",Pn.style.borderRadius="",Pn.style.transform="none";let a=x.getBoundingClientRect(),r=!t&&n&&n.width>0?n:a;!t&&r.width>0&&(Ri={left:r.left,top:r.top,width:r.width,height:r.height}),Ra(),delete Pn.dataset.morphing,Bi();let d=Pn.getBoundingClientRect();if(Pn.dataset.morphing="true",k||r.width<=0||d.width<=0||t&&!e)return void y();let p=r.height/2+"px";t&&e?Ia(e,i):Ia(r,p),Ha().forEach((e,t)=>{e.style.opacity="0",e.style.transform="translateY(48px)",e.style.filter="blur(4px)",Ba(f(e,{opacity:1,y:0,filter:"blur(0px)"},{...c,delay:u+t*h}))}),Ki.style.opacity="0",Ba(f(Ki,{opacity:1},{...c,delay:u}));let w=()=>{if(o!==Ti||De)return;delete Pn.dataset.morphing;let e=Pn.getBoundingClientRect();Ba(f(Pn,{left:[`${e.left}px`,`${d.left}px`],top:[`${e.top}px`,`${d.top}px`],width:[`${e.width}px`,`${d.width}px`],height:[`${e.height}px`,`${d.height}px`],borderRadius:[Pn.style.borderRadius||"16px","16px"]},s)).finished.then(y).catch(()=>{o===Ti&&y()})};if(t||r.height>r.width+8)return void w();let v=m(b?.offsetWidth||r.width,b?.offsetHeight||r.height),S=g(r.left+r.width/2,r.top+r.height,v.width,v.height),C=Pn.getBoundingClientRect();return void Ba(f(Pn,{left:[`${C.left}px`,`${S.left}px`],top:[`${C.top}px`,`${S.top}px`],width:[`${C.width}px`,`${S.width}px`],height:[`${C.height}px`,`${S.height}px`]},l)).finished.then(w).catch(()=>{})}let S=a??Pn.getBoundingClientRect(),C=a?.radius||Pn.style.borderRadius||"16px";delete qn.dataset.hidden,Pn.dataset.morphing="true",Ra();let $=qn.getBoundingClientRect(),E=Ri??{left:(window.innerWidth-($.width||228))/2,top:window.innerHeight-24-($.height||52),width:$.width||228,height:$.height||52};if(k||E.width<=0||S.width<=0)y();else{Ia(S,C);for(let e of Ha())Ba(f(e,{opacity:0,y:16,filter:"blur(2px)"},p));Ba(f(Ki,{opacity:0},p)),Ba(f(Pn,{left:[`${S.left}px`,`${E.left}px`],top:[`${S.top}px`,`${E.top}px`],width:[`${S.width}px`,`${E.width}px`],height:[`${S.height}px`,`${E.height}px`],borderRadius:[C,E.height/2+"px"]},d)).finished.then(y).catch(()=>{o===Ti&&y()})}}(e,t,n),void Qi.update()}let n=qn.getBoundingClientRect();Lt=e?void 0:Mt,ji=void 0,Ne=!1,_a(),sr(),zi?.stop(),qn.style.translate="0px 0px";let i=qn.getBoundingClientRect();!Ci&&!w()&&(zi=f(qn,{translate:[`${n.left-i.left}px ${n.top-i.top}px`,"0px 0px"]},{type:"spring",stiffness:680,damping:32,mass:.55})),Qi.show(),Qi.update()}function Ua(){if(st(),tr(),Ye=!1,clearTimeout(ki),ki=0,Je)return ha(zt),yn=null,Je=!1,void sr();it=null,at=null,Je=!1,wn=null,vt="",Fe=!1,sr()}function Va(){Ve=!1,Ue=!1,dt?.setActive(!1),ka(),Ua(),Ie&&Xa(!1),Fe=!1,Ye=!1,Ne=!0,Xe=!0;try{sessionStorage.setItem(Ei,"1")}catch{}sr()}function Ka(){Xe=!1,Ne=!1;try{sessionStorage.removeItem(Ei)}catch{}sr()}function Ja(e,t=!1){if(t||st(),tr(),kn=!!Ln.activeElement?.matches(":focus-visible")&&Pn.contains(Ln.activeElement),Ye=!1,clearTimeout(ki),ki=0,e.page!==na()&&!t){let t=new URL(e.page,location.origin);return t.searchParams.set("comment",e.id),void xr(t)}t||(rt.delete(e.id),ot={id:e.id,inspect:!1,pending:!1,rejected:!1,opened:!0}),Nn=Fn!==e.id||Hn.hidden?null:Hn.getBoundingClientRect(),Nn&&Un(!0),it=e.id,at=null,Je=!1,wn=null,vt="",Fe=!1;let n=ve&&Ie;n&&Xa(!1);let i=lt(e)?Vo(e.anchor):null;i?.attached&&!Nn&&(n||!ve)&&(xi?me:window).scrollBy({top:(i.y-.35*(n?Math.min(window.innerHeight,window.visualViewport?.height??window.innerHeight):window.innerHeight))/(xi?Aa*ta():1),behavior:n&&!w()?"smooth":"instant"}),sr()}function Ga(){return nt.filter(e=>(bt||e.page===na())&&("all"===gt||e.resolved===("resolved"===gt))&&(!ft||!!e.tags?.includes(ft))&&(!xt||e.comments.some(e=>`${e.body} ${e.author.name}`.toLowerCase().includes(xt.toLowerCase()))||e.page.toLowerCase().includes(xt.toLowerCase()))).sort((e,t)=>t.updatedAt-e.updatedAt)}function Za(){qn.style.display=Xe?"none":"",Qi.update();let{dockCenter:e}=le(window.innerWidth,window.innerHeight,Ie);if(ve)qa(),Object.assign(qn.style,{left:"50%",top:"auto",bottom:"calc(16px + env(safe-area-inset-bottom,0px))",transform:"translateX(-50%)"});else if(ye)_i||(delete qn.dataset.hidden,Ie?Ra():(qa(),Lt&&qi(Lt)),Bi());else{delete qn.dataset.hidden;let t=!Ie&&R.drawerContainer?.isConnected?R.drawerContainer.getBoundingClientRect():void 0;t?.width&&!wi&&(Ai=t.left+t.width/2);let n=qn.offsetWidth/2,i=t?.width&&void 0!==Ai?Math.max(16+n,Math.min(window.innerWidth-16-n,Ai)):e;if(Lt)qi(Lt);else if(i!==ji){let e=qn.getBoundingClientRect(),t=e.left+e.width/2;zi?.stop(),qn.style.top="",qn.style.bottom="",qn.style.left=`${i}px`,qn.style.translate="0px 0px",void 0!==ji&&!w()&&(zi=f(qn,{translate:[`${t-i}px ${e.top-qn.getBoundingClientRect().top}px`,"0px 0px"]},{type:"spring",stiffness:680,damping:32,mass:.55})),ji=i}}let t=e=>({glyph:e}),n=[{id:"browse",label:qe("Browse website",G.browse),icon:t("pointer"),onSelect:()=>Ca(!1)},{id:"comment",label:qe("Add comment",G.comment),icon:t("comment"),onSelect:()=>Ca(!Ye)},...Q?[{id:"design",label:qe("Design mode",G.design),icon:t("design"),onSelect:()=>Ea(!Ue)}]:[],{id:"comments",label:R.onboarding?Ie?"Close project sidebar":"Project settings":`${qe(Ie?"Close comment sidebar":"View all comments",G.comments)}${Ie?"":` · ${nt.filter(e=>!e.resolved).length} open`}`,icon:t("expand"),onSelect:()=>Xa(!Ie)},{id:"account",expandedOrder:-1,label:He.user?`${He.user.name} · Account`:R.onboarding?.inProject?"Set up inline feedback":"Enter your name",icon:{user:He.user},onSelect:()=>{Je||ki?(clearTimeout(ki),ki=0,Je=!1,sr()):Xo()}},{id:"copy-prompts",keepOpenOnSelect:!0,label:"all"===oo?"Copied prompt":"Copy all comments for agent",icon:t("all"===oo?"check":"copy"),showInBar:!1,onSelect:()=>ha(()=>so("all"))},...!ge||ve||Ue?[]:[{id:"layout",label:"edge"===we?"Frame view":"Floating view",icon:t("expand"),showInBar:!1,onSelect:()=>Ni("edge"===we?"background":"edge")}],{id:"dismiss",label:G.restore?`Dismiss inline feedback · ${G.restore.label} to restore`:"Dismiss inline feedback",icon:t("close"),onSelect:Va},{id:"visibility",label:Ne?"Show comment pins":"Hide comment pins",icon:t("comment"),showInBar:!1,onSelect:()=>{Ne=!Ne,ao(),Za()}}];"Offline"===wt&&n.push({id:"retry",label:`${_t?.title??"Offline"} · Retry`,icon:t("info"),showInBar:!1,onSelect:fa}),Qn.render({items:R.onboarding?n.filter(e=>"account"===e.id||"comments"===e.id):n,alignEnd:(!Ie||!ye)&&!!Lt&&Lt.y>window.innerHeight/2,edge:Ie&&ye?"bottom":Lt?.edgeX??Lt?.edgeY??(Lt&&Lt.y<window.innerHeight/2?"top":"bottom"),activeId:Je?"account":Ue?"design":Ye?"comment":Ie?"comments":"browse",label:"Website review",moreLabel:"More review tools"})}let Qa="",eo=new Set;function to(e,t){let n=e.querySelector(".page");if(!n)return;let i=new URL(t.page,location.origin).href;n.textContent=t.page!==na()?t.page:"",n.title=i,n.parentElement.hidden=!n.textContent;let a=e.querySelector(".card-status");a.textContent=t.resolved?"Resolved":eo.has(t.id)?"Not found on page":"",a.hidden=!a.textContent,e.querySelector(".thread-card").setAttribute("aria-description",[i,a.textContent].filter(Boolean).join(" · "))}let no=!1,io=0;function ao(e=!1){if(Ne&&tr(),Ht||no&&!e)return;if(Ne)return Qa="",Un(),void _n.replaceChildren();let t=na(),n=nt.filter(e=>!(e.page!==t||e.resolved||ft&&!e.tags?.includes(ft))),i=function(){let e=new Map,t=new Map,n=new WeakMap,i=new WeakMap,a=(e,t,a)=>{let o=t.context,r=[pe(t.text),o.tag,o.role,o.label,o.nearby],s=JSON.stringify([a,o.tag,r.map(Boolean)]),l=n.get(e);l||n.set(e,l=new Map);let d=l.get(s),c=e=>JSON.stringify(e.map((e,t)=>r[t]?e:null));if(!d){l.set(s,d=new Map);for(let t of a?e.querySelectorAll(o.tag):e.children){let e=i.get(t);e||i.set(t,e=[ue(t),t.tagName.toLowerCase(),t.getAttribute("role")||"",be(t),xe(t)]);let n=c(e),a=d.get(n);a?a.push(t):d.set(n,[t])}}return d.get(c(r))??[]},o=t=>(e.has(t)||e.set(t,Ee(t,void 0,a)),e.get(t)??null);return{resolve:o,locate:e=>(t.has(e)||t.set(e,Ae(e,o(e))),t.get(e))}}(),a=function(e,t){let n=new Map;for(let i of e){if(i.resolved||i.anchor.unstacked)continue;let e=t(i);if(null===e)continue;let a=n.get(e)??[];a.push(i),n.set(e,a)}let i=new Map;for(let e of n.values())if(!(e.length<2)){e.sort((e,t)=>e.createdAt-t.createdAt||e.id.localeCompare(t.id));for(let t of e)i.set(t.id,e)}return i}(n,e=>i.resolve(e.anchor)),o=n.map(e=>{let t=i.locate(e.anchor);if(t.y<-t.height-40||t.y>window.innerHeight+40)return{thread:e,rect:t,blocked:!1};let n=i.resolve(e.anchor),a=Ko(t.x+8,t.y-10);return{thread:e,rect:t,blocked:!(!n||!a||n.contains(a)||a.contains(n))}});for(let{thread:e,rect:t}of o){if(eo.has(e.id)===!t.attached)continue;t.attached?eo.delete(e.id):eo.add(e.id);let n=Ln.querySelector(`.thread-item[data-thread="${CSS.escape(e.id)}"]`);n&&to(n,e)}let r=JSON.stringify([it,at&&i.locate(at),o.map(({thread:e,rect:t,blocked:n})=>[e.id,t,n,q(t,window.innerWidth)])]);if(r===Qa)return;Qa=r,ln?.isPreviewing(Xn)||Un();let s=new Map(Array.from(_n.querySelectorAll(".pin-stack"),e=>[e.dataset.stack,e.scrollLeft]));_n.replaceChildren();let l=new Map,d=new Map(o.map(e=>[e.thread.id,e]));for(let{thread:e,rect:t,blocked:n}of o){if(!t.attached)continue;let i=a.get(e.id),o=i&&d.get(i[0].id),r=o?.rect.attached?o:{rect:t,blocked:n};if(r.rect.y<-r.rect.height-40||r.rect.y>window.innerHeight+40||r.blocked)continue;let s=nt.indexOf(e)+1;if(t.width&&t.height){let n=$("div","area");Object.assign(n.style,{left:`${t.x}px`,top:`${t.y}px`,width:`${t.width}px`,height:`${t.height}px`,opacity:e.id===it?"1":".45"}),_n.append(n)}let c=z(`Comment ${s}: ${mn(e.comments[0]?.body??"").slice(0,100)}`,()=>Ja(e),`pin${e.id===it?" active":""}${e.id===Ho?" hot":""}${e.resolved?" resolved":""}${t.attached?"":" detached"}`);if(c.textContent="",c.title="",e.comments[0]){let t=e.comments[0].author;x(c,t.accentColor),c.append(L(t));let n=c.querySelector("img");n&&(n.draggable=!1)}if(e.resolved){let e=$("span","pin-check");e.append(E("check")),c.append(e)}let p=()=>{if(it||at||Fe||Ht||Gt||Dn)return;In=!1,window.clearTimeout(Bn);let n=Hn.hidden||Fn!==e.id;Yn?.cancel(),Fn=e.id,Hn.replaceChildren();let i=e.comments[0];if(!i)return;let a=z("Open comment",()=>Ja(e),"pin-preview-open");a.textContent="";let o=pn.test(i.body),r=$(o?"div":"p","hover-message",mn(i.body));o&&un().then(({renderDesignComment:t})=>t(r,i.body,{key:Xn=`hover:${i.id}`,resolve:t=>lt(e)?hn(e.anchor)(t):null,note:(e,t)=>e.textContent=t,compact:!0})),a.append(So(i)),o?(r.classList.add("pin-preview-card"),r.addEventListener("click",t=>{t.target.closest(".design-toggle")||Ja(e)})):a.append(r);let s=z(e.resolved?"Reopen comment":"Resolve comment",()=>{Un(),bo(e)},"icon pin-preview-resolve","check");s.disabled=!fo(),Hn.append(a,...o?[r]:[],s),Hn.hidden=!1;let l=Qo(c,t),d=Ie&&!ve?396:12,p=l.x+20+320>window.innerWidth-d?l.x-340:l.x+20;Object.assign(Hn.style,{left:`${Math.max(12,p)}px`,transformOrigin:l.x<Math.max(12,p)+160?"top left":"top right",top:`${Math.max(12,Math.min(l.y-28,window.innerHeight-Hn.offsetHeight-92))}px`}),n&&!w()&&(Yn=Hn.animate([{opacity:0,transform:"translateY(6px) scale(.97)"},{opacity:1,transform:"none"}],{duration:250,easing:"cubic-bezier(.22,1,.36,1)"}))};if(c.addEventListener("pointerenter",p),c.addEventListener("pointermove",e=>{Dn&&!Ht&&!Gt&&0===e.buttons&&(e.movementX||e.movementY)&&(Dn=!1,p())}),c.addEventListener("focus",p),c.addEventListener("blur",()=>Un()),c.addEventListener("pointerleave",()=>{Bn=window.setTimeout(Un,120)}),c.dataset.thread=e.id,c.dataset.pointer=q(r.rect,window.innerWidth),Object.assign(c.style,{left:`${t.x}px`,top:`${t.y}px`}),i&&o?.rect.attached&&!o.blocked){let t=l.get(i[0].id);if(!t){t=$("div","pin-stack"),t.dataset.stack=i[0].id,t.setAttribute("role","group"),t.setAttribute("aria-label",`${i.length} comments on this component`);let e=Math.min(178,40+22*(i.length-1));Object.assign(t.style,{left:`${Math.max(4,Math.min(o.rect.x-25,window.innerWidth-e-8))}px`,top:o.rect.y-34+"px",maxWidth:`${e}px`}),t.addEventListener("scroll",()=>{Un(),No()}),l.set(i[0].id,t),_n.append(t)}c.style.left="",c.style.top="",c.style.order=String(i.indexOf(e)),c.style.marginLeft=i[0].id===e.id?"0":"-12px",t.append(c)}else _n.append(c)}for(let[e,t]of l)t.scrollLeft=s.get(e)??0;if(at&&at.width>0&&at.height>0){let e=Vo(at),t=$("div","area");Object.assign(t.style,{left:`${e.x}px`,top:`${e.y}px`,width:`${Math.max(8,e.width)}px`,height:`${Math.max(8,e.height)}px`}),_n.append(t)}}let oo=null,ro=0;async function so(e){let t=a(nt,{...R,origin:location.origin,page:"page"===e?na():void 0});t?(await navigator.clipboard.writeText(t),!De&&(oo=e,Zn.textContent="Agent prompt copied",clearTimeout(ro),Za(),ko(),ro=window.setTimeout(()=>{oo=null,Za(),ko()},2e3))):ca("page"===e?"No open comments on this page":"No open comments to copy")}let lo,co=new Set,po="branch-comments:dismissed-tips",uo=[["copy","Copy comments for your agent."]];function ho(){let e=Pn.getBoundingClientRect();for(let t of Pn.querySelectorAll(".sidebar-tip")){let n="copy"===t.dataset.tip,i=Pn.querySelector(n?".copy-page-prompt":'.toolbar [aria-label^="Add comment"]')?.getBoundingClientRect();if(t.hidden=!i?.width,!i?.width)continue;let a=i.left+i.width/2-e.left,o=Math.max(12,Math.min(e.width-12-t.offsetWidth,a-t.offsetWidth/2));t.style.left=`${o}px`,t.style.top=n?i.bottom-e.top+10+"px":i.top-e.top-10-t.offsetHeight+"px",t.style.setProperty("--caret-x",a-o+"px")}}G.comment&&uo.push(["shortcut",`Press ${G.comment.label} to comment.`]);let mo,go=!1,fo=()=>!Ge&&(Yt||!!He.user?.verified);function bo(e,t){if(!(He.user||Ft&&xn.trim()))return void Xo();let n=it===e.id,i=t=>{let i=it;return n&&(it=t?null:e.id),ht(ut(e.id,e=>({...e,resolved:t,resolvedBy:t?He.user:null})),async n=>{He.user||await He.guest(xn),await He.request(`threads/${n(e.id)}`,"PATCH",{resolved:t})},()=>{it||(it=i)})};ha(()=>i(!e.resolved)),ca(e.resolved?"Comment reopened":"Comment resolved",{label:"Undo",run:()=>ha(()=>i(e.resolved))},t)}let xo,wo=new WeakMap,vo=new Set;function yo(e,t){return e.textContent=t,pn.test(t)&&(e.textContent="Design change",un().then(({summarizeDesignComment:n})=>{e.textContent=n(t)})),e}function ko(){if(R.onboarding){if(lo?.(),Pn.replaceChildren(),R.onboarding.inProject)return;if(Ie){let e=$("aside","panel");e.setAttribute("aria-label","Project settings");let t=$("div","panel-head","Project settings"),n=$("div","empty");n.append($("p","","Leave comments on your connected website."),z("Manage project",()=>{Xo()},"secondary")),e.append(t,n),Pn.append(e)}return}if(!Ie&&(ye||ve))return;let e=Pn.querySelector(".list"),n=e?.scrollTop??0,i="Search comments"===Ln.activeElement?.getAttribute("aria-label"),a=i?Ln.activeElement.selectionStart:null;if(!Ie&&!ye&&!ve)return lo?.(),void Pn.replaceChildren();let o=Pn.querySelector(".panel");if(!o){o=$("aside","panel"),o.setAttribute("aria-label","All comments");let e=$("div","panel-head"),t=$("div","row between sidebar-title"),n=$("div","filter-slot"),i=$("div","row"),a=e=>{let t=o.querySelector(".sidebar-search-field"),n=i.querySelector('[aria-label="Search comments"]'),a=(e?n:t).getBoundingClientRect();Li=e,e||(xt="",t.querySelector("input").value=""),ko();let r=(e?t:n).getBoundingClientRect();w()||t.animate(e?[{transform:`translate(${a.left-r.left}px, ${a.top-r.top}px)`,width:`${a.width}px`,height:`${a.height}px`,borderRadius:"50%",opacity:.4},{transform:"none",width:`${r.width}px`,height:`${r.height}px`,borderRadius:"10px",opacity:1}]:[{transform:"none",opacity:1},{transform:`translate(${r.left-a.left}px, ${r.top-a.top}px) scale(.2)`,opacity:0}],{duration:280,easing:"cubic-bezier(.22,1,.36,1)"}),e?t.querySelector("input")?.focus():n.focus()};i.append(z("Copy page comments",()=>"resolved"===gt?function(e){if(!go||pt.busy)return;let t=Ga().filter(e=>e.resolved).map(e=>e.id);if(!t.length)return;let n=$("div","cleanup-confirm");n.popover="auto",n.setAttribute("role","alertdialog"),n.setAttribute("aria-label","Delete resolved comments permanently"),n.append($("strong","",`Delete ${t.length} resolved ${1===t.length?"thread":"threads"}?`),$("p","","Their replies will be deleted too. This can’t be undone."));let i=$("div","cleanup-actions"),a=()=>{n.hidePopover(),e.focus({preventScroll:!0})};i.append(z("Cancel",a,"secondary"),z("Delete permanently",()=>{a(),ha(async()=>{try{for(let e=0;e<t.length;e+=250){let n=t.slice(e,e+250),i=new Set(n);await pt.submit(e=>e.filter(e=>!i.has(e.id)),async()=>{await He.request("project/clear-resolved","POST",{confirm:R.project,threadIds:n})})}}finally{await ya()}})},"secondary destructive")),n.append(i),Pn.append(n),n.addEventListener("toggle",()=>{n.matches(":popover-open")||n.remove()}),n.showPopover();let o=e.getBoundingClientRect();n.style.left=`${Math.max(12,Math.min(o.right-n.offsetWidth,innerWidth-n.offsetWidth-12))}px`,n.style.top=`${Math.max(12,Math.min(o.bottom+8,innerHeight-n.offsetHeight-12))}px`,i.querySelector("button")?.focus()}(o.querySelector(".copy-page-prompt")):ha(()=>so("page")),"icon copy-page-prompt","copy"),$("div","tag-filter-slot"),z("Search comments",()=>a(!0),"icon sidebar-search-trigger","search"),z("Close sidebar",()=>Xa(!1),"icon","close"));let r=$("div","sidebar-selector");r.append(n,$("div","scope-slot")),t.append(r,i);let s=$("div","sidebar-search"),l=$("div","sidebar-search-inner"),d=$("div","sidebar-search-row"),c=$("div","sidebar-search-field"),p=$("input");p.type="search",p.placeholder="Search",p.setAttribute("aria-label","Search comments"),p.addEventListener("input",()=>{xt=p.value,ko()}),p.addEventListener("keydown",e=>{"Escape"===e.key&&(e.stopPropagation(),u())}),c.append(E("search"),p);let u=()=>a(!1);c.append(z("Close search",u,"icon search-cancel","close")),d.append(c),l.append(d),s.append(l),e.append(t,s);let h=$("div","morphing-menu__tooltip sidebar-tooltip");h.setAttribute("aria-hidden","true"),Ln.append(h);let m=0,g=0,f=()=>{clearTimeout(m),h.dataset.open&&(delete h.dataset.open,g=Date.now()+300)};lo=()=>{clearTimeout(m),h.remove(),lo=void 0};let b=e=>{clearTimeout(m);let t=()=>{if(!e.isConnected)return;let t=e.getBoundingClientRect();h.textContent=e.ariaLabel;let n=h.offsetWidth/2;h.style.left=`${Math.max(8+n,Math.min(innerWidth-8-n,t.left+t.width/2))}px`,h.style.top=`${t.bottom+8}px`,h.dataset.open="true"};h.dataset.open||Date.now()<g?t():m=window.setTimeout(t,400)};for(let e of i.querySelectorAll("button"))e.removeAttribute("title"),e.addEventListener("pointerenter",t=>{"mouse"===t.pointerType&&b(e)}),e.addEventListener("pointerleave",f),e.addEventListener("focus",()=>b(e)),e.addEventListener("blur",f);i.addEventListener("pointerdown",f),o.append(e),Pn.append(o)}let r=o.querySelector(".copy-page-prompt");if("resolved"===gt&&mo!==He.token){mo=He.token,go=!1;let e=mo;e&&He.request("project").then(()=>{He.token===e&&(go=!0,ko())}).catch(()=>{})}let s="resolved"===gt;r.disabled=s&&(!go||pt.busy||!Ga().length),r.classList.toggle("destructive",s);let l=s?"trash":"page"===oo?"check":"copy";if(r.dataset.glyph!==l){let e=r.querySelector("svg:not([data-leaving])"),t=E(l),n=void 0!==r.dataset.glyph&&!w();if(r.dataset.glyph=l,n&&e){e.setAttribute("data-leaving","true"),r.append(t);let n={duration:200,easing:"cubic-bezier(.22,1,.36,1)"},i={opacity:0,transform:"scale(.7)",filter:"blur(2px)"},a={opacity:1,transform:"scale(1)",filter:"blur(0px)"};e.animate([a,i],{...n,fill:"forwards"}).finished.then(()=>e.remove()).catch(()=>e.remove()),t.animate([i,a],n)}else r.replaceChildren(t)}r.setAttribute("aria-label",s?go?"Delete resolved comments permanently":"Project owner only":"page"===oo?"Copied prompt":"Copy page comments"),o.dataset.search=String(Li),o.querySelector(".filter-slot").inert=Li,o.querySelector(".scope-slot").inert=!Li,o.querySelector(".sidebar-search-trigger").inert=Li,o.querySelector(".sidebar-search").inert=!Li;let d=o.querySelector(".filter-slot"),c=ne?[...new Set(nt.flatMap(e=>e.tags??[]))].sort():[];ft&&!c.includes(ft)&&(ft=""),d.dataset.value!==gt&&(d.dataset.value=gt,d.replaceChildren(t("Filter comments",[["open","Comments"],["all","All comments"],["resolved","Resolved"]],gt,e=>{gt=e,ko(),ao()})));let p=o.querySelector(".tag-filter-slot"),u=`${ft} ${c}`;if(p&&p.dataset.value!==u&&(p.dataset.value=u,p.replaceChildren(),c.length)){let e=ft?`Filtered by #${ft}`:"Filter by tag",n=t(e,[["","All tags"],...c.map(e=>[e,`#${e}`])],ft,e=>{ft=e,ko(),ao()}),i=n.querySelector("summary");i.className="icon tag-filter-trigger"+(ft?" active":""),i.setAttribute("aria-label",e),i.title=e,i.replaceChildren(E("tag")),p.append(n)}let h=o.querySelector(".scope-slot");h.dataset.value!==String(bt)&&(h.dataset.value=String(bt),h.replaceChildren(t("Comment pages",[["page","This page"],["all","All pages"]],bt?"all":"page",e=>{bt="all"===e,ko()})));let m=!ve&&!Ci&&!w(),g=new Map;if(m&&e){let t=e.getBoundingClientRect();for(let n of e.querySelectorAll("[data-thread]")){let e=n.getBoundingClientRect();e.bottom>=t.top&&e.top<=t.bottom&&g.set(n.dataset.thread,e.top)}}let f=$("div","list"),b=Ga();b.length>40&&(f.dataset.long="");let x=!Qe&&"Connecting"===wt;f.setAttribute("aria-busy",String(x)),clearTimeout($n),f.addEventListener("scroll",()=>{f.dataset.scrolling="true",clearTimeout($n),$n=window.setTimeout(()=>{delete f.dataset.scrolling},800)},{passive:!0});for(let e of b){let t=e.comments[0];if(!t)continue;let n=wo.get(e);if(n){n.querySelector(".thread-card").classList.toggle("active",it===e.id),n.querySelector(".card-resolve").disabled=!fo(),n.querySelector("small").textContent=j(t.createdAt),n.querySelectorAll(".reply-meta").forEach((t,n)=>{let i=e.comments[n+1];t.textContent=`${i.author.name} · ${j(i.createdAt)}`}),to(n,e),f.append(n);continue}let i=z(`Open comment by ${t.author.name}`,()=>Ja(e),"thread-card"+(it===e.id?" active":""));i.replaceChildren();let a=$("div","row");a.append(L(t.author),$("span","author",t.author.name),$("small","",j(t.createdAt)));let o=$("div","card-page-row");o.append(E("link"),$("span","page"));let r=$("span","card-status"),s=yo($("p","preview"),t.body);if(i.append(a,o,r,s),ne&&e.tags?.length){let t=$("div","card-tags");t.setAttribute("role","group"),t.setAttribute("aria-label","Tags");for(let n of e.tags){let e=$("span","card-tag",`#${n}`);e.title=n,t.append(e)}i.append(t)}let l=$("div","thread-item");l.dataset.thread=e.id;let d=z(e.resolved?"Reopen comment":"Resolve comment",()=>bo(e),"icon card-resolve","check");if(d.disabled=!fo(),l.append(i,d),to(l,e),e.comments.length>1){let n=$("div","sidebar-replies");n.id=`replies-${e.id}`,n.setAttribute("role","group"),n.setAttribute("aria-label",`Replies to ${t.author.name}`);let i=`${e.comments.length-1} ${2===e.comments.length?"reply":"replies"}`,a=z(i,()=>{vo.has(e.id)?vo.delete(e.id):vo.add(e.id),o()},"card-reply-toggle");a.replaceChildren(E("comment"),$("span","",i),E("chevron")),a.setAttribute("aria-controls",n.id);let o=()=>{let t=vo.has(e.id);n.hidden=!t,a.setAttribute("aria-expanded",String(t)),a.setAttribute("aria-label",`${t?"Hide":"Show"} ${i}`),a.title=`${t?"Hide":"Show"} ${i}`};o();for(let t of e.comments.slice(1)){let e=$("div","sidebar-reply");e.append(L(t.author));let i=$("div");i.append($("div","reply-meta",`${t.author.name} · ${j(t.createdAt)}`),$("p","",t.body)),e.append(i),n.append(e)}l.append(a,n),l.addEventListener("keydown",t=>{"Escape"!==t.key||!vo.has(e.id)||(t.preventDefault(),t.stopPropagation(),vo.delete(e.id),o(),a.focus({preventScroll:!0}))})}wo.set(e,l),f.append(l)}if(!f.childElementCount){let e=$("div","empty");if(x&&e.setAttribute("role","status"),e.append(E("comment"),$("strong","",Tt?qt?"Private project":"Sign in required":"Offline"===wt&&_t?_t.title:x?"Loading comments…":xt?"No matching comments":"resolved"===gt?"Nothing resolved yet":"No comments yet")),Tt)e.append($("p","",Tt)),He.user?.verified||e.append(z("Sign in",Xo,"secondary"));else if("Offline"===wt&&_t){e.append($("p","",_t.detail));let t=$("div","empty-actions");"site"===_t.kind&&t.append(z("Turn on comments",()=>{let e=new URL("/setup",R.endpoint);e.searchParams.set("workspace",R.project),e.searchParams.set("site",location.origin),window.open(e,"_blank","noopener")},"primary"),z("Copy link",()=>{navigator.clipboard.writeText(location.origin).then(()=>ca("Link copied")).catch(()=>ca(location.origin))},"secondary")),"site"!==_t.kind&&t.append(z("Try again",fa,"secondary")),e.append(t)}else Qe&&!xt&&"resolved"!==gt&&e.append(z("Add a comment",()=>{se(window.innerWidth,window.innerHeight)&&Xa(!1),Ca(!0)},"secondary"));f.append(e),f.dataset.empty=""}if(nt.length&&"Offline"===wt&&f.prepend(z("Saved comments · Try again",fa,"secondary")),e?e.replaceWith(f):o.append(f),function(e){try{let e=JSON.parse(localStorage.getItem(po)??"[]");if(Array.isArray(e))for(let t of e)"string"==typeof t&&co.add(t)}catch{}for(let[t,n]of uo){let i=Pn.querySelector(`[data-tip="${t}"]`);if(!e||co.has(t)){i?.remove();continue}if(i)continue;i=$("div","morphing-menu__tooltip sidebar-tip"),i.dataset.tip=t;let a=i;i.append($("p","",n),z("Dismiss tip",()=>{co.add(t);try{localStorage.setItem(po,JSON.stringify([...co]))}catch{}a.dataset.leaving="",setTimeout(()=>a.remove(),150)},"icon","close")),Pn.append(i)}ho()}(!!f.querySelector(".empty [aria-label='Add a comment']")),requestAnimationFrame(ho),f.scrollTop=n,m){let e=0,t=f.getBoundingClientRect();for(let n of f.querySelectorAll("[data-thread]")){let i=n.getBoundingClientRect();if(i.bottom<t.top||i.top>t.bottom)continue;let a=g.get(n.dataset.thread),o=void 0===a?8:a-i.top;Math.abs(o)>.5&&n.animate([{opacity:void 0===a?0:1,transform:`translateY(${Math.max(-40,Math.min(40,o))}px)`},{opacity:1,transform:"translateY(0)"}],{duration:250,delay:void 0===a?40*Math.min(e++,5):0,easing:"cubic-bezier(0.22, 1, 0.36, 1)",fill:"backwards"})}f.querySelector("[data-thread]")||f.animate([{opacity:0},{opacity:1}],{duration:150})}if(i){let e=o.querySelector('input[type="search"]');e.focus(),null!==a&&e.setSelectionRange(a,a)}}function So(e){let t=$("div","row");return t.append(L(e.author),$("span","author",e.author.name),$("small","",j(e.createdAt))),t.title=e.author.verified?"Verified":"Guest",t}function Co(e,t){return He.user?.id!==e.author.id||"[Comment deleted]"===e.body?[]:[{label:"Edit",icon:"edit",onSelect:()=>{wn=e.id,vn=e.body,_o()}},{label:"Delete",icon:"trash",destructive:!0,onSelect:()=>{let n=la(t.anchor);ca("Delete this comment?",{label:"Delete",run:()=>{let i=it;1===t.comments.length&&(it=null),ha(()=>ht(ut(t.id,t=>{let n=t.comments.filter(t=>t.id!==pt.id(e.id));return n.length?{...t,comments:n}:null}),async n=>{await He.request(`threads/${n(t.id)}/comments/${n(e.id)}`,"DELETE")},()=>{it||(it=i)})),ca("Comment deleted",void 0,n)}})}}]}function $o(t,n){let i=$("article","message");if(i.dataset.comment=t.id,i.append(So(t)),wn===t.id){let e=$("textarea");e.value=vn,e.maxLength=4e3,e.setAttribute("aria-label","Edit comment"),e.dataset.focusKey="edit",e.addEventListener("input",()=>vn=e.value);let a=z("Save changes",()=>{let e=vn;wn=null,ha(()=>ht(ut(n.id,n=>({...n,comments:n.comments.map(n=>n.id===pt.id(t.id)?{...n,body:e,editedAt:Date.now()}:n)})),async i=>{await He.request(`threads/${i(n.id)}/comments/${i(t.id)}`,"PATCH",{body:e})},()=>{wn||(wn=pt.id(t.id),vn=e)}))},"primary");return a.disabled=Ge,i.append(e,a,z("Cancel",()=>{wn=null,_o()},"secondary")),i}let a=$("div","message-content"),o=pn.test(t.body),r=$(o?"div":"p","message-text");if(ae(r,t.body),o){let e=({renderDesignComment:e})=>e(r,t.body,{key:t.id,resolve:e=>lt(n)?hn(n.anchor)(e):null,note:ae,onSwitch:()=>No()});ln?e(ln):un().then(e)}if(a.append(r),"[Comment deleted]"!==t.body){let e=z("Add reaction",()=>{dn?.(!0),dn=function(e,t,n,i,a="branch-comments:emoji:guest",o="https://cdn.jsdelivr.net/npm/emoji-picker-element-data@1.8.0/en/emojibase/data.json"){let r=$("div","emoji-menu t-dropdown");r.dataset.origin="top-left",r.setAttribute("role","menu"),r.setAttribute("aria-label","Reactions");let s=new AbortController,l=!1,d=null,c=(e=!1)=>{let t=d;d=null,t&&(t.classList.remove("is-open"),t.classList.add("is-closing"),e?t.remove():window.setTimeout(()=>t.remove(),150))},p=(e=!1)=>{if(l&&!e)return;l=!0,s.abort(),t.setAttribute("aria-expanded","false"),r.classList.remove("is-open"),r.classList.add("is-closing");let n=parseFloat(getComputedStyle(r).getPropertyValue("--dropdown-close-dur"))||150;c(e),e?r.remove():window.setTimeout(()=>r.remove(),n)},u=function(e,t){let n=[...new Set([...te,...Object.keys(e.counts)])].filter(ee),i=t=>e.counts[t]??(te.includes(t)?1:0),a=(e,t)=>i(t)-i(e),o=n.sort(a).slice(0,6),r=t??e.recent;return r&&ee(r)&&!o.includes(r)&&(o[o.length-1]=r,o.sort(a)),o}(ie(a),i).map((e,t)=>{let a=z(e,()=>{p(),n(e)},"emoji-choice");return a.setAttribute("role","menuitemradio"),a.setAttribute("aria-checked",String(e===i)),a.style.setProperty("--emoji-index",String(t)),r.append(a),a}),h=z("Choose another emoji",async()=>{if(d)return;let t=d=$("div","emoji-keyboard t-dropdown");d.setAttribute("role","dialog"),d.setAttribute("aria-label","Choose an emoji");let i=z("Close emoji keyboard",()=>{c(),h.focus()},"icon emoji-keyboard-close","close"),a=$("span","emoji-keyboard-status","Loading…");d.append(i,a),e.append(d),i.focus({preventScroll:!0});let s=()=>{if(!d)return;let e=r.getBoundingClientRect();d.style.left=`${Math.max(8,Math.min(e.right-d.offsetWidth,innerWidth-d.offsetWidth-8))}px`,d.style.top=`${Math.max(8,Math.min(e.bottom+8,innerHeight-d.offsetHeight-8))}px`};s(),d.classList.add("is-open");try{let{default:e}=await import("./picker-CMP4UZRF.js");if(l||d!==t)return;let i=new e({dataSource:o});i.i18n={...i.i18n,networkErrorMessage:"Couldn’t load emojis. Close and try again."},i.classList.add("dark"),i.addEventListener("emoji-click",e=>{let t=e.detail.unicode;ee(t)&&(p(),n(t))}),a.replaceWith(i);let r=document.createElement("style");r.textContent='\n .pad-top, .skintone-button-wrapper, .skintone-list, .favorites, .indicator-wrapper { display: none !important; }\n .search-row { padding: 10px 44px 10px 10px; flex: none; }\n input.search { height: 30px; padding: 5px 9px; font-size: 12px; background: #ffffff08; }\n input.search::-webkit-search-cancel-button { display: none; }\n .category { font-size: 11px; padding: 6px 10px; color: #999; }\n .nav { order: 10; flex: none; padding: 6px; box-shadow: 0 -1px #ffffff0d; }\n .nav-button { position: relative; border-radius: 6px; }\n .nav-button + .nav-button::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 1px; background: #ffffff0d; }\n .nav-button[aria-selected="true"] { background: #ffffff10; }\n .tabpanel { padding: 0 4px 6px; }\n ',i.shadowRoot?.append(r),s()}catch{a.textContent="Couldn’t load emojis. Close and try again."}},"emoji-choice","plus");h.setAttribute("role","menuitem"),h.setAttribute("aria-haspopup","dialog"),h.style.setProperty("--emoji-index",String(u.length)),r.append(h),u.push(h),e.addEventListener("keydown",e=>{e instanceof KeyboardEvent&&"Escape"===e.key&&d&&(e.preventDefault(),e.stopPropagation(),c(),h.focus())},{signal:s.signal}),e.append(r);let m=t.getBoundingClientRect();return r.dataset.placement=m.right+6+r.offsetWidth>innerWidth-8?"below":"right",r.style.left=`${Math.max(8,Math.min(m.right+6,innerWidth-r.offsetWidth-8))}px`,r.style.top=`${Math.max(8,Math.min(innerHeight-r.offsetHeight-8,m.right+6+r.offsetWidth>innerWidth-8?m.bottom+6:m.top-4))}px`,t.setAttribute("aria-expanded","true"),r.offsetWidth,r.classList.add("is-open"),(u.find(e=>"true"===e.getAttribute("aria-checked"))??u[0])?.focus({preventScroll:!0}),C(r,"pointerdown",e=>{!e.composedPath().includes(r)&&(!d||!e.composedPath().includes(d))&&p()},{signal:s.signal}),document.addEventListener("scroll",e=>{d&&e.composedPath().includes(d)||p()},{capture:!0,signal:s.signal}),r.addEventListener("keydown",e=>{("Escape"===e.key||"Tab"===e.key)&&(p(),"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),t.focus()));let n=u.indexOf(e.target),i="ArrowRight"===e.key?(n+1)%u.length:"ArrowLeft"===e.key?(n+u.length-1)%u.length:-1;i>=0&&(e.preventDefault(),u[i]?.focus())}),p}(Ln,e,e=>function(e,t,n,i){He.user||Ft&&xn.trim()?ha(async()=>{He.user||await He.guest(xn);let a=He.user;await ht(ut(t.id,t=>({...t,comments:t.comments.map(t=>{if(t.id!==pt.id(e.id))return t;let o=Object.fromEntries(Object.entries(t.reactions).map(([e,t])=>[e,t.filter(e=>e!==a.id)]));return i&&(o[n]=[...o[n]??[],a.id]),{...t,reactions:o}})})),async a=>{await He.request(`threads/${a(t.id)}/comments/${a(e.id)}/reactions`,"POST",{emoji:n,active:i})}),i&&function(e,t){if(!ee(t))return;let n=ie(e);n.counts[t]=(n.counts[t]??(te.includes(t)?1:0))+1,n.recent=t,n.counts=Object.fromEntries(Object.entries(n.counts).sort((e,t)=>t[1]-e[1]).slice(0,200));try{localStorage.setItem(e,JSON.stringify(n))}catch{}}(`branch-comments:emoji:${R.project}:${a.id}`,n)}):Xo()}(t,n,e,!(He.user&&t.reactions[e]?.includes(He.user.id))),Object.entries(t.reactions).find(([,e])=>He.user&&e.includes(He.user.id))?.[0],`branch-comments:emoji:${R.project}:${He.user?.id??"guest"}`,R.emojiDataSource)},"icon message-reaction","smile"),i=Object.entries(t.reactions).filter(([,e])=>e.length>0);if(e.dataset.reactions=JSON.stringify(i),i.length){e.replaceChildren(),e.classList.add("has-reactions");for(let[t,n]of i)e.append($("span","reaction-value",`${t}${n.length>1?` ${n.length}`:""}`));e.setAttribute("aria-label","Change reactions")}e.setAttribute("aria-haspopup","menu"),e.setAttribute("aria-expanded","false"),a.append(e)}i.append(a);let s=$("div","actions");if(He.user?.id===t.author.id&&"[Comment deleted]"!==t.body){let a=e("Message actions",Co(t,n));n.comments[0]?.id!==t.id&&i.firstElementChild?.append(a)}return t.editedAt&&s.append($("small","","Edited")),s.childElementCount&&i.append(s),i}async function Eo(e="github"){let t=window.open("about:blank","branch-comments-signin","popup,width=600,height=720");if(!t)throw new Error("Allow popups to sign in.");try{let n=await He.request(`auth/${e}/start`,"POST",{}),i=new URL(n.url).origin,a=e=>{if(e.origin!==i||e.source!==t||"branch-comments:auth"!==e.data?.type)return;let{token:n,user:o}=e.data;"string"!=typeof n||!o?.id||!o?.name||!0!==o.verified||(He.save({token:n,user:o}),Vi(),yt=null,window.removeEventListener("message",a),clearTimeout(zn),t.close(),Je=!!R.onboarding,sr(),!R.onboarding&&(yn?ha(Mo):(ha(ya),ca(`Signed in as ${o.name}`))))};window.addEventListener("message",a,{signal:Be.signal}),zn=window.setTimeout(()=>{window.removeEventListener("message",a)},6e5),t.location.href=n.url}catch(e){throw t.close(),e}}function zo(e,t,n,i){let a=$("div","tag-slot");a.hidden=!!i&&!e.length;let o=({tagEditor:o})=>o(a,{tags:e,suggestions:[...new Set(nt.flatMap(e=>e.tags??[]))].sort(),onAdd:t,onRemove:n,trigger:i});if(xo)o(xo);else{let e=!1;i&&(i.onclick=()=>{e=!0}),import("./tag-editor-MMAMOEI4.js").then(t=>{xo=t,o(t),e&&i?.isConnected&&i.click(),No()})}return a}function jo(e,t){He.user?ha(async()=>{let{tags:n}=await He.request(`threads/${pt.id(e.id)}`,"PATCH",t);nt=nt.map(t=>t.id===e.id?{...t,tags:n}:t),ko()}):Xo()}function Ao(e){let t=$("form","composer "+(e?"reply-composer":"new-comment-composer")),n=$("textarea"),i=e?"":fn;n.placeholder=e?"Reply…":i?"Add a note…":"Add a comment…",n.rows=1,n.maxLength=4e3,n.required=!!e||!fn,n.value=e?jn.get(e.id)??"":gn,n.setAttribute("aria-label",e?"Reply":"Comment"),n.dataset.focusKey="body";let a=()=>{n.style.height="auto",n.style.height=`${Math.min(128,Math.max(e?34:28,n.scrollHeight))}px`,n.style.overflowY=n.scrollHeight>128?"auto":"hidden",No()};n.addEventListener("input",a),n.addEventListener("input",()=>{e?jn.set(e.id,n.value):gn=n.value}),n.addEventListener("keydown",e=>{"Enter"===e.key&&!e.shiftKey&&!e.isComposing&&(e.preventDefault(),t.requestSubmit())});let o=z(e?"Send reply":"Post comment",()=>{},"send","arrow");if(o.type="submit",o.disabled=Ge,e)t.append(n,o);else{let e=$("div","draft-body");He.user&&e.append(L(He.user)),e.append(n,o),ne&&e.append(zo(bn,e=>bn=[...bn,e],e=>bn=bn.filter(t=>t!==e))),t.append(e)}if(n.addEventListener("input",()=>{o.disabled=Ge||!n.value.trim()&&!i}),o.disabled||=!n.value.trim()&&!i,i){let e=$("div","draft-proposal");e.textContent=i;let n=at?hn(at):()=>null;un().then(({renderDraftProposal:t})=>{if(!e.isConnected||fn!==i)return;let a=at;return Promise.resolve(t(e,i,n,{design:R.design,onUpdate(e){at===a&&fn&&(fn=e)}})).then(No)}),t.prepend(e)}return t.addEventListener("submit",t=>{if(t.preventDefault(),(n.value.trim()||i)&&!Ge){if(!He.user)return yn=()=>Lo(e),void Xo();ha(()=>Lo(e))}}),requestAnimationFrame(()=>{n.isConnected&&a()}),t}async function Lo(e){if(R.onboarding)throw new Error("Open your connected website to leave a comment.");if(!He.user)throw new Error("Enter your name to leave a comment.");let t=Date.now(),n={id:`pending-${crypto.randomUUID()}`,body:e?jn.get(e.id)??"":[gn.trim(),fn].filter(Boolean).join("\n\n"),author:{...He.user},createdAt:t,editedAt:null,reactions:{}};if(n.body.trim())if(e)jn.delete(e.id),await ht(ut(e.id,e=>({...e,updatedAt:t,comments:[...e.comments,n]})),async t=>{let i=(await He.request(`threads/${t(e.id)}/comments`,"POST",{body:n.body})).id??(await He.list()).find(n=>n.id===t(e.id))?.comments.filter(e=>e.author.id===n.author.id&&e.body===n.body).at(-1)?.id;return i?{[n.id]:i}:{}},()=>{let t=pt.id(e.id);nt.some(e=>e.id===t)?jn.set(t,[n.body,jn.get(t)].filter(Boolean).join("\n")):at===e.anchor?gn=[gn,n.body].filter(Boolean).join("\n"):Xt.push({anchor:e.anchor,text:n.body})});else if(at){let e=at,i=bn,a=gn,o=fn,r={id:`pending-${crypto.randomUUID()}`,page:na(),anchor:e,tags:i,resolved:!1,resolvedBy:null,createdAt:t,updatedAt:t,comments:[n]};it=r.id,at=null,gn=fn="",bn=[],await ht(e=>[...e,r],async()=>{let t=await He.request("threads","POST",{page:r.page,anchor:e,body:n.body,...i.length?{tags:i}:{}}),a=t.commentId??(await He.list()).find(e=>e.id===t.id)?.comments[0]?.id;return{[r.id]:t.id,...a?{[n.id]:a}:{}}},()=>{at?Xt.push({anchor:e,text:n.body}):(it=null,at=e,gn=a,fn=o,bn=i)}),Ye&&!at&&!Je&&it===pt.id(r.id)&&(Sa()||(it=null,Ie&&Xa(!1)),Fe=!0,sr())}}async function Mo(){let e=yn;yn=null,e&&await e()}let To=new Map;function _o(){rn?.then(({resetDesignPreviews:e})=>e(new Set([...Je?[]:nt.find(e=>e.id===it&&lt(e))?.comments.map(e=>e.id)??[],...Hn.hidden?[]:[Xn],...at?["draft"]:[]])));let t=mt;mt=void 0,dn?.(!0),dn=void 0;let n=Ln.activeElement,a=n?.dataset.focusKey,o=a?n?.selectionStart:null,r=!!n?.matches(":focus-visible"),s=Rn.querySelector(".messages")?.scrollTop??0,l=Rn.querySelector(".account-dialog")?.scrollTop??0,d=Je?"account":at?"draft":it;d!==Ut&&(Vt=null);let c=Rn.firstElementChild,p=Pa(),u=Rn.classList.contains("thread-pane"),h=Ut!==d,m=c?.getBoundingClientRect(),g=new Map([...c?.querySelectorAll("[data-comment]")??[]].map(e=>[e.dataset.comment,e.querySelector(".message-reaction")]));if(c&&h&&!w()&&(!u||!p&&Rn.isConnected)){let e=getComputedStyle(c),n={opacity:e.opacity,transform:e.transform};c.getAnimations().forEach(e=>e.cancel());let i={duration:150,easing:"cubic-bezier(.22,1,.36,1)",fill:"forwards"},a="account"===Ut?$("div","account-layer"):u?$("div","thread-pane"):c;a!==c&&a.append(c),c.animate([{transform:n.transform},{transform:u?"translateX(24px)":"translateY(4px) scale(.99)"}],i);let o=a.animate([{opacity:n.opacity},{opacity:0}],i);a.inert=!0,a.setAttribute("aria-hidden","true"),c.style.pointerEvents="none",(u?Rn.parentElement:a!==c&&ye?Pn:Ln).append(a),cn.set(a,t),t=void 0,o.finished.catch(()=>{}).finally(()=>{a.remove(),cn.get(a)?.(),cn.delete(a)})}t?.(),Rn.replaceChildren(),function(e){let t=e??(ye&&Je?Pn:Ln);Rn.parentNode!==t&&(t===Ln?Hn.before(Rn):t.append(Rn)),Rn.classList.toggle("thread-pane",!!e),Pn.querySelector(".panel")?.toggleAttribute("data-thread",!!e)}(p);let f=Pn.querySelector(".panel");if(f&&u!==!!p){if(!w())for(let e of f.querySelectorAll(":scope > :not(.thread-pane)")){let t=[{visibility:"visible",opacity:1,transform:"none"},{visibility:"visible",opacity:0,transform:"translateX(-24px)"}];e.animate(p?t:t.reverse(),{duration:250,easing:"cubic-bezier(.22,1,.36,1)"})}let e=`[data-thread="${CSS.escape(Ut??"")}"] .thread-card`;(p?kn:!at&&r&&(f.contains(n)||!n.isConnected))&&queueMicrotask(()=>(p?Rn:f).querySelector(p?".thread-back":e)?.focus({preventScroll:!0})),kn=!1}if(Ut=d,Rn.classList.toggle("account-layer",Je),!at&&!it&&!Je)return void pa();let v=$("section",Je?"dialog account-dialog":"dialog");Je&&v.setAttribute("aria-modal","false"),v.setAttribute("role","dialog"),v.setAttribute("aria-label",Je?"Reviewer account":at?"New comment":"Comment thread");let y,k=$("div","dialog-head row between"),S=$("div","row"),C=nt.find(e=>e.id===it)??null;if(C&&!Je){let t=(e,t)=>({label:e,icon:"Copy link"===e?"link":"Copy selector"===e?"code":"comment",onSelect:()=>ha(async()=>{await navigator.clipboard.writeText(t()),ca("Copied")})}),n=C.anchor.source,i=n?R.sourceUrl?.(n,R.branch)??`https://github.com/${R.repo}/blob/${encodeURIComponent(R.branch)}/${n.split("/").map(encodeURIComponent).join("/")}`:"",a=e("Comment actions",[...Co(C.comments[0],C),...er(C)?[{label:"Move pin",icon:"pointer",onSelect:()=>{!async function(e){tr();let t=Dt,n=et;if(Ge||!er(e))return;let i=await import("./pin-move-6QISN27D.js").catch(()=>null);if(!i)return void ca("Moving is unavailable. Try again.");if(De||t!==Dt||n!==et||!er(e))return;let a=_n.querySelector(`.pin[data-thread="${CSS.escape(e.id)}"]`),o=Vo(e.anchor);if(e.page!==na()||!o.attached||!a)return void ca("This pin isn’t visible on this page. Open its page before moving it.");let r=Qo(a,o);Ht=e.id,Dn=!0,Un(),Jt.stop(),_n.append(a),Object.assign(a.style,{position:"fixed",margin:"0",left:`${r.x}px`,top:`${r.y}px`}),Bt=i.startPinMove({root:Ln,pin:a,point:r,bounds:()=>xi?me.getBoundingClientRect():{left:0,top:0,right:window.innerWidth,bottom:window.innerHeight},preview(t){a.dataset.pointer=q(t,window.innerWidth),a.style.left=`${t.x}px`,a.style.top=`${t.y}px`,Gt={id:e.id,...t},No()},finish(t){if(Bt=null,Ht=null,Gt=null,Qa="",ao(),No(),Rn.querySelector('summary[aria-label="Comment actions"]')?.focus({preventScroll:!0}),!t||De||e.page!==na()||!er(e))return;let n=nr(t.x,t.y);if(!n)return void ca("Pin unchanged. Choose an element on this page.");let i=Ce(Se(n,me,R.anchorTarget),t,{x:t.x+o.width,y:t.y+o.height},R.source);i.unstacked=!0,Kt.delete(e.id),ha(async()=>{await ht(ut(e.id,e=>({...e,anchor:i})),async t=>{await He.request(`threads/${t(e.id)}`,"PATCH",{anchor:i})}),ca("Pin moved")})}})}(C)}}]:[],...Q?[{label:"Open in Design",icon:"design",onSelect:()=>{Zo(C)}}]:[],...i&&/^(https?:|vscode:|cursor:)/.test(i)?[{label:"Open source",icon:"code",onSelect:()=>window.open(i,"_blank","noopener,noreferrer")}]:[],t("Copy link",()=>{let e=new URL(C.page,location.origin);return e.searchParams.set("comment",C.id),e.href}),t("Copy feedback",()=>[`Repository: ${R.repo}`,`Branch: ${R.branch}`,`Page: ${new URL(C.page,location.origin).href}`,`Target: ${C.anchor.selector||"Page position"}`,...C.anchor.source?[`Source: ${C.anchor.source}`]:[],...C.anchor.text?[`Element text: ${C.anchor.text}`]:[],"",...C.comments.map(e=>`${e.author.name}: ${e.body}`)].join("\n")),t("Copy selector",()=>C.anchor.selector)]);S.append(a),ne&&(y=z(C.tags?.length?"Manage tags":"Add tag",()=>{},"icon thread-tag-action","tag"),S.append(y));let o=z(C.resolved?"Reopen comment":"Resolve comment",()=>bo(C,la(C.anchor)),"icon","check");o.disabled=!fo(),S.append(o)}if(S.append(p?z("Close sidebar",()=>{Ua(),Xa(!1)},"icon","close"):z(Je?"Close account":"Close comment",Ua,"icon","close")),p&&k.append(z("Back to comments",Ua,"icon thread-back","chevron"),yo($("strong","thread-title"),C?.comments[0]?.body??"")),k.append(S),C||Je||p?v.append(k):v.append(z("Close comment",Ua,"draft-close icon","close")),Je){let e=$("form","account");if(He.user){yt??={name:He.user.name,avatarUrl:He.user.avatarUrl??"",accentColor:He.user.accentColor??b};let t=yt,n=L({...He.user,...t}),i=$("div","account-summary"),a=$("span","account-status");He.user.verified?(a.append(document.createTextNode("Connected with ")),He.user.id.startsWith("google:")&&a.append(M()),a.append(document.createTextNode(He.user.id.startsWith("google:")?"Google":"GitHub"))):a.textContent="Guest account";let o=z("Update profile photo",()=>l.click(),"account-avatar-button");o.replaceChildren(n),i.append(o,$("h2","","Your profile"),a),e.append(i);let r=$("label","account-name-label","Display name"),s=$("input");s.value=t.name,s.name="name",s.autocomplete="name",s.required=!0,s.maxLength=60,s.dataset.focusKey="profile-name",s.addEventListener("input",()=>{t.name=s.value,jt(t)}),s.addEventListener("blur",()=>{jt(t,!0)}),r.append(s);let l=$("input");l.type="file",l.accept="image/png,image/jpeg,image/webp",l.hidden=!0,l.setAttribute("aria-label","Choose profile photo"),l.addEventListener("change",()=>ha(async()=>{let e=l.files?.[0];if(!e)return;if(e.size>10485760)throw new Error("Choose a photo under 10 MB.");let n=await createImageBitmap(e),i=document.createElement("canvas");i.width=i.height=128;let a=i.getContext("2d"),o=Math.min(n.width,n.height);a.drawImage(n,(n.width-o)/2,(n.height-o)/2,o,o,0,0,128,128),n.close();let r=.8;do{t.avatarUrl=i.toDataURL("image/jpeg",r),r-=.15}while(t.avatarUrl.length>12e3&&r>.1);if(t.avatarUrl.length>12e3)throw new Error("Choose a smaller photo.");jt(t,!0),_o()})),i.append(l);let d=function(e,t){let n=$("div","account-accent-mount");n.style.minHeight="62px";let i,a=!1,o=async()=>{n.replaceChildren(),n.setAttribute("aria-busy","true");try{let o=await import("./accent-picker-JTX75MDO.js");if(a)return;let r=o.accentPicker(e,t);i=r.destroy,n.replaceChildren(r.element)}catch{a||n.replaceChildren(z("Load accent colors",()=>{o()},"secondary"))}finally{n.removeAttribute("aria-busy")}};return o(),{element:n,destroy:()=>{a=!0,i?.()}}}(t.accentColor,e=>{t.accentColor=e,x(n,e),jt(t)});if(mt=d.destroy,e.append(r,d.element),R.onboarding){let t=R.onboarding;e.append(ma($("section","onboarding-panel"),import("./onboarding-DRNGWOJ6.js").then(({onboardingPanel:e})=>e(He,t))))}else e.append(function(){return ve?Xi("sidebar","Sidebar",[["mobile","Floating sidebar"]],"mobile",()=>{}):ge?Xi("sidebar","Sidebar",[["edge","Floating"],["background","Frame"]],we,Ni):$("p","muted","Floating sidebar · Set pageRoot for Frame.")}()),Me&&e.append(function(){let e=Xi("channel","Comments",[["local","Local development"],["shared","Site comments"]],Oe,Ui);return e.append($("p","muted","Separate channels, both saved to this project.")),e}()),e.append(ga());if(He.user?.verified&&!R.onboarding?.code&&!R.onboarding?.claimKey&&!R.onboarding?.invite){let t=$("div");e.append(t),import("./onboarding-DRNGWOJ6.js").then(({projectManagement:n})=>{t.isConnected&&t.replaceWith(n(He,R.onboarding?.workspace,t=>{if(t)it=null,pt.replace([],pt.revision),e.querySelector(".account-usage")?.remove();else{let t=R.onboarding?.workspace?`usage?workspace=${encodeURIComponent(R.onboarding.workspace)}`:"usage";e.querySelector(".account-usage")?.replaceWith(ga(t)),ya().catch(()=>{})}}))})}e.addEventListener("submit",e=>{e.preventDefault(),jt(t,!0)});let c=$("div","account-session");c.append(z("Sign out",()=>ha(async()=>{if(pt.busy||Ge)return void ca("Wait for your changes to save.");clearTimeout(kt),Et=null;let e=He.logout();Vi(),yt=null,Ct=null,sr();try{await e}finally{Vi(),ha(ya),sr()}}),"secondary")),e.append(c),!He.user.verified&&Ot&&e.append(At()),!He.user.verified&&It&&e.append(z("Sign in with GitHub",()=>ha(()=>Eo()),"primary"))}else{if(e.append($("h2","",R.onboarding?"Set up inline feedback":"Leave comments")),R.onboarding?.inProject){e.append($("p","","Add the sites where you want to leave feedback. One site per line."));let t=$("label","account-name-label","Production and preview sites"),n=$("textarea");n.rows=2,n.placeholder="https://your-site.com",n.value=Wt,n.dataset.focusKey="setup-sites",n.addEventListener("input",()=>{Wt=n.value}),t.append(n),e.append(t);let a=z("Connect",()=>ha(async()=>{if(!Pt){Pt=!0,a.disabled=!0;try{let e=await function(e,t,n=[location.origin]){let i=new URL(e.endpoint),a=new URL("/setup/connect",i);a.searchParams.set("code",e.onboarding.code),a.searchParams.set("origin",location.origin),a.searchParams.set("sites",JSON.stringify(n));let o=window.open("about:blank","komo-connect","popup,width=600,height=720");return o?new Promise((n,r)=>{let s=()=>{window.removeEventListener("message",c),t.removeEventListener("abort",d),clearInterval(p),clearTimeout(u),o.close()},l=e=>{s(),r(new Error(e))},d=()=>l("Setup closed. Reopen inline feedback to try again."),c=t=>{let a=t.data;t.origin!==i.origin||t.source!==o||"komo:setup"!==a?.type||a.code!==e.onboarding?.code||"string"!=typeof a.project||!/^komo_[a-f0-9]{32}$/.test(a.project)||"string"!=typeof a.repo||"string"!=typeof a.token||!a.token||!0!==a.user?.verified||"string"!=typeof a.user.id||!a.user.id.startsWith("google:")||"string"!=typeof a.user.name||(s(),n(a))},p=window.setInterval(()=>{o.closed&&l("Sign-in closed. Try connecting again.")},1e3),u=window.setTimeout(()=>l("Setup expired. Run komo init again."),6e5);window.addEventListener("message",c),t.addEventListener("abort",d,{once:!0}),t.aborted?d():o.location.href=a.href}):Promise.reject(new Error("Allow popups to set up inline feedback."))}(R,Be.signal,function(e,t){let n=e.split(/\s+/).filter(Boolean).map(e=>{let t;try{t=new URL(e)}catch{throw new Error("Enter a full HTTPS site address, such as https://your-site.com.")}if("https:"!==t.protocol||t.username||t.password)throw new Error("Use HTTPS addresses for production and preview sites.");return t.origin}),i=[...new Set([t,...n])];if(i.length>10)throw new Error("Connect up to ten sites at a time.");return i}(Wt,location.origin));if(De)return;(function(e,t){try{localStorage.setItem(T(e),JSON.stringify({project:t.project,repo:t.repo}))}catch{}})(R,e),R={...R,project:e.project,repo:e.repo,onboarding:void 0},He=new i(R),He.save(e),Je=!1,yt=null,Ut=null,await jr(),sr(),ca("Inline feedback is connected. Select an element to comment.")}finally{Pt=!1,De||sr()}}}),"primary");a.disabled=Pt,e.append(a)}if(Ft){let t=$("label","account-name-label","Your name"),n=$("input");n.name="name",n.autocomplete="name",n.placeholder="Your name",n.required=!0,n.maxLength=60,n.value=xn,n.dataset.focusKey="account-name",n.addEventListener("input",()=>xn=n.value),t.append(n),e.append(t);let i=z("Continue",()=>{},"primary");i.type="submit",i.disabled=Ge,Ge&&i.setAttribute("aria-busy","true"),e.append(i)}Ft&&(Ot||It)&&e.append($("div","account-divider","or")),Ot&&e.append(At()),It&&e.append(z("Continue with GitHub",()=>ha(()=>Eo()),"secondary")),e.addEventListener("submit",e=>{e.preventDefault(),ha(async()=>{await async function(){if(!Ge){Ge=!0,vt="",_o();try{for(await(async()=>{await He.guest(xn),Je=!1})();Ze&&!De;)await new Promise(e=>setTimeout(e,20));await ya()}finally{Ge=!1,sr()}}}(),await Mo()})})}v.append(e)}else if(at)v.append(Ao(null));else if(C){if(lt(C)){if(!Ee(C.anchor)){let e=$("p","notice thread-navigation thread-anchor-status","This comment’s element could not be found on this page. The conversation is still available.");e.setAttribute("role","status"),v.append(e)}}else{let e=$("div","notice thread-navigation");e.setAttribute("role","status"),e.append($("p","",ot?.id===C.id&&ot.rejected?"Navigation could not be completed. The conversation is still available.":ot?.pending?"Opening this comment’s page…":"The app is on a different page. The conversation is still available."));let t=$("a","thread-destination","Open destination");t.dataset.focusKey="thread-destination",t.href=new URL(C.page,location.origin).href,t.title=t.href,t.setAttribute("aria-label",`Open destination: ${t.href}`),t.setAttribute("aria-disabled",String(!!ot?.pending)),t.addEventListener("click",e=>{e.preventDefault(),ot?.pending||Ja(C)}),e.append(t),v.append(e)}let e=$("div","messages");for(let t of C.comments)e.append($o(t,C));v.append(e);let t=()=>e.dataset.fade=`${e.scrollTop>2?"top":""} ${e.scrollTop+e.clientHeight<e.scrollHeight-2?"bottom":""}`;if(e.addEventListener("scroll",t,{passive:!0}),requestAnimationFrame(t),ne){let t=zo(C.tags??[],e=>jo(C,{tag:e}),e=>jo(C,{untag:e}),y);t.classList.add("thread-tags");let n=e.querySelector(".message"),i=n?.querySelector(".message-text");i?i.after(t):n?.append(t)}v.append(Ao(C))}else v.append($("div","empty","This comment is no longer available."));if(Rn.append(v),Je&&h&&!w()&&(Rn.animate([{opacity:0},{opacity:1}],{duration:250,easing:"ease-out"}),v.animate([{opacity:0,transform:"translateY(8px) scale(.97)"},{opacity:1,transform:"none"}],{duration:250,easing:"cubic-bezier(.22,1,.36,1)"})),!Je&&!p){let e=$("div","comment-drag-handle");e.setAttribute("aria-hidden","true"),v.prepend(e),U(v,e,e=>{Ut&&Kt.set(Ut,e),No()},Be.signal,()=>Jt.stop())}if(No(),p){h&&(Wo=!1,Yo(!0,1200));let e=e=>{Wo=e,Yo(e)};for(let t of[k,v.querySelector(".messages")])t?.addEventListener("pointermove",()=>Wo||e(!0)),t?.addEventListener("pointerleave",()=>e(!1)),t?.addEventListener("focusin",t=>{t.target.matches(":focus-visible")&&e(!0)}),t?.addEventListener("focusout",()=>e(!1));v.addEventListener("click",()=>Yo(!1,600)),v.addEventListener("pointerover",e=>e.target.closest(".design-card-target")?.removeAttribute("title"))}if(!Je&&!w()){let e=v.getBoundingClientRect(),t=Nn??(h?null:m);p?h&&v.animate([{opacity:0,transform:u?"none":"translateX(24px)"},{opacity:1,transform:"none"}],{duration:250,easing:"cubic-bezier(.22,1,.36,1)"}):t&&(Nn||Math.abs(t.height-e.height)>1||Math.abs(t.width-e.width)>1)?v.animate([{left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`,opacity:1},{left:`${e.left}px`,top:`${e.top}px`,width:`${e.width}px`,height:`${e.height}px`,opacity:1}],{duration:250,easing:"cubic-bezier(.22,1,.36,1)"}):h&&v.animate([{opacity:0,transform:"translateY(6px) scale(.97)"},{opacity:1,transform:"none"}],{duration:250,easing:"cubic-bezier(.22,1,.36,1)"});for(let e of v.querySelectorAll("[data-comment]")){let t=e.querySelector(".message-reaction"),n=g.get(e.dataset.comment),i=e.dataset.comment;t&&n&&n.dataset.reactions!==t.dataset.reactions&&To.set(i,{from:n,to:t.dataset.reactions,started:performance.now()});let a=To.get(i),o=a?performance.now()-a.started:470;if(t&&a&&o<470&&a.to===t.dataset.reactions){let e=$("span","reaction-leaving");e.setAttribute("aria-hidden","true");for(let t of a.from.children){if(t.classList.contains("reaction-leaving"))continue;let n=t.cloneNode(!0);e.append(n)}let n=[...t.children];t.append(e);let r=e.animate([{opacity:1,transform:"scale(1)"},{opacity:0,transform:"scale(.2, .35)"}],{duration:110,easing:"ease-in",fill:"forwards"});r.currentTime=o,r.finished.then(()=>e.remove()).catch(()=>e.remove());for(let e of n){let t=e.animate([{opacity:0,transform:"scale(.25, .4)",offset:0},{opacity:1,transform:"scale(1.16, .92)",offset:.38},{opacity:1,transform:"scale(.95, 1.07)",offset:.6},{opacity:1,transform:"scale(1.025, .985)",offset:.8},{opacity:1,transform:"scale(1)",offset:1}],{duration:380,delay:90,easing:"ease-in-out",fill:"backwards"});t.currentTime=o,t.finished.then(()=>{To.get(i)===a&&To.delete(i)}).catch(()=>{})}}}}Nn=null;let E=v.querySelector(".messages");if(E&&(E.scrollTop=s),Je&&!h&&(v.scrollTop=l),a){let e=v.querySelector(`[data-focus-key="${a}"]`);e&&(e.focus({preventScroll:!0}),null!=o&&e.setSelectionRange(o,o))}}let Ro,qo=0,Po=!1,Wo=!1,Oo=0,Ho="",Bo="",Do="",Io=0;function Fo(e=Bo||Do){if(clearTimeout(Io),e!==Ho){Ho=e;for(let t of _n.querySelectorAll(".pin"))t.classList.toggle("hot",t.dataset.thread===e);ir()}}function Yo(e,t=0){clearTimeout(Oo),Po=e,ir(),t&&(Oo=window.setTimeout(()=>Yo(Wo),t))}function No(){let e=Math.min(window.innerHeight,window.visualViewport?.height??window.innerHeight),t=Rn.firstElementChild;if(!t||Je)return;let n=nt.find(e=>e.id===it),i=t.querySelector(".thread-anchor-status");if(i&&(i.hidden=!!(n&&lt(n)&&Ee(n.anchor))),Rn.classList.contains("thread-pane")){let e=qo;qo=performance.now()+500;let t=()=>{ir(),performance.now()<qo?requestAnimationFrame(t):qo=0};return void(e||t())}if(ve&&t.querySelector("textarea:focus")){let n=window.visualViewport?.offsetTop??0;t.style.maxHeight=`${Math.max(0,e-24)}px`;let i=function(e,t,n,i,a){return{x:Math.max(12,(e-i)/2),y:n+Math.max(12,(t-a)/2)}}(window.innerWidth,e,n,t.offsetWidth,t.offsetHeight);return Jt.place(Ut,t,i.x,i.y,!0),t.style.bottom="auto",t.style.transformOrigin="bottom center",void pa()}let a=xi?me.getBoundingClientRect().bottom-12:e-92;t.style.maxHeight=a-12+"px",(Ro??=new ResizeObserver(()=>No())).observe(t);let o,r=at??(n&&lt(n)?n.anchor:null),s=Gt?.id===it?Gt:r?(()=>{let e=Vo(r);if(!e.attached)return Vt!==Ut&&null;Vt=Ut,o=e.width>16&&e.height>16?{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height}:(at?cr:pn.test(n?.comments[0]?.body??""))?e.component:void 0;let t=it&&_n.querySelector(`[data-thread="${CSS.escape(it)}"]`);return t?Qo(t,e):e})():null;if(!1===s)return at&&gn.trim()&&(Nt={anchor:at,text:gn}),Ua();let l=Gt?.id===it,d=()=>{t.style.transformOrigin=!s||s.x<t.offsetLeft+t.offsetWidth/2?"top left":"top right"},c=!l&&Ut&&Kt.get(Ut);if(c){let n=N(c,t.offsetWidth,t.offsetHeight,ii.clientWidth,e);return Jt.place(Ut,t,n.x,n.y,l),d(),void pa()}let p=(window.innerWidth-354)/2,u=e-450;s&&(p=s.x+20,u=s.y-28);let h=Ie&&!ve?396:12,m=t.offsetWidth,g=t.offsetHeight;if(s&&p+m>window.innerWidth-h&&(p=s.x-m-20),o&&!ve&&!l){let e=a-o.bottom-14,n=o.top-26;if(o.right+14+m<=window.innerWidth-h)[p,u]=[o.right+14,o.top];else if(o.left-14-m>=12)[p,u]=[o.left-14-m,o.top];else if(Math.max(e,n)>=Math.min(g,200)){let i=e>=g||e>=n?e:n;t.style.maxHeight=`${i}px`,[p,u]=[o.left,i===e?o.bottom+14:o.top-14-Math.min(g,i)]}}Jt.place(Ut,t,Math.max(12,Math.min(p,window.innerWidth-t.offsetWidth-h)),Math.max(12,Math.min(u,a-t.offsetHeight)),l),d(),pa()}function Xo(){st(),tr(),clearTimeout(ki),yt=null,Fe=!1;let e=ve;e&&!Ie&&Xa(!0),ki=0,!(De||e&&!Ie)&&(Je=!0,sr(),function(){queueMicrotask(()=>{if(!Je)return;let e=ve,t=e?Rn.querySelector(".account-dialog"):Rn.querySelector("input,button");e&&t&&(t.tabIndex=-1),t?.focus({preventScroll:!0})})}())}let Uo=Ee,Vo=je;function Ko(e,t){return document.elementsFromPoint(e,t).find(e=>e!==An&&!An.contains(e))??null}function Jo(e){return!!e&&e!==me&&e!==document.body&&(R.pickRoots?[me,...R.pickRoots()]:[document.body]).some(t=>t.contains(e))}function Go(){return dt?Promise.resolve(dt):(ct||(ct=import("./design-mode.js").then(({createDesignMode:e})=>{let t=e({root:Ln,panelRoot:Pn,host:An,exitKey:G.design?.label,design:R.design,page:na,bounds:e=>xi&&me.contains(e)?me.getBoundingClientRect():void 0,flip(){if(!ye||!Ie||ze||_i)return;let e=Pn.getBoundingClientRect();Pi({x:ii.clientWidth-e.right,y:e.top}),$e=!0,Pn.animate([{transform:`translateX(${e.left-Pn.getBoundingClientRect().left}px)`},{}],{duration:320,easing:"cubic-bezier(.22,1,.36,1)"})},targetAt(e,t){let n=Ko(e,t);return Jo(n)?n:null},onComment(e,t){Ve=!1,Ie&&!Sa()&&Xa(!1),Ea(!1),gn="",fn=t??"",bn=[];let n=e.getBoundingClientRect(),i={x:n.left+n.width/2,y:n.top+n.height/2};pr(e,i,i,!0)},onExit(){Ue=!1,dt?.setReturnAction(null),ka(),Za(),$a()}});return De?(t.destroy(),null):(dt=t,t.setActive(Ue),t)}).catch(()=>(Ue=!1,ka(),Za(),null)).finally(()=>{ct=null})),ct)}async function Zo(e){if(!Q||De)return;if(e.page!==na()){let t=new URL(e.page,location.origin);return t.searchParams.set("comment",e.id),t.searchParams.set("comment-view","design"),void await xr(t)}if(!lt(e))return void ca("Design is unavailable until this comment’s page is reached.");let t=Ee(e.anchor);if(!t||!Jo(t)||!Vo(e.anchor).attached)return void ca("Design is unavailable: this comment’s element isn’t visible on this page.");let n=Ie;Ea(!0),tt=n;let i=await Go();if(i&&Ue&&!De&&it===e.id&&e.page===na()){if(!t.isConnected||Ee(e.anchor)!==t)return Ea(!1),void ca("Design is unavailable: this comment’s element has changed.");i.select(t),i.setReturnAction({label:"Back to comment",run:()=>Ea(!1)})}}function Qo(e,t){if(!e.closest(".pin-stack")||e.dataset.dragging)return t;let n=e.getBoundingClientRect();return{x:n.left+("right"===e.dataset.pointer?25:9),y:n.top+28}}function er(e){return!!He.user&&(He.user.verified||e.comments[0]?.author.id===He.user.id)}function tr(){Dt++,Bt?.cancel()}function nr(e,t){let n=Ko(e,t);if(!Jo(n))return null;let i=n.closest("button,a,input,textarea,select,[role=button],[role=link],[data-comment-anchor],h1,h2,h3,h4,h5,h6,p,li,figure,svg,canvas,img,video")??n,a=i.closest("button,a,[role=button],[role=link]");return Jo(a)?a:i}function ir(){let e=!Fe&&!!Pa(),t=e?it:Ie&&!at&&!Pa()&&Pn.querySelector(`.list [data-thread="${CSS.escape(Ho)}"]`)&&Ho,n=t&&nt.find(e=>e.id===t&&e.page===na()),i=n&&lt(n)&&Vo(n.anchor),a=i&&i.attached&&(i.width&&i.height?{left:i.x,top:i.y,right:i.x+i.width,bottom:i.y+i.height}:i.component);if(Vn.toggleAttribute("data-thread",!!a),_n.toggleAttribute("data-quiet",!!a&&e),_n.toggleAttribute("data-outlined",!!a&&e&&Po),a){let t=Uo(n.anchor);return or(a,i.width&&i.height?null:t,xi&&!!t&&me.contains(t)),void(e&&!Po&&(Vn.style.opacity="0"))}if(!Fe&&!at||lr||at&&at.width>0&&at.height>0)return Vn.style.opacity="0",void(!Fe&&!at&&(Kn=null,Jn=null));at&&(Kn=Uo(at)),Fe&&Jn&&(Kn=nr(Jn.x,Jn.y)),Fe&&Kn&&(Kn=Se(Kn,me,R.anchorTarget)),Kn?.isConnected?or(Kn.getBoundingClientRect(),Kn,xi&&me.contains(Kn)):Vn.style.opacity="0"}let ar=null;function or(e,t,n){ar=t,Vn.style.opacity=o(Vn,e,t,n?me.getBoundingClientRect():void 0)?"1":"0"}function rr(){Gn||(Gn=requestAnimationFrame(()=>{Gn=0,ir()}))}function sr(){if(De)return;if(An.classList.toggle("design-active",Ue),Je&&!Ie)return void(se(window.innerWidth,window.innerHeight)?(Je=!1,Xo()):Xa(!0));_a();let e=!!at&&!Je&&se(window.innerWidth,window.innerHeight);An.classList.toggle("mobile-composing",e),Pn.inert=ve?!Ie||Je:ye?!Ie:Je,(it||at||Fe||Ne||Je)&&Un(!0),Tn.hidden=!Fe,ir(),Wn.replaceChildren(),Za(),qn.inert=Ue,ao(),ko(),_o();let t=Pn.querySelector(".panel");t&&(t.inert=Ue,t.setAttribute("aria-hidden",String(Ue)),t.hidden=Ue),Ue&&dt?.mountPanel(Pn);let n=Pn.querySelector(".design-inspector__heading");n&&!n.dataset.drag&&(n.dataset.drag="",Ji(n))}let lr=null,dr=null;Tn.addEventListener("pointerdown",e=>{if(0!==e.button)return;e.preventDefault(),e.stopPropagation();let t=nr(e.clientX,e.clientY);t&&(Kn=t,Jn=null,Vn.style.opacity="0",lr={x:e.clientX,y:e.clientY,element:t,pointerId:e.pointerId},Tn.setPointerCapture(e.pointerId),dr=$("div","selection"),Ln.append(dr))}),Tn.addEventListener("pointermove",e=>{if(!lr||!dr)return Jn={x:e.clientX,y:e.clientY},void rr();Object.assign(dr.style,{left:`${Math.min(lr.x,e.clientX)}px`,top:`${Math.min(lr.y,e.clientY)}px`,width:`${Math.abs(lr.x-e.clientX)}px`,height:`${Math.abs(lr.y-e.clientY)}px`})});let cr=!1;function pr(e,t,n=t,i=!1){if(st(),cr=i,Un(),e=Se(e,me,R.anchorTarget),at=Ce(e,t,n,R.source),xi){let e=me.getBoundingClientRect(),i=Aa*ta();at.pageX=(Math.min(t.x,n.x)-e.left)/i+me.scrollLeft,at.pageY=(Math.min(t.y,n.y)-e.top)/i+me.scrollTop}Kn=e,Fe=!1,it=null,Je=!1,wn=null,vt="",sr(),Rn.querySelector('[data-focus-key="body"]')?.focus({preventScroll:!0}),No()}function ur(){if(Ht&&nt.find(e=>e.id===Ht)?.page!==na()&&tr(),En||De||document.hidden)return;let e=na();!at&&!it&&!Fe&&!aa&&(Ne||!nt.some(t=>t.page===e&&!t.resolved))||(En=requestAnimationFrame(()=>{En=0,ao(),No(),pa(),ir()}))}Tn.addEventListener("pointerup",e=>{if(!lr)return;let t=lr;dr?.remove(),dr=null,lr=null,pr(t.element,t,{x:e.clientX,y:e.clientY})}),Tn.addEventListener("pointerleave",()=>{lr||at||(Jn=null,Kn=null,Vn.style.opacity="0")}),Tn.addEventListener("pointercancel",()=>{lr=null,dr?.remove(),dr=null,Jn=null,Kn=null,Vn.style.opacity="0"}),document.addEventListener("scroll",e=>{Dn=!0,Un();let t=e.target;t===An||!t||t instanceof Node&&t.getRootNode()===Ln||!((t===document?document.scrollingElement:t)instanceof Element)||(Ht||(no=!0,_n.dataset.scrolling="true",clearTimeout(io),io=window.setTimeout(()=>{De||(Qa="",ao(!0),no=!1,delete _n.dataset.scrolling)},180)),ur())},{capture:!0,passive:!0,signal:Be.signal});for(let e of["focusin","focusout","click"])Rn.addEventListener(e,()=>requestAnimationFrame(No),{signal:Be.signal});window.visualViewport?.addEventListener("scroll",()=>{se(window.innerWidth,window.innerHeight)&&(_a(),(Je||at||it)&&ur())},{signal:Be.signal}),window.visualViewport?.addEventListener("resize",()=>{se(window.innerWidth,window.innerHeight)&&(_a(),ur())},{signal:Be.signal}),window.addEventListener("resize",()=>{(function(){let e=se(window.innerWidth,window.innerHeight);e!==ve&&(Ln.append(Pn),Yi(),Na(!0),Da(),qa(),ve=e,e||(qn.style.translate="",Lt||(qn.style.bottom="")),ye=!e&&"edge"===we,Pn.removeAttribute("style"),Di(),La="",sr())})(),_a(),ve||Za(),ur()},{signal:Be.signal}),C(Ln,"keydown",e=>{Si=!0,queueMicrotask(()=>{Si=!1});let t=e.composedPath()[0];if((Je||ve&&Ie)&&"Tab"===e.key){let t=[...(Je?Rn:Ue?Ln.querySelector(".design-inspector")??Ln:Ln).querySelectorAll("button:not(:disabled),input:not(:disabled):not([type=hidden]),select:not(:disabled),textarea:not(:disabled),summary,a[href],[tabindex]")].filter(e=>e.tabIndex>=0&&e.getClientRects().length>0&&!e.closest("[inert]")&&(Je||Ue||!ve||!!e.closest(".panel,.toolbar"))),n=t[0],i=t.at(-1);!e.shiftKey||Ln.activeElement!==n&&t.includes(Ln.activeElement)?!e.shiftKey&&(Ln.activeElement===i||!t.includes(Ln.activeElement))&&(e.preventDefault(),n?.focus()):(e.preventDefault(),i?.focus())}let n=document.activeElement;for(;n?.shadowRoot?.activeElement;)n=n.shadowRoot.activeElement;let i=v(t)||v(n)||e.isComposing;if("Escape"!==e.key){if(!i){if(Xe&&Re(e,G.restore))return e.preventDefault(),void Ka();R.onboarding||(Re(e,G.comment)?(e.preventDefault(),Ca(!Ye)):Re(e,G.browse)?(e.preventDefault(),Ca(!1)):Q&&Re(e,G.design)?(e.preventDefault(),Ea(!Ue)):Re(e,G.comments)&&(e.preventDefault(),Xa(!Ie)))}}else{if(Ue||e.defaultPrevented&&!e.composedPath().includes(An))return;Fe||at||it||Je?(e.preventDefault(),Ua()):Ie&&(e.preventDefault(),Xa(!1))}},{signal:Be.signal}),C(Ln,"pointerdown",e=>{let t=e.composedPath(),n=t.some(e=>e instanceof Element&&e.getRootNode()===Ln&&e.matches("button,input,textarea,summary,[role=menu],[role=listbox],.emoji-menu,.emoji-keyboard,.floating-notice"));0===e.button&&(it||at)&&(!at||!se(window.innerWidth,window.innerHeight))&&!Je&&!t.includes(Rn)&&!t.includes(qn)&&!t.includes(_n)&&(!Fe||!t.includes(Tn))&&!n&&(at&&gn.trim()&&(Nt={anchor:at,text:gn}),Ua());for(let t of Ln.querySelectorAll(".comment-menu[open]"))e.composedPath().includes(t)||(t.open=!1)},{signal:Be.signal});let hr=new ResizeObserver(()=>{mi(),ur()});hr.observe(me);let mr=0,gr=new MutationObserver(e=>{if(e.some(e=>e.target===document.body)&&mi(),at||it||Fe||aa)return ur();mr||(mr=window.setTimeout(()=>{mr=0,ur()},80))});function fr(){De||na()===Sn||(Sn=na(),dt?.clearSelection(),dt?.setReturnAction(null),Nt=null,it=ot?.id===it?it:null,at=null,sr())}gr.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),r(An,()=>"0"!==Vn.style.opacity?[ar]:[],rr,Be.signal),Rn.addEventListener("pointerdown",e=>{Je&&e.target===Rn&&Ua()});let br=()=>setTimeout(()=>(fr(),yr()));async function xr(e){if(!R.navigate||e.origin!==location.origin)return location.assign(e);let t=e.searchParams.get("comment");if(!t)return;st(),rt.delete(t);let n={id:t,inspect:"design"===e.searchParams.get("comment-view"),pending:!0,rejected:!1};ot=n,it===t&&_o();try{await R.navigate(e)}catch{n.rejected=!0}De||ot!==n||(n.pending=!1,fr(),await vr(n))}window.addEventListener("popstate",br,{signal:Be.signal}),window.navigation?.addEventListener("navigatesuccess",br,{signal:Be.signal});let wr=null;async function vr(e){let t=nt.find(t=>t.id===e.id);if(!t||wr===e||e.opened)return;wr=e;for(let n=0;n<5e3&&lt(t)&&!Ee(t.anchor)&&(await new Promise(e=>setTimeout(e,100)),!De&&ot===e);n+=100);if(wr===e&&(wr=null),De||ot!==e||!nt.some(e=>e.id===t.id))return;let n=new URL(location.href);n.searchParams.get("comment")===e.id&&(n.searchParams.delete("comment"),n.searchParams.delete("comment-view"),history.replaceState(history.state,"",n)),fr(),e.opened=!0,Ie||Xa(!0),Ja(t,!0),e.inspect&&lt(t)&&Zo(t)}async function yr(){let e=new URL(location.href),t=e.searchParams.get("comment");if(t&&rt.has(t))return e.searchParams.delete("comment"),e.searchParams.delete("comment-view"),void history.replaceState(history.state,"",e);let n=nt.find(e=>e.id===t);!n||ot?.pending||(ot?.id!==n.id&&(st(),ot={id:n.id,inspect:"design"===e.searchParams.get("comment-view"),pending:!1,rejected:!1}),await vr(ot))}function kr(){let e=new i(R);return!(e.token===He.token||He.transient&&!e.token||(He.cancelReads(),He=e,Rt=!1,_t=null,wt="Connecting",Ot=It=Ft=Yt=qt=!1,at=Nt=null,gn=fn="",bn=[],jn.clear(),Xt.length=0,Et=yt=Ct=null,St++,clearTimeout(kt),Vi(),sr(),ha(jr),0))}window.addEventListener("storage",e=>{e.storageArea===localStorage&&e.key===He.sessionKey&&e.newValue!==He.token&&kr()},{signal:Be.signal}),window.addEventListener("focus",()=>{kr()||ba?.wake()},{signal:Be.signal});let Sr=e=>e.target.closest?.(".list .thread-item")?.dataset.thread??"",Cr=()=>{clearTimeout(Io),Io=window.setTimeout(()=>Fo(),80)};for(let[e,t]of[["pointerover",e=>(Bo=Sr(e))?Fo():Cr()],["pointerleave",()=>{Bo="",Cr()}],["focusin",e=>{Do=Sr(e),Fo()}],["focusout",()=>{Do="",Cr()}],["scroll",()=>{Bo=Do="",Fo()}]])Pn.addEventListener(e,t,{capture:!0,signal:Be.signal});ba=function(e){let t,n=!1,i=!1,a=!1,o=0,r=()=>{if(clearTimeout(t),i||!e.enabled())return;let n=e.active()?Math.min(Math.max(15e3,e.interval),e.interval*2**Math.min(o,3)):Math.max(6e4,e.interval);t=setTimeout(s,n*(.9+.2*Math.random()))},s=async()=>{if(!i&&e.enabled()){if(n)return void(a=!0);n=!0;try{o=await e.read()?0:o+1}catch{o++}finally{n=!1,a?(a=!1,l()):r()}}};function l(e=!0){o=0,clearTimeout(t),e?s():n||r()}return{wake:l,stop(){i=!0,clearTimeout(t)}}}({interval:Math.max(2e3,R.pollInterval??4e3),enabled:()=>!De&&!document.hidden&&!1!==navigator.onLine&&!R.onboarding,active:()=>Ie||Je||Fe||!!at||!!it,read:async()=>(fr(),Rt?ya():jr())});for(let e of["online","offline"])window.addEventListener(e,()=>ba?.wake(),{signal:Be.signal});if(An.addEventListener("click",()=>ba?.wake(!1),{signal:Be.signal}),An.addEventListener("keydown",()=>ba?.wake(!1),{signal:Be.signal}),!1!==R.isolateEvents){An.setAttribute("data-isolate",""),S(An,Be.signal);for(let e of y)An.addEventListener(e,e=>k(e,Ln)&&e.stopPropagation(),{passive:!0,signal:Be.signal});document.addEventListener("focusout",e=>e.relatedTarget===An&&e.stopImmediatePropagation(),{signal:Be.signal})}document.addEventListener("visibilitychange",()=>{document.hidden?(gr.disconnect(),clearTimeout(mr),mr=0):(gr.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),mi(),ur()),(document.hidden||!kr())&&ba?.wake()},{signal:Be.signal});let $r={destroy(){if(De)return;De=!0,st(),tr(),ba?.stop(),dt?.destroy(),ln?.resetDesignPreviews(),He.cancelReads(),Yi(),lo?.(),cancelAnimationFrame(ja),clearTimeout(mr),clearTimeout(io),clearTimeout(ki),clearTimeout(ro),To.clear(),Jt.stop(),ha(zt),mt?.(),dn?.(!0);for(let[e,t]of cn)t?.(),e.getAnimations().forEach(e=>e.cancel()),e.remove();cn.clear(),yi?.cancel(),zi?.stop(),Na(!0),Be.abort(),clearTimeout(Cn),clearTimeout($n),clearTimeout(zn),cancelAnimationFrame(En),cancelAnimationFrame(Gn),cancelAnimationFrame(oa),Un(),hr.disconnect(),gr.disconnect(),bi.disconnect(),ni.disconnect(),cancelAnimationFrame(fi);let e=xi?me.scrollTop*ta():window.scrollY/Aa;mi(),(xi||!ye)&&(Ta(),window.scrollTo({top:e,behavior:"instant"})),ea.disconnect(),Qn.unmount(),An.remove(),Pe.delete(document)},comment(e){let t=()=>{if(De||!e.isConnected)return;let t=e.getBoundingClientRect();!t.width||!t.height||pr(e,{x:t.left+t.width/2,y:t.top+t.height/2})};Ie&&!Sa()?(Xa(!1),yi&&wi?yi.finished.then(t).catch(()=>{}):t()):t()},open(){De||(Ka(),Xa(!0))},close(){De||(Ua(),Xa(!1))},async refresh(){await ya()}};Pe.set(document,{scope:oe,controller:$r}),Ci=!R.onboarding&&$i.get(),_a();let Er=R.onboarding?null:He.cached();Qe||=null!==Er;let zr=Ci;if(Ci=!0,Er&&pt.replace(wa(Er)),sr(),ye&&(Pn.style.transition="none",Bi(),Pn.offsetWidth,Pn.style.transition=""),Ci=zr,Ci&&(Xa(!0),Ci=!1,!w()))for(let e of[An,xi?me:null])e?.animate([{opacity:0},{opacity:1}],{duration:200,easing:"cubic-bezier(0.22, 1, 0.36, 1)"});async function jr(){let e,t=He,n=t.token;try{await t.restore()}catch{}if(De||t!==He)return;n!==t.token&&Vi(),Za(),Je&&_o();let i=ya();i.catch(()=>{});try{e=await t.request("config")}catch(e){if(De||t!==He||e instanceof DOMException&&"AbortError"===e.name)return;let n=de(e),i=_t?.detail!==n.detail;throw _t=n,wt="Offline",i&&sr(),e}if(De||t!==He)return;Rt=!0,Ot=!!e.google,It=e.github,Ft=e.guests,Yt=e.guestResolve,qt=!!e.private,sr();let a=await i;return De||t!==He?void 0:(yr(),sr(),a)}return yr(),R.onboarding?.inProject||ha(()=>jr().finally(()=>ba?.wake(!1))),$r}export{R as a,We as b,Oe as c};
1
+ import{a as e,b as t,c as n,d as i}from"./chunk-ILX63XAJ.js";import{b as a}from"./chunk-DH22G2S5.js";import{a as o,b as r}from"./chunk-3276ZULN.js";import{a as s,b as l,c as d,d as c,e as p,f as u,g as h,h as m,i as g,m as f}from"./chunk-WGISPOJV.js";import{a as b,b as x,d as w,e as v,f as y,g as k,h as S,i as C,j as $,k as E,l as z,n as j,o as A,q as L,r as M}from"./chunk-PLSWBSSX.js";var T=e=>`komo:setup:${e.endpoint}:${e.onboarding?.code}`;function _(e){if(!e.onboarding?.inProject)return e;try{let t=JSON.parse(localStorage.getItem(T(e))||"null");if("string"==typeof t?.project&&t.project.startsWith("komo_")&&"string"==typeof t.repo)return{...e,project:t.project,repo:t.repo,onboarding:void 0}}catch{}return e}function R(e){let{scope:t="project",...n}=e;if("branch"===t&&!e.branch?.trim())throw new Error("Branch scope needs a build-time branch. Run komo sync before your build or set branch explicitly.");return{...n,endpoint:n.endpoint||"https://komo.offbr.co",repo:e.repo||e.project,branch:"branch"===t?e.branch:"shared"}}function q(e,t){let n=e.x<t/2?"right":"left",i=e.component;if(!i)return n;let{left:a,top:o,right:r,bottom:s}=i;if(r<=a||s<=o)return n;let l=(a+r)/2;return(Math.hypot(Math.max(a-e.x,0,e.x-r),Math.max(o-e.y,0,e.y-s))||Math.min(e.x-a,r-e.x,e.y-o,s-e.y))>100||e.x===l?n:e.x<l?"right":"left"}var P=(e,t)=>({value:e.style.getPropertyValue(t),priority:e.style.getPropertyPriority(t)}),W=(e,t,n)=>{e.style.setProperty(t,n.value,n.priority)};function O(e,t){let n=e.getAttribute("style"),i=e.style.cssText,a=t.map(t=>[t,P(e,t)]);return()=>{for(let[t,n]of a)W(e,t,n);e.style.cssText===i&&(null===n?(e.getAttribute("style"),e.removeAttribute("style")):e.setAttribute("style",n))}}var H=e=>e&&"none"!==e?e.match(/calc\(.*?\)|[^\s(]+/g)??[]:[],B=(e,t="0px 0px")=>[{scale:String(e),translate:t},{scale:String(e),translate:t}];function D(e,t){for(let n of e.getAnimations?.()??[])"transitionProperty"in n&&t.includes(String(n.transitionProperty))&&n.cancel()}var F=class{constructor(e,t,n=e=>e){this.confirmed=e,this.changed=t,this.normalize=n}confirmed;changed;normalize;jobs=[];aliases=new Map;revision=0;get busy(){return this.jobs.length>0}id=e=>this.aliases.get(e)??e;get value(){return this.normalize(this.jobs.reduce((e,t)=>t.change(e,this.id),this.confirmed),this.id)}replace(e,t=this.revision){return!this.busy&&t===this.revision&&(this.confirmed=e,this.changed(this.value),!0)}reset(e){let t=this.jobs;this.jobs=[],this.aliases.clear(),this.confirmed=e,this.revision++;for(let e of t)e.reject(new DOMException("Session changed","AbortError"));this.changed(this.value)}submit(e,t){let n=new Promise((n,i)=>{this.jobs.push({change:e,save:t,resolve:n,reject:i})});return this.revision++,this.changed(this.value),1===this.jobs.length&&this.drain(),n}async drain(){for(;this.jobs.length;){let e,t=this.jobs[0],n=!1;try{let e=await t.save(this.id);if(this.jobs[0]!==t)return;this.confirmed=t.change(this.confirmed,this.id);for(let[t,n]of Object.entries(e??{}))this.aliases.set(t,n);this.confirmed=this.normalize(this.confirmed,this.id)}catch(t){n=!0,e=t}if(this.jobs[0]!==t)return;this.jobs.shift(),this.revision++,this.changed(this.value),n?t.reject(e):t.resolve()}}};function I(e,t,n,i,a=600,o=34){let r=t+((n-e)*a-t*o)*i;return{value:e+r*i,velocity:r}}var Y=(e,t)=>Math.max(16,Math.min(e,t));function N(e,t,n,i,a){return{...e,x:"left"===e.edgeX?16:"right"===e.edgeX?Math.max(16,i-t-16):Y(e.x,i-t-16),y:"top"===e.edgeY?16:"bottom"===e.edgeY?Math.max(16,a-n-16):Y(e.y,a-n-16)}}function X(e,t,n,i,a){let o=N(e,t,n,i,a),r=i-t-16-o.x,s=a-n-16-o.y;return Math.min(o.x-16,r)<.05*i&&(o.edgeX=o.x-16<=r?"left":"right"),Math.min(o.y-16,s)<.05*a&&(o.edgeY=o.y-16<=s?"top":"bottom"),N(o,t,n,i,a)}function U(e,t,n,i,a,o,r=()=>!0,s=()=>!1){let l;t.addEventListener("pointerdown",d=>{let c=d.target;if(!r()||0!==d.button||c.closest("button,input,textarea,a,summary,[role=menu]")&&!s(c))return;l?.();let p=e.getBoundingClientRect(),u=!1,h=d.clientX,m=d.clientY,g=d.timeStamp,f=0,b=0,x=t=>{if(t.pointerId!==d.pointerId)return;if(!r())return void l?.();let i=t.clientX-d.clientX,o=t.clientY-d.clientY;if(!u&&Math.hypot(i,o)<5)return;if(!u){a?.();for(let t of e.getAnimations())t.cancel();e.dataset.dragging="true",u=!0}t.preventDefault();let s=t.timeStamp-g;s>0&&(f=.8*(t.clientX-h)/s+.2*f,b=.8*(t.clientY-m)/s+.2*b),h=t.clientX,m=t.clientY,g=t.timeStamp;let c=N({x:p.left+i,y:p.top+o},p.width,p.height,document.documentElement.clientWidth,window.innerHeight);n(c);let x=X(c,p.width,p.height,document.documentElement.clientWidth,window.innerHeight);e.dataset.snapX=x.edgeX??"",e.dataset.snapY=x.edgeY??""},w=i=>{if(i.pointerId!==d.pointerId)return;if(!r())return void l?.();if(l?.(),!u)return;let a=e.getBoundingClientRect(),s="pointercancel"!==i.type&&i.timeStamp-g<80?120:0;n(X({x:a.left+f*s,y:a.top+b*s},a.width,a.height,document.documentElement.clientWidth,window.innerHeight)),o?.();let c=e.getBoundingClientRect();matchMedia("(prefers-reduced-motion: reduce)").matches||e.animate([{translate:`${a.left-c.left}px ${a.top-c.top}px`},{translate:"0px 0px"}],{duration:320,easing:"cubic-bezier(.22,1,.36,1)"}),t.addEventListener("click",e=>{e.preventDefault(),e.stopImmediatePropagation()},{capture:!0,once:!0})};l=()=>{window.removeEventListener("pointermove",x,!0),window.removeEventListener("pointerup",w,!0),window.removeEventListener("pointercancel",w,!0),delete e.dataset.dragging,delete e.dataset.snapX,delete e.dataset.snapY,i.removeEventListener("abort",l)},i.addEventListener("abort",l,{once:!0}),window.addEventListener("pointermove",x,{capture:!0,passive:!1}),window.addEventListener("pointerup",w,!0),window.addEventListener("pointercancel",w,!0)},{signal:i})}var V=16,K=240,J=200,G=(e,t,n)=>Math.min(Math.max(e,t),Math.max(t,n));function Z(e,t,n,i,a,o){let r=t.left+t.width,s=t.top+t.height,l=Math.min(o-32,680),d=t.left,c=t.top,p=t.width,u=t.height;return e.includes("e")&&(p=G(t.width+n,K,a-t.left-V)),e.includes("w")&&(p=G(t.width-n,K,r-V),d=r-p),e.includes("s")&&(u=G(t.height+i,J,Math.min(o-t.top-V,l))),e.includes("n")&&(u=G(t.height-i,J,Math.min(s-V,l)),c=s-u),{left:d,top:c,width:p,height:u}}var Q=/^(?:\p{RI}\p{RI}|[#*0-9]️?⃣|\p{Extended_Pictographic}[️\p{Emoji_Modifier}]?(?:‍\p{Extended_Pictographic}[️\p{Emoji_Modifier}]?)*|\u{1F3F4}[\u{E0020}-\u{E007E}]+\u{E007F})$/u,ee=e=>"string"==typeof e&&e.length<=128&&Q.test(e),te=["👍","❤️","🎉","👀","✅","🤔"],ne=new Map;function ie(e){if(ne.has(e))return ne.get(e);let t={counts:{}};try{let n=JSON.parse(localStorage.getItem(e)??"null");for(let[e,i]of Object.entries(n?.counts??{}).slice(0,200))ee(e)&&"number"==typeof i&&Number.isFinite(i)&&i>0&&(t.counts[e]=i);ee(n?.recent)&&(t.recent=n.recent)}catch{}return ne.set(e,t),t}function ae(e,t){let n=/\[([^\]\n]+)\]\((https?:\/\/[^\s)]+)\)|https?:\/\/[^\s<>]+/gi,i=0;for(let a of t.matchAll(n)){let n=a.index??0;n>i&&e.append(document.createTextNode(t.slice(i,n)));let o=void 0!==a[1],r=o?a[2]:a[0],{url:s,trailing:l}=re(r),d=oe(s);if(d){if(o){let t=document.createElement("a");t.href=d,t.target="_blank",t.rel="noopener noreferrer",t.textContent=a[1],e.append(t)}else{let t=document.createElement("a");t.href=d,t.target="_blank",t.rel="noopener noreferrer",t.textContent=s,e.append(t)}l&&e.append(document.createTextNode(l))}else e.append(document.createTextNode(a[0]));i=n+a[0].length}i<t.length&&e.append(document.createTextNode(t.slice(i)))}function oe(e){try{let t=new URL(e);return"http:"!==t.protocol&&"https:"!==t.protocol||t.username||t.password?null:t.href}catch{return null}}function re(e){let t=e.length;for(;t>0&&/[.,!?;:]$/.test(e.slice(0,t));)t--;for(let[n,i]of[["(",")"],["[","]"],["{","}"]])for(;t>0&&e[t-1]===i;){let a=e.slice(0,t),o=[...a].filter(e=>e===n).length;if([...a].filter(e=>e===i).length<=o)break;t--}return{url:e.slice(0,t),trailing:e.slice(t)}}var se=(e,t)=>e<=760||e<=1e3&&t<=500;function le(e,t,n,i=t,a=!1,o=!1,r=!0){let s=n&&!se(e,t),l=n&&!s,d=s?404:0,c=s&&r?o?Math.min(.9,(e-d-24)/e):.9:1,p=l?a?0:.18*t:t,u=l?i:s?r?t*(o?c:.9):Math.max(1,t-48):t,h=s?o||!r?24:e-d-e*c:0,m=s?(t-u)/2:0;return{desktop:s,mobile:l,framed:s,sheetTop:p,bottom:t-m-u,scale:c,left:h,top:m,right:d,visibleTop:Math.max(0,m),visibleHeight:Math.max(0,u+Math.min(0,m)),visibleLeft:Math.max(0,h),visibleWidth:e-d-Math.max(0,h),height:u,dockCenter:s?e-190:e/2}}function de(e){let t=e instanceof n?e.code:void 0;return"site_not_approved"===t?{kind:"site",title:"Comments aren’t on for this site",detail:"Own this site? Turn comments on. Otherwise, send this link to the owner."}:"offline"===t?{kind:"offline",title:"You’re offline",detail:"Comments will come back when you do."}:"unreachable"===t?{kind:"unreachable",title:"Can’t connect",detail:"You might be offline, or this site isn’t set up for comments yet."}:{kind:"server",title:"Comments didn’t load",detail:e instanceof Error?e.message:"Something went wrong."}}var ce="input,textarea,select,script,style,[contenteditable],[hidden],[aria-hidden=true]",pe=(e,t=160)=>e.replace(/\s+/g," ").trim().slice(0,t);function ue(e){let t,n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),i="";for(;(t=n.nextNode())&&(t.parentElement?.closest(ce)||(i+=t.textContent+" "),!(i.length>320)););return pe(i)}function he(e){let t=document.querySelectorAll(e);return 1===t.length?t[0]:null}var me=/^radix-|^:r|_r_|«r/;function ge(e,t){for(let n of["data-comment-anchor","id","data-testid","data-test","data-cy"]){let i=e.getAttribute(n);if(!i||i.length>500||"id"===n&&me.test(i))continue;let a="id"===n?`#${CSS.escape(i)}`:`[${n}="${CSS.escape(i)}"]`;if(a.length<=2e3&&(!t||a===t)&&he(a)===e)return a}}function fe(e){let t=[],n=e;for(;n&&n!==document.body&&n!==document.documentElement;){let e=ge(n);if(e){t.unshift(e);break}let i=n.parentElement?[...n.parentElement.children].filter(e=>e.tagName===n.tagName):[],a=n.tagName.toLowerCase();t.unshift(i.length>1?`${a}:nth-of-type(${i.indexOf(n)+1})`:a),n=n.parentElement}return n===document.body?t.unshift("body"):n===document.documentElement&&t.unshift("html"),t.join(" > ")}function be(e){return pe(e.getAttribute("aria-label")||(e.getAttribute("aria-labelledby")||"").split(/\s+/).map(e=>{let t=e&&document.getElementById(e);return t?ue(t):""}).join(" ")||e.getAttribute("alt")||e.labels&&[...e.labels].map(ue).join(" ")||"")}function xe(e){let t=e.parentElement?.closest("li,article,tr,[data-comment-anchor]")||e.parentElement;return t&&t!==document.body&&t!==document.documentElement?ue(t):""}var we=e=>e.matches("dialog,[role=dialog],[role=alertdialog],[popover]")||"fixed"===getComputedStyle(e).position;function ve(e){let t,n=we(e)?null:e.parentElement;for(;n&&n!==document.body&&(t=ge(n),!t);){if(we(n)){let e=fe(n);e.length<=2e3&&(t=e);break}n=n.parentElement}let i=window.getSelection(),a=i?.rangeCount?i.getRangeAt(0):null,o=getComputedStyle(e);return{tag:e.tagName.length<=32?e.tagName.toLowerCase():void 0,role:pe(e.getAttribute("role")||"",80)||void 0,label:be(e)||void 0,nearby:xe(e)||void 0,classes:pe(e.getAttribute("class")||"",200)||void 0,styles:["display","width","height","font-size","color","padding","gap"].map(e=>`${e}: ${o.getPropertyValue(e)}`).join("; ").slice(0,500),selectedText:a&&e.contains(a.commonAncestorContainer)&&!e.closest(ce)&&!e.querySelector(ce)&&pe(i.toString(),200)||void 0,scope:t}}function ye(e,t){let n=t.context;return!!(t.text||n?.label||n?.nearby)&&(!t.text||(n?ue(e)===pe(t.text):pe(e.textContent||"").startsWith(pe(t.text))))&&(!n||(!n.tag||e.tagName.toLowerCase()===n.tag)&&(!n.role||e.getAttribute("role")===n.role)&&(!n.label||be(e)===n.label)&&(!n.nearby||xe(e)===n.nearby))}function ke(e,t){if(e===t||e&&t&&(e.startsWith(t)||t.startsWith(e)))return!0;let n=e.toLowerCase().split(" ").filter(Boolean),i=new Set(t.toLowerCase().split(" ").filter(Boolean));return 2*n.filter(e=>i.has(e)).length/(n.length+i.size||1)>=.6}function Se(e,t,n){let i=[];for(let n=e;n&&n!==document.body&&n!==document.documentElement&&((n!==t||n===e)&&i.push(n),n!==t&&!we(n));n=n.parentElement);let a=n?.(e);return a?.isConnected&&i.includes(a)?a:i.find(e=>e.hasAttribute("data-comment-anchor")&&ge(e))||(i.slice(1).find(e=>e.matches("article,li,tr,[role=listitem],[role=row],[role=button],[role=link]")&&ge(e))??e)}function Ce(e,t,n,i){let a=e,o=Math.min(t.x,n.x),r=Math.min(t.y,n.y),s=Math.max(t.x,n.x),l=Math.max(t.y,n.y);for(;a.parentElement&&a!==document.body;){let e=a.getBoundingClientRect();if(o>=e.left&&s<=e.right&&r>=e.top&&l<=e.bottom&&e.width&&e.height)break;a=a.parentElement}let d=a.getBoundingClientRect(),c=e=>Math.max(0,Math.min(1,e)),p=s-o>6||l-r>6,u=c((o-d.left)/(d.width||1)),h=c((r-d.top)/(d.height||1));return{selector:fe(a),text:ue(a),context:ve(a),x:u,y:h,width:p?Math.min(1-u,(s-o)/(d.width||1)):0,height:p?Math.min(1-h,(l-r)/(d.height||1)):0,pageX:o+window.scrollX,pageY:r+window.scrollY,viewportWidth:window.innerWidth,source:("function"==typeof i?i(a):i)??a.closest("[data-comment-source]")?.getAttribute("data-comment-source")??void 0}}var $e=(e,t,n)=>[...n?e.querySelectorAll(t.context.tag):e.children].filter(e=>ye(e,t));function Ee(e,t,n=$e){let i=null;try{let a=e.selector?he(e.selector):document.body;if(i=t?.isConnected&&t===a?t:a,i&&ge(i,e.selector))return i;if(i&&!ye(i,e))return ze(e,n)??(function(e,t){let n=t.context;return!!n?.tag&&e.tagName.toLowerCase()===n.tag&&(!n.role||e.getAttribute("role")===n.role)&&(!n.classes||pe(e.getAttribute("class")||"",200)===n.classes)&&ke(pe(t.text),ue(e))&&(!n.nearby||ke(n.nearby,xe(e)))}(i,e)?i:null);if(i||!e.context?.scope)return i&&function(e,t,n){let i=t.context;if(!i?.tag||!(t.text||i.label||i.nearby))return e;let a=i.scope?he(i.scope):null,o=a?n(a,t,!0):e.parentElement?n(e.parentElement,t,!1):[];return 1===o.length?o[0]:o.includes(e)&&o.every(t=>t.contains(e)||e.contains(t))?e:null}(i,e,n);i=ze(e,n)}catch{i=null}return i}function ze(e,t){let n=e.context;if(!n?.tag||!n.scope||!(e.text||n.label||n.nearby))return null;let i=he(n.scope),a=i?t(i,e,!0):[];return 1===a.length?a[0]:null}function je(e,t){return Ae(e,Ee(e,t))}function Ae(e,t){if(t){let n=t.getBoundingClientRect();if(n.width&&n.height)return{x:n.left+n.width*e.x,y:n.top+n.height*e.y,width:n.width*e.width,height:n.height*e.height,attached:!0,component:{left:n.left,top:n.top,right:n.right,bottom:n.bottom}}}return{x:e.pageX*window.innerWidth/e.viewportWidth-window.scrollX,y:e.pageY-window.scrollY,width:0,height:0,attached:!1}}var Le={comment:"C",browse:"V",design:"D",restore:"Shift+K",comments:"L"},Me=["Ctrl","Alt","Shift","Meta"],Te=new Set(["escape","tab"]);function _e(e,t){let n=t.split("+").map(e=>e.trim());n.length>1&&""===n.at(-1)&&""===n.at(-2)&&n.splice(-2,2,"+");let i=n.pop()??"",a=new Set;for(let i of n){let n=Me.find(e=>e.toLowerCase()===i.toLowerCase());if(!n||a.has(n))throw new Error(`Invalid komo shortcut for ${e}: "${t}".`);a.add(n)}if(!i||Te.has(i.toLowerCase()))throw new Error(`Invalid komo shortcut for ${e}: "${t}".`);let o=1===i.length?i.toUpperCase():i;return{key:i.toLowerCase(),shift:a.has("Shift"),alt:a.has("Alt"),ctrl:a.has("Ctrl"),meta:a.has("Meta"),label:[...Me.filter(e=>a.has(e)),o].join("+")}}function Re(e,t){if(!t||e.shiftKey!==t.shift||e.altKey!==t.alt||e.ctrlKey!==t.ctrl||e.metaKey!==t.meta)return!1;let{key:n}=t;if(e.key.toLowerCase()===n)return!0;let i=/^[a-z]$/.test(n)?`Key${n.toUpperCase()}`:/^\d$/.test(n)&&`Digit${n}`;return e.code===i&&(t.shift||t.alt||t.ctrl||t.meta||!/^[a-z\d]$/i.test(e.key))}function qe(e,t){return t?`${e} · ${t.label}`:e}var Pe=new WeakMap;function We(e){return Oe(R(e))}function Oe(R){let Y={destroy(){},open(){},close(){},comment(){},async refresh(){}};if(typeof document>"u"||!1===R.enabled)return Y;if(!(R.endpoint&&R.repo&&R.branch&&R.project))throw new Error("Comments require endpoint, repo, branch, and project.");if(R.pageRoot&&(R.pageRoot===document.body||!document.body.contains(R.pageRoot)))throw new Error("pageRoot must be mounted inside body.");let X=new URL(R.endpoint);if(X.username||X.password||"https:"!==X.protocol&&("http:"!==X.protocol||!["localhost","127.0.0.1","[::1]"].includes(X.hostname)))throw new Error("Use an HTTPS API endpoint without credentials; HTTP is allowed on localhost.");A(R.avatar);let G=function(e={}){let t={},n=new Map;for(let i of Object.keys(Le)){let a=e[i]??Le[i];if(!1===a){t[i]=null;continue}if("string"!=typeof a)throw new Error(`Invalid komo shortcut for ${i}.`);let o=_e(i,a),r=n.get(o.label.toLowerCase());if(r)throw new Error(`komo shortcuts for ${r} and ${i} both use ${o.label}.`);n.set(o.label.toLowerCase(),i),t[i]=o}return t}(R.shortcuts),Q=!1!==R.features?.designMode,ne=!1!==R.features?.tags,oe=JSON.stringify([X.href,R.project,R.repo,R.branch]),re=Pe.get(document);if(re){if(re.scope!==oe)throw new Error("Destroy the current komo instance before changing projects or branches.");return re.controller}R={..._(R)};let ce=[...document.body.childNodes].filter(e=>e instanceof Element?!e.matches("script,style,link,meta,template,noscript"):3===e.nodeType&&e.textContent?.trim()),he=R.pageRoot??(1===ce.length&&ce[0]instanceof HTMLElement?ce[0]:document.body),me="contents"===getComputedStyle(he).display?document.body:he,ge=me!==document.body,fe=`branch-comments:sidebar-mode:${R.project}:${R.repo}`,we=(()=>{if(!ge)return"edge";try{let e=localStorage.getItem(fe);if("edge"===e||"background"===e)return e}catch{}return"background"===R.sidebar?"background":"edge"})(),ve=se(window.innerWidth,window.innerHeight),ye=!ve&&"edge"===we,ke=!1,$e=!1,ze=!1,Me=["localhost","127.0.0.1","[::1]"].includes(location.hostname),Te=R.branch,We=`branch-comments:channel:${R.project}:${R.repo}`,Oe="local";try{"shared"===localStorage.getItem(We)&&(Oe="shared")}catch{}Me&&"local"===Oe&&(R={...R,branch:"local"});let He=new i(R),Be=new AbortController,De=!1,Fe=!!R.onboarding,Ie=!1,Ye=!1,Ne=!1===R.showToolbar,Xe=!1===R.showToolbar,Ue=!1,Ve=!1,Ke=0,Je=!!R.onboarding,Ge=!1,Ze=!1,Qe=!!R.onboarding,et=0,tt=null,nt=[],it=null,at=null,ot=null,rt=new Set;function st(){ot&&!ot.opened&&rt.add(ot.id),ot=null}function lt(e){return e.page===na()&&!(ot?.id===e.id&&(ot.pending||ot.rejected))}let dt=null,ct=null,pt=new F([],e=>{if(!De){if(it){let e=pt.id(it);e!==it&&(jn.has(it)&&(jn.set(e,jn.get(it)),jn.delete(it)),Ut===it&&(Ut=e),it=e)}wn&&(wn=pt.id(wn)),nt=e,Qa="",ao(),ko(),Za(),Je||_o()}},(e,t)=>e.map(e=>({...e,id:t(e.id),comments:e.comments.map(e=>({...e,id:t(e.id)}))})));function ut(e,t){return(n,i)=>n.flatMap(n=>{if(n.id!==i(e))return[n];let a=t(n);return a?[a]:[]})}async function ht(e,t,n){let i=He,a=He.token,o=et,r=()=>De||He!==i||o!==et||He.token!==a;try{await pt.submit(e,async e=>{if(r())throw new DOMException("Session changed","AbortError");return t(e)})}catch(e){throw r()?new DOMException("Session changed","AbortError"):(n?.(),sr(),new Error(`Couldn't save. Your change was reverted. ${e instanceof Error?e.message:"Try again."}`,{cause:e}))}if(r())throw new DOMException("Session changed","AbortError");pt.busy||ha(ya)}let mt,gt="open",ft="",bt=!0,xt="",wt="Connecting",vt="",yt=null,kt=0,St=0,Ct=null,$t=Promise.resolve(),Et=null;function zt(){clearTimeout(kt);let e=Et;return Et=null,e&&($t=$t.catch(()=>{}).then(async()=>{if(He.token===e.token)try{let t=await He.request("me","PATCH",{name:e.name,avatarUrl:e.avatarUrl,accentColor:e.accentColor});if(He.token!==e.token)return;Ct=t.user,St===e.revision&&He.save({token:e.token,user:t.user}),De||(Za(),ha(ya))}catch(t){throw He.token===e.token&&St===e.revision&&(He.user=Ct,yt=null,sr()),new Error(`Couldn't save your profile. ${t instanceof Error?t.message:"Try again."}`,{cause:t})}})),$t}function jt(e,t=!1){!He.token||!e.name.trim()||((!Ct||Ct.id!==He.user?.id)&&(Ct=He.user?{...He.user}:null),Et={...e,name:e.name.trim(),token:He.token,revision:++St},He.user&&(He.user={...He.user,...e,name:e.name.trim()}),Za(),clearTimeout(kt),t?ha(zt):kt=window.setTimeout(()=>ha(zt),500))}function At(){let e=z("Continue with Google",()=>ha(()=>Eo("google")),"google-signin secondary");return e.prepend(M()),e}let Lt,Mt,Tt="",_t=null,Rt=!1,qt=!1,Pt=!1,Wt=R.onboarding?.sites?.filter(e=>e.startsWith("https://")&&e!==location.origin).join("\n")??"",Ot=!1,Ht=null,Bt=null,Dt=0,Ft=!1,It=!1,Yt=!1,Nt=null,Xt=[],Ut=null,Vt=null,Kt=new Map,Jt=function(e){let t=null,n=null,i=0,a=0,o=0,r=0,s=0,l=0,d=0,c=0,p=0,u=0,h=1,m=matchMedia("(prefers-reduced-motion: reduce)"),g=()=>{n&&(n.style.translate=`${o-d}px ${r-c}px`,n.style.scale=`${1-p*h} ${1-p*(1-h)}`)},f=()=>{cancelAnimationFrame(i),i=0,s=l=p=u=0,n&&(n.style.translate="",n.style.scale="",n.style.willChange="")},b=t=>{if(!n?.isConnected||m.matches)return void f();let x=Math.min((t-a)/1e3,.032);a=t;let w=Math.max(1,Math.ceil(x/.008));for(let e=0;e<w;e++){let e=x/w,t=I(o,s,d,e),n=I(r,l,c,e);o=t.value,s=t.velocity,r=n.value,l=n.velocity;let i=Math.hypot(s,l);i>30&&(h=Math.abs(s)/(Math.abs(s)+Math.abs(l)));let a=I(p,u,Math.min(.035,i/24e3),e,220,15);p=Math.max(-.012,Math.min(.04,a.value)),u=a.velocity}if(g(),e(),Math.hypot(o-d,r-c)<.1&&Math.hypot(s,l)<1&&Math.abs(p)<2e-4&&Math.abs(u)<.002)return o=d,r=c,f(),void e();i=requestAnimationFrame(b)};return{place(e,s,l,p,u){if(t!==e&&(f(),t=e,o=l,r=p),n=s,d=l,c=p,s.style.left=`${l}px`,s.style.top=`${p}px`,m.matches||!u&&!i)return o=l,r=p,void f();g(),s.style.willChange="translate, scale",i||(a=performance.now(),i=requestAnimationFrame(b))},stop:f}}(()=>pa()),Gt=null,Zt=`branch-comments:drawer:${R.project}:${R.repo}`;try{let e=JSON.parse(localStorage.getItem(Zt)??"null");e&&Number.isFinite(e.x)&&Number.isFinite(e.y)&&(Mt={x:e.x,y:e.y,edgeX:["left","right"].includes(e.edgeX)?e.edgeX:void 0,edgeY:["top","bottom"].includes(e.edgeY)?e.edgeY:void 0},Lt=Mt)}catch{}let Qt,en,tn=`branch-comments:sidebar:${R.project}:${R.repo}`,nn=!1,an=380,on=null;try{let e=JSON.parse(localStorage.getItem(tn)??"null");Number.isFinite(e?.width)&&(an=e.width),Number.isFinite(e?.height)&&(on=e.height),e&&Number.isFinite(e.x)&&Number.isFinite(e.y)&&(Qt={x:e.x,y:e.y,edgeX:["left","right"].includes(e.edgeX)?e.edgeX:void 0,edgeY:["top","bottom"].includes(e.edgeY)?e.edgeY:void 0},en=Qt)}catch{}let rn,sn,ln,dn,cn=new Map,pn=/^Proposed .+ \(preview only\)$/m,un=()=>rn??=import("./design-comment-GNLTLD32.js").then(e=>(ln=e,sn=e.summarizeDesignComment,De||(Qa="",ao(!0)),e)),hn=e=>t=>{let n=Ee(e),i=[];try{t&&(i=[...document.querySelectorAll(t)])}catch{}return 1!==i.length||n&&i.includes(n)?n??i[0]??null:i[0]},mn=e=>pn.test(e)?sn?.(e)??(un(),"Design change"):e,gn="",fn="",bn=[],xn="",wn=null,vn="",yn=null,kn=!1,Sn=na(),Cn=0,$n=0,En=0,zn=0,jn=new Map,An=$("div");An.dataset.branchComments="",An.dataset.sidebar=ve?"mobile":ye?"edge":"background",Object.assign(An.style,{position:"fixed",inset:"0",pointerEvents:"none",zIndex:"2147483647",isolation:"isolate"});let Ln=An.attachShadow({mode:"open"}),Mn=$("style");Mn.textContent='.project-management[hidden],.project-management [hidden]{display:none!important}.project-management .account-sites-summary{justify-content:space-between}.project-management .account-usage-status{padding:0 16px}.project-management summary{cursor:pointer}.project-member{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;overflow-wrap:anywhere}.project-danger{display:grid;gap:10px;font-size:12px}.project-danger p{color:#999;line-height:1.5}.project-danger>button{display:block;width:100%;margin-top:12px}.project-help{color:var(--accent,#c8b5f4);font-size:12px}.project-management .destructive{color:#fda29b}.cleanup-confirm{position:fixed;margin:0;width:min(296px,calc(100vw - 24px));box-sizing:border-box;padding:16px;border:0;border-radius:16px;background:#242424;color:#eee;font:13px/1.5 ui-sans-serif,system-ui,sans-serif;box-shadow:inset 0 0 0 1px #ffffff18,0 12px 40px #0005}.cleanup-confirm p{margin:8px 0 16px;color:#aaa}.cleanup-actions{display:flex;justify-content:flex-end;gap:8px}.cleanup-actions button{border:0;border-radius:9px;padding:8px 10px;background:#ffffff0b;color:#ddd;font:inherit;cursor:pointer}.cleanup-actions button:hover{background:#ffffff15}.cleanup-actions button:focus-visible{outline:2px solid var(--accent,#c8b5f4);outline-offset:2px}.cleanup-actions .destructive,.panel-head .copy-page-prompt.destructive{color:#fda29b}.copy-page-prompt:disabled{opacity:.4;cursor:default}:host{all:initial;line-height:1.45;color-scheme:light}*{box-sizing:border-box}button,input,textarea,select{font:inherit;color:inherit}button{appearance:none;border:0;cursor:pointer;background:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid #f48120;outline-offset:3px}input,textarea,select{border:0;outline:none;background:#f4f3f0;border-radius:8px;padding:10px 12px;box-shadow:inset 0 0 0 1px #e4e2dd}input:focus,textarea:focus,select:focus{box-shadow:inset 0 0 0 2px #f48120}textarea{resize:vertical;min-height:85px;max-height:260px;width:100%;line-height:1.55;scrollbar-width:none}textarea::-webkit-scrollbar{display:none}input{min-width:0;width:100%}p{margin:0}h2,h3{margin:0;font-size:16px;font-weight:600}a{color:inherit}svg{width:18px;height:18px;flex-shrink:0}small{font-size:11px;color:#77766f}.toolbar{position:fixed;bottom:24px;left:50%;transform:translate(-50%);pointer-events:auto;z-index:5;transition:opacity .15s ease}:host(.design-active) .toolbar{opacity:0;pointer-events:none;transition-delay:.4s}:host(.design-active[data-sidebar="mobile"]) .toolbar{transition-delay:.32s}@media(prefers-reduced-motion:reduce){:host(.design-active) .toolbar,:host(.design-active[data-sidebar="mobile"]) .toolbar{transition-duration:0ms;transition-delay:0ms}}.catch{position:fixed;inset:0;pointer-events:auto;cursor:crosshair;touch-action:none;z-index:0}.selection,.area{position:fixed;pointer-events:none}.selection{z-index:1}.pin{position:fixed;pointer-events:auto;z-index:2}.pin:hover,.pin.hot,.pin.active{background:#252522;color:#fff}.pin.detached{opacity:.65}.panel{position:fixed;right:0;top:0;width:380px;height:100%;pointer-events:auto;background:#faf9f6;box-shadow:-1px 0 #dad8d1,-15px 0 40px #00000008;display:flex;flex-direction:column;z-index:4}.panel[hidden]{display:none!important}.panel-head{display:grid}.row{display:flex;align-items:center;gap:8px}.between{justify-content:space-between}.muted{color:#77766f}.icon{width:30px;height:30px;border-radius:7px}.icon:hover{background:#ebe9e3}.list{overflow:auto;flex:1;overscroll-behavior:contain;padding:0 10px 100px}.thread-card{display:block;width:100%;text-align:left;position:relative}.thread-card:after{content:"";position:absolute;bottom:0;height:1px;background:#e8e5de}.thread-card:hover{background:#f0eee8}.thread-item{position:relative}.list[data-long]>.thread-item{content-visibility:auto;contain-intrinsic-block-size:auto 160px}.thread-item>.card-resolve{position:absolute;top:8px;right:8px;display:grid;place-items:center;opacity:0;filter:blur(2px);transition:opacity .15s cubic-bezier(.22,1,.36,1),filter .15s cubic-bezier(.22,1,.36,1),transform .15s cubic-bezier(.22,1,.36,1)}.thread-item:hover>.card-resolve,.thread-item>.card-resolve:focus-visible{opacity:1;filter:none}.thread-item>.card-resolve:active{transform:scale(.98)}@media(hover:none){.thread-item>.card-resolve{opacity:1;filter:none}}@media(prefers-reduced-motion:reduce){.thread-item>.card-resolve{transition:none}}.thread-card.active{background:#ede9df}.thread-card .preview{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.meta{display:flex;gap:8px;align-items:center;font-size:11px;color:#77766f}.tag-list{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent, #bda6ef)}.page{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:215px}.empty{text-align:center;color:#77766f;display:grid;justify-items:center}.empty svg{width:32px;height:32px;color:#bbb6aa}.empty strong{color:#34332e}.empty p{max-width:250px;line-height:1.6}.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.dialog{position:fixed;max-width:calc(100vw - 24px);max-height:calc(100vh - 110px);display:flex;flex-direction:column;pointer-events:auto;z-index:6}.dialog-head{flex-shrink:0}.dialog-head h3{font-size:13px}.messages{overflow:auto;overscroll-behavior:contain}.message{position:relative}.message+.message:before{content:"";position:absolute;inset:0 0 auto;height:1px}.author{font-weight:600;font-size:12px}.avatar{width:26px;height:26px;border-radius:50%;display:inline-grid;place-items:center;font-size:10px}.message-text{white-space:pre-wrap;overflow-wrap:anywhere}.actions{display:flex;align-items:center;flex-wrap:wrap}.reaction{min-height:25px}.reaction-picker{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0}.composer{display:grid}.primary{background:#282822;color:#fff;padding:8px 12px;border-radius:8px;font-size:12px;min-height:34px}.primary:hover{background:#4a463a}.secondary{padding:8px 12px;border-radius:8px;background:#eeece5;font-size:12px;min-height:34px}.secondary:hover{background:#e4e0d6}.notice{font-size:11px;color:#777268;line-height:1.5}.thread-navigation{margin:0 16px 12px;padding:10px 12px;border:1px solid #8883;border-radius:8px;color:#aaa}.thread-navigation p{margin:0 0 4px}.thread-destination{color:inherit;text-underline-offset:3px;overflow-wrap:anywhere}.error{background:#fff0e5;color:#9c4619;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.5}.toast{position:fixed;bottom:94px;left:50%;transform:translate(-50%);padding:10px 16px;background:#242422;color:#fff;border-radius:9px;max-width:360px;pointer-events:auto;z-index:10;font-size:12px;box-shadow:0 4px 20px #0002}.account{display:grid}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:760px){.toolbar{max-width:calc(100vw - 20px)}}.morphing-menu{--mm-surface: light-dark(#0d0d0d, #fff);--mm-ink: light-dark(rgb(255 255 255 / 90%), rgb(13 13 13 / 90%));--mm-hover: light-dark(rgb(255 255 255 / 6%), rgb(0 0 0 / 4%));--mm-button: 44px;--mm-inset: 4px;--mm-bar-height: calc(var(--mm-button) + 2 * var(--mm-inset));--mm-bar-width: min(calc(var(--mm-count) * var(--mm-button) + 2 * var(--mm-inset)), calc(100vw - 32px) );--mm-panel-width: min(268px, calc(100vw - 32px) );--mm-panel-padding: 8px;--mm-radius: calc(var(--mm-bar-height) / 2);position:relative;width:var(--mm-bar-width);height:var(--mm-bar-height);flex:none;font-family:inherit;-webkit-tap-highlight-color:transparent}.morphing-menu *,.morphing-menu *:before,.morphing-menu *:after{box-sizing:border-box}.morphing-menu__shell{position:absolute;bottom:0;left:50%;translate:-50% 0;width:var(--mm-bar-width);height:var(--mm-bar-height);border-radius:var(--mm-radius);background:var(--mm-surface, #0d0d0d);color:var(--mm-ink, #fff);box-shadow:inset 0 1px 1px light-dark(rgb(255 255 255 / 8%),rgb(255 255 255 / 40%)),inset 0 -1px 2px light-dark(rgb(0 0 0 / 50%),rgb(0 0 0 / 20%)),0 1px 2px #0000001f;overflow:hidden;isolation:isolate}.morphing-menu__bar{position:absolute;bottom:0;left:50%;translate:-50% 0;display:flex;align-items:center;padding:var(--mm-inset);width:var(--mm-bar-width);height:var(--mm-bar-height)}.morphing-menu__shortcut,.morphing-menu__row{appearance:none;display:flex;align-items:center;flex:none;border:0;margin:0;background:transparent;color:inherit;font:inherit;font-size:15px;font-weight:500;line-height:20px;text-decoration:none;cursor:pointer;touch-action:manipulation;scale:1;transition:background .15s ease,scale .18s cubic-bezier(.22,1,.36,1)}.morphing-menu__shortcut{justify-content:center;width:0;flex:1;height:var(--mm-button);padding:0;border-radius:999px}.morphing-menu__panel{position:absolute;top:0;left:50%;translate:-50% 0;width:var(--mm-panel-width);padding:var(--mm-panel-padding);max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.morphing-menu [aria-hidden=true]{pointer-events:none}.morphing-menu__row{gap:8px;width:100%;min-height:40px;padding:10px 12px;border-radius:calc(var(--mm-radius) - var(--mm-panel-padding));text-align:left}.morphing-menu__panel[aria-hidden=true] .morphing-menu__row{opacity:0}.morphing-menu__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.morphing-menu__icon{display:flex;flex:none}.morphing-menu svg{width:20px;height:20px;flex-shrink:0;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.morphing-menu__chevron{margin-left:auto;opacity:.6}.morphing-menu__shortcut:focus-visible,.morphing-menu__row:focus-visible{outline:2px solid currentColor;outline-offset:-3px}.morphing-menu__tooltip{position:absolute;bottom:calc(100% + 8px);translate:-50% 0;padding:6px 10px;border-radius:14px;background:light-dark(#fff,#171717);color:light-dark(#111,#fefefe);box-shadow:0 0 0 1px light-dark(rgb(0 0 0 / 6%),rgb(255 255 255 / 10%)),0 1px 2px -1px #0000000f,0 2px 4px #0000000a;font-size:14px;font-weight:500;line-height:20px;white-space:nowrap;pointer-events:none}@media(hover:hover){.morphing-menu__shortcut:hover,.morphing-menu__row:hover{background:var(--mm-hover)}}@media(pointer:coarse){.morphing-menu{--mm-button: 48px;--mm-bar-width: min(296px, calc(100vw - 32px) );--mm-panel-width: min(296px, calc(100vw - 32px) );--mm-panel-padding: 12px}.morphing-menu__row{min-height:44px;padding-block:12px}}@media(prefers-reduced-motion:no-preference){.morphing-menu__shortcut:active,.morphing-menu__row:active{transition-duration:.1s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.morphing-menu__shortcut:active{scale:.95}.morphing-menu__row:active{scale:.96}}@media(prefers-reduced-motion:reduce){.morphing-menu__shortcut,.morphing-menu__row{transition:none;scale:1}}.toolbar .morphing-menu{--mm-surface: #0d0d0d;--mm-ink: #f8f7f4;--mm-hover: #ffffff12}.toolbar .morphing-menu__row{justify-content:flex-start}.toolbar .morphing-menu__shortcut{padding:0}.toolbar .review-avatar{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:10px;letter-spacing:0}:host(.review-open) .panel{color:#eee;box-shadow:none}:host(.review-open) .panel input,:host(.review-open) .panel select{background:#191919;color:#ddd;box-shadow:inset 0 0 0 1px #ffffff12}:host(.review-open) .panel .muted,:host(.review-open) .panel small,:host(.review-open) .panel .meta,:host(.review-open) .panel .branch{color:#888}:host(.review-open) .panel .filter{color:#999}:host(.review-open) .panel .filter.active,:host(.review-open) .panel .secondary{background:#262626;color:#eee}:host(.review-open) .panel .icon:hover,:host(.review-open) .panel .thread-card:hover{background:#161616}:host(.review-open) .panel .empty .primary{background:var(--accent, #bda6ef);color:#211b2d;font-weight:500}:host(.review-open) .panel .empty strong{color:#aaa;font-weight:400}:host(.review-open) .panel .empty svg{color:#555}:host(.review-open) .panel .list{padding-bottom:24px}:host{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;font-size:13px;color:#202124}.pin{width:34px;height:34px;border-radius:50% 50% 50% 5px;font-size:11px;font-weight:600;box-shadow:0 0 0 2px #fff,0 3px 10px #0003}.pin.active{box-shadow:0 0 0 2px #fff,0 0 0 4px #4388ff,0 4px 14px #0003}.pin.resolved{background:#bfc9c4;color:#293c31}.pin-check svg{width:10px;height:10px}.pin-check{position:absolute;right:-4px;bottom:-3px;background:#fff;color:#4c6c56;border-radius:50%;font-size:9px;width:14px;height:14px;display:grid;place-items:center}.area,.selection{background:#4285f410;box-shadow:inset 0 0 0 1.5px #4388ff;border-radius:3px}:host(.review-open) .panel{width:380px;background:transparent}.panel-head .row{gap:4px}:host(.review-open) .panel .icon{color:#909090;width:28px;height:28px}.panel .icon svg{width:16px;height:16px}.thread-card{border-radius:14px}.thread-card .preview{font-size:15px;line-height:1.5;margin:0 0 14px;-webkit-line-clamp:5;color:#f1f1f1;letter-spacing:-.015em}.thread-card .row{gap:7px;min-width:0;padding-right:28px}.thread-card .avatar{width:20px;height:20px;font-size:8px}.thread-card .author{font-size:11px;font-weight:500;color:#b2b2b2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-card small{margin-left:auto;font-size:10px;flex:none;white-space:nowrap}.card-page-row{display:flex;align-items:center;gap:6px;min-width:0;margin-top:8px;color:#999;font-size:11px}.card-page-row .page{min-width:0;max-width:none;flex:1}.card-page-row svg{width:13px;height:13px}.card-status{display:block;margin-top:8px;color:#999;font-size:11px}.card-page-row[hidden],.card-status[hidden],.sidebar-replies[hidden]{display:none}.card-tags{display:flex;flex-wrap:wrap;gap:5px;min-width:0;margin-top:10px}.card-tag{min-width:0;max-width:100%;padding:2px 7px;border-radius:6px;color:var(--accent,#bda6ef);background:color-mix(in srgb,var(--accent,#bda6ef) 10%,transparent);font-size:11px;line-height:1.5;overflow-wrap:anywhere}.card-reply-toggle{display:flex;width:max-content;max-width:calc(100% - 24px);min-height:30px;margin:0 12px 10px;padding:4px 7px;gap:6px;border-radius:6px;white-space:nowrap;font-size:11px;color:#aaa}.card-reply-toggle:hover,.card-reply-toggle[aria-expanded=true]{background:#ffffff0a;color:#ddd}.card-reply-toggle svg{width:14px;height:14px}.card-reply-toggle svg:last-child{margin-left:2px;transition:rotate .15s ease}.card-reply-toggle[aria-expanded=true] svg:last-child{rotate:180deg}.thread-card:focus-visible,.card-reply-toggle:focus-visible,.card-resolve:focus-visible{outline:2px solid var(--accent,#bda6ef);outline-offset:-2px}@media(prefers-reduced-motion:reduce){.card-reply-toggle svg:last-child{transition:none}}:host(.review-open) .panel .thread-card:after{left:14px;right:14px;background:#ffffff0c}:host(.review-open) .panel .thread-card.active{background:#ffffff0a}:host(.review-open) .panel .avatar{background:#bca8e7;color:#302342}.empty{padding:50px 16px;gap:14px}.empty svg{display:none}.empty strong{font-size:13px}.dialog{overflow:hidden}.dialog-head{position:absolute;z-index:3;padding:0;box-shadow:none;justify-content:flex-end;height:26px}.dialog-head .icon,.draft-close,.approved-site>.icon{width:25px;height:25px;color:#949494}.dialog-head svg,.draft-close svg,.approved-site>.icon svg{width:15px;height:15px}.draft-close{position:absolute;right:16px;top:16px;z-index:1}.messages{max-height:45vh}.message .author{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message .avatar{background:#c8b5f4;color:#352a50;font-size:9px}.message small{font-size:10px}.message-text{letter-spacing:-.01em}.actions{gap:5px;min-height:26px}.actions>.icon{height:24px;width:24px}.actions>.icon svg{height:15px;width:15px}.reaction{padding:3px 7px;border-radius:20px;font-size:11px}.composer textarea{max-height:180px;resize:none;outline:none}.composer .row{gap:8px}.composer input{width:130px;min-width:0;background:#f5f5f7;box-shadow:none;padding:7px 10px;border-radius:20px;font-size:12px}.composer .row>.secondary{font-size:10px;padding:4px 8px;min-height:28px}.composer .avatar{width:24px;height:24px;font-size:9px;background:#c8b5f4;color:#352a50}.send{width:30px;height:30px;margin-left:auto;background:#3478f6;color:#fff;border-radius:50%;padding:0;transition:background .15s ease,transform .15s ease}.send:disabled{opacity:1;cursor:default}.send svg{width:18px;height:18px}.send:not(:disabled):active{transform:scale(.94)}.toolbar .review-avatar{background:#ffffff16;color:#ddd}.toolbar .review-avatar svg{width:15px;height:15px}@media(max-width:760px){:host(.mobile-composing) .toolbar{opacity:0;pointer-events:none;visibility:hidden}.dialog{width:calc(100vw - 32px);left:16px!important;max-height:65vh}.dialog .messages{max-height:35vh}}.component-hover{position:fixed;pointer-events:none;z-index:1;opacity:0;background:none;outline:2px dashed var(--accent, #bda6ef);outline-offset:2px;transition:opacity .1s ease}.composer{gap:8px}.composer textarea{min-height:34px;font-size:13px;line-height:22px}.composer:has(.avatar){position:relative;padding-left:42px;padding-right:40px;min-height:58px}.composer:has(.avatar)>.row{display:contents}.composer:has(.avatar) .avatar{position:absolute}.composer:has(.avatar) .send{position:absolute;width:26px;height:26px}.dialog:has(.draft-close) .composer{padding-top:24px}.message-text{font-size:13px;line-height:1.5}.message:first-child>.row{padding-right:var(--thread-actions-width, 78px)}.dialog:has(.thread-tag-action){--thread-actions-width: 107px}.dialog-head{top:12px;right:8px}.dialog>.dialog-head{background:#242424;border-radius:8px}.messages[data-fade]{mask-image:linear-gradient(to bottom,var(--fade-top, #000),#000 28px,#000 calc(100% - 28px),var(--fade-bottom, #000))}.messages[data-fade~=top]{--fade-top: transparent}.messages[data-fade~=bottom]{--fade-bottom: transparent}.message .author{font-size:11px}.comment-menu{position:relative}.comment-menu>summary{list-style:none;cursor:pointer;display:grid;place-items:center}.comment-menu>summary::-webkit-details-marker{display:none}.comment-menu-items{position:absolute;top:30px;right:0}.menu-action{width:100%;text-align:left;background:transparent}.pin-preview{position:fixed;pointer-events:auto;z-index:3}.pin-preview-open{display:block;width:100%;background:transparent;color:inherit;text-align:left;border-radius:inherit}.pin-preview p{font-size:13px;line-height:1.5;margin:0 0 12px;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.pin-preview .avatar{background:#c8b5f4;color:#352a50}.pin-preview small{color:#999;margin:0 36px 0 auto}.pin-preview-resolve{position:absolute;top:17px;right:16px}:host(.review-open) .panel{top:36px;right:0;padding:0 24px}.panel-head{padding:0 0 16px}.thread-card{padding:16px 12px}.thread-card .preview{margin:10px 0 0}.thread-card:after{left:12px;right:12px}:host(.review-open) .toolbar .morphing-menu{--mm-surface: #ffffff12;--mm-hover: #ffffff10}.toolbar .morphing-menu__shell{backdrop-filter:blur(12px) saturate(1.2);box-shadow:inset 0 1px #ffffff20,inset 0 0 0 1px #ffffff0c,0 4px 16px #0002}.pin:hover,.pin.hot{background:#bda6ef;color:#352a50;box-shadow:0 0 0 2px #fff,0 3px 10px #0003}.comment-menu-items{min-width:224px;padding:5px;border-radius:12px;background:linear-gradient(145deg,#292729,#232323);color:#ededed;box-shadow:inset 0 0 0 1px #ffffff12,0 12px 32px #0004,0 2px 5px #0003}.menu-action{display:flex;align-items:center;gap:10px;justify-content:flex-start;min-height:36px;padding:8px 10px;color:inherit;font-size:13px;border-radius:8px}.menu-action svg{width:16px;height:16px;color:#bcb9bd}.menu-action:hover,.menu-action:focus-visible{background:#ffffff0d;outline:none}.menu-action+.menu-action:last-child{margin-top:6px;position:relative}.menu-action+.menu-action:last-child:before{content:"";position:absolute;top:-4px;left:5px;right:5px;height:1px;background:#ffffff0a}.toolbar .morphing-menu:has(.morphing-menu__panel[aria-hidden=false]) .morphing-menu__shell{background:linear-gradient(145deg,#292729,#232323)}.toolbar .morphing-menu__row{gap:10px;font-size:13px;border-radius:9px;color:#ededed}.toolbar .morphing-menu__row svg{width:18px;height:18px;color:#bcb9bd}.dialog{width:320px;border-radius:16px}.messages{padding:0 16px}.message{padding:18px 0 16px}.message .row{gap:8px}.message .avatar{width:24px;height:24px}.message-text{padding-left:32px;margin:3px 0 8px}.actions{padding-left:32px}.message+.message:before{left:-16px;right:-16px}.composer{padding:12px 16px}.composer textarea{padding:8px 10px;border-radius:8px}.composer:has(.avatar){padding:12px 16px 12px 48px}.composer:has(.avatar) textarea{padding-right:38px}.composer:has(.avatar) .avatar{left:16px;bottom:auto;top:19px;width:24px;height:24px}.composer:has(.avatar) .send{right:22px;bottom:18px}.review-avatar{position:relative;overflow:hidden}.review-avatar img{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;object-fit:cover}.dialog,.pin-preview{background:#242424;color:#ececec;box-shadow:inset 0 0 0 1px #ffffff12,0 16px 48px #0005}.message .author,.pin-preview strong{color:#efefef}.message small{color:#8d8d8d}.message+.message:before,.composer{box-shadow:0 -1px #ffffff08}.message+.message:before{background:#ffffff08}.dialog .icon,.pin-preview .icon,.actions>.icon{color:#929292}.dialog .icon:hover,.pin-preview .icon:hover{background:#ffffff0a;color:#eee}.composer textarea,.dialog input,.dialog textarea{background:#ffffff07;color:#eee;box-shadow:inset 0 0 0 1px #ffffff05}.composer textarea::placeholder,.dialog input::placeholder,.dialog textarea::placeholder{color:#858585}.composer textarea:focus,.dialog textarea:focus{box-shadow:inset 0 0 0 1px #ffffff20}.send:disabled{background:#ffffff0a;color:#707070}.reaction{background:#ffffff08;color:#ccc}.pin{touch-action:manipulation}.pin[data-moving]{touch-action:none;cursor:grab;z-index:4}.pin-move{position:fixed;z-index:30;left:50%;bottom:80px;translate:-50% 0;width:min(420px,calc(100vw - 24px));display:flex;flex-wrap:wrap;gap:8px;padding:14px;border-radius:14px;background:#252525;color:#eee;box-shadow:0 0 0 1px #ffffff20,0 8px 24px #0005;font:12px/1.5 ui-sans-serif,system-ui,sans-serif;pointer-events:auto}.pin-move p{flex-basis:100%;margin:0 0 4px}.pin-move button{min-height:36px;padding:6px 12px;border-radius:8px}.pin-move .primary{background:var(--accent,#c8b5f4);color:#21172f}.pin-move .secondary{background:#ffffff12;color:#eee}.pin-move-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.pin{padding:0;overflow:hidden}.pin .avatar{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;background:transparent;color:inherit;display:grid;place-items:center;font-size:inherit}.avatar{position:relative;overflow:hidden;flex-shrink:0}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.sidebar-replies{position:relative;margin:0 12px 14px 20px;padding:2px 0 2px 12px;display:grid;gap:12px}.sidebar-replies:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:#ffffff16}.sidebar-reply{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:flex-start;gap:8px;text-align:left}.sidebar-reply .avatar{width:20px;height:20px;font-size:8px}.sidebar-reply>div{min-width:0}.sidebar-reply p{font-size:13px;line-height:1.5;margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#d9d9d9}.reply-meta{font-size:11px;color:#999;overflow-wrap:anywhere}.floating-notice{display:flex;align-items:center;gap:10px;width:max-content;max-width:min(360px,calc(100vw - 24px));padding:10px 12px;border-radius:12px;color:#d4d4d4;background:#292929;box-shadow:inset 0 0 0 1px #ffffff12,0 8px 28px #0004;font-size:12px}.floating-notice>svg{width:16px;height:16px;color:#aaa}.floating-notice>span{flex:1}.floating-notice .icon{width:24px;height:24px}.floating-notice .icon:hover{background:#ffffff10}.notice-action{padding:5px 8px;border-radius:6px;background:#ffffff10}.account-layer{position:fixed;inset:0 0 0 auto;width:min(380px,100vw);padding:24px 16px 96px;z-index:9;display:grid;place-items:center;background:#0008;pointer-events:auto}.account-layer .account-dialog{position:relative;left:auto!important;top:auto!important;bottom:auto!important;width:100%;max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#ffffff30 transparent}.account{padding:36px 24px 24px;gap:20px}.account h2{font-size:20px;letter-spacing:-.025em;font-weight:500}.account-name-label{display:grid;gap:8px;font-size:12px;color:#999}.account input,.account textarea{font-size:15px;padding:12px}.account .primary{width:100%;min-height:42px;color:#222;background:#eee}.account .primary:hover{background:#fff}.account .secondary{background:#ffffff0a;color:#ddd}.account>.avatar{width:48px;height:48px;border-radius:50%;font-size:18px}.account .notice{color:#999}.account-layer .account-dialog{border-radius:24px;background:#202020;box-shadow:0 16px 48px #0006,inset 0 0 0 1px #ffffff12}.account-layer .account{flex:none;padding:32px 24px 24px;gap:20px}.account-summary{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:8px}.account-summary .avatar{width:72px;height:72px;font-size:24px;box-shadow:0 0 0 4px #ffffff06}.account-summary h3{margin:6px 0 0}.account-status{display:flex;align-items:center;justify-content:center;gap:5px;color:#949494;font-size:12px}.account-layer .account input,.account-layer .account textarea{width:100%;min-height:44px;background:#ffffff06;color:#f2f2f2;box-shadow:inset 0 0 0 1px #ffffff0b;border-radius:12px;transition:box-shadow .15s ease,background .15s ease}.account-layer .account input:focus,.account-layer .account textarea:focus{outline:none;background:#ffffff09;box-shadow:inset 0 0 0 1px #bda6ef}.account-layer .account button{border-radius:12px}.account-layer .account .primary{background:#bda6ef;color:#211b2d;font-weight:600}.account-layer .account .primary:disabled{opacity:.4;cursor:default}.account-layer .account .primary[aria-busy=true]{opacity:.7;cursor:progress}.account .primary[aria-busy=true]:after{content:"";width:12px;height:12px;box-sizing:border-box;border:1.5px solid;border-right-color:transparent;border-radius:50%;animation:busy-spin .7s linear infinite}@keyframes busy-spin{to{rotate:1turn}}@media(prefers-reduced-motion:reduce){.account .primary[aria-busy=true]:after{animation-duration:2s}}.account-dialog .dialog-head{top:16px;right:14px}.account-layer .account .account-avatar-button{padding:0;border-radius:50%;background:transparent;position:relative;transition:filter .15s ease,transform .15s ease}.account-avatar-button:hover{filter:brightness(.88);transform:scale(1.025)}.account-avatar-button:focus-visible{outline:2px solid #bda6ef;outline-offset:6px}.google-logo{width:18px;height:18px;flex:none;object-fit:contain}.account-status .google-logo{width:14px;height:14px;margin-left:2px}.account .google-signin{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;width:100%;box-shadow:inset 0 0 0 1px #ffffff12}.account-divider{display:flex;align-items:center;gap:12px;font-size:12px;color:#777}.account-divider:before,.account-divider:after{content:"";height:1px;flex:1;background:#ffffff0d}@media(prefers-reduced-motion:reduce){.account-avatar-button{transition:none!important}}.account-session{padding-top:20px;box-shadow:0 -1px #ffffff0b}.account-session .secondary{width:100%;min-height:40px}.account-setting{display:grid;gap:8px}.account-setting-label{font-size:11px;line-height:16px;color:#a5a5a5;text-transform:uppercase;letter-spacing:.05em}.account .selection-menu>summary.selection-trigger{width:100%;min-height:44px;padding:10px 14px 10px 12px;justify-content:space-between;border-radius:12px;background:#ffffff0a;color:inherit;font:inherit;box-shadow:inset 0 0 0 1px #ffffff14}.selection-trigger:focus-visible{outline:2px solid var(--accent, #bda6ef);outline-offset:2px}.account .selection-menu{min-width:0}.account .selection-label{min-width:0;overflow:hidden;text-overflow:ellipsis}@media(max-width:760px){.account-layer{width:100%}}:host{--duration-stagger: 40ms;--duration-fast: .25s;--duration-quick: .15s;--ease-smooth-out: cubic-bezier(.22, 1, .36, 1);--dropdown-open-dur: var(--duration-fast);--dropdown-close-dur: var(--duration-quick);--dropdown-pre-scale: .97;--dropdown-closing-scale: .99;--dropdown-ease: var(--ease-smooth-out)}.t-dropdown{transform-origin:top left;transform:scale(var(--dropdown-pre-scale));opacity:0;pointer-events:none;transition:transform var(--dropdown-open-dur) var(--dropdown-ease),opacity var(--dropdown-open-dur) var(--dropdown-ease);will-change:transform,opacity}.t-dropdown[data-origin=top-right]{transform-origin:top right}.t-dropdown[data-origin=top-center]{transform-origin:top center}.t-dropdown[data-origin=bottom-left]{transform-origin:bottom left}.t-dropdown[data-origin=bottom-center]{transform-origin:bottom center}.t-dropdown[data-origin=bottom-right]{transform-origin:bottom right}.t-dropdown.is-open{transform:scale(1);opacity:1;pointer-events:auto}.t-dropdown.is-closing{transform:scale(var(--dropdown-closing-scale));opacity:0;pointer-events:none;transition:transform var(--dropdown-close-dur) var(--dropdown-ease),opacity var(--dropdown-close-dur) var(--dropdown-ease)}@media(prefers-reduced-motion:reduce){.t-dropdown{transition:none!important}}.message-content{display:flex;align-items:flex-start;gap:8px;padding-left:32px}.message-content .message-text{flex:1;min-width:0;padding:0;margin:3px 0 0}.message-reaction{position:relative;flex:none;width:26px;height:26px}.message>.row>.comment-menu{margin-left:auto}.message>.row>.comment-menu>summary{width:24px;height:24px}.message .actions{margin-top:8px}.emoji-menu{position:fixed;z-index:20;display:flex;gap:2px;padding:5px;background:#292929;border-radius:12px;box-shadow:0 0 0 1px #ffffff12,0 8px 24px #0005}.emoji-choice{display:grid;place-items:center;padding:0;border-radius:7px;opacity:0;transform:translate(-6px) scale(.97);transition:transform var(--duration-fast) var(--ease-smooth-out),opacity var(--duration-fast) var(--ease-smooth-out)}.emoji-menu.is-open .emoji-choice{opacity:1;transform:translate(0) scale(1);transition-delay:calc(var(--emoji-index) * var(--duration-stagger))}.emoji-menu.is-closing .emoji-choice{opacity:0;transform:scale(.99);transition-duration:var(--duration-quick);transition-delay:0ms}.emoji-choice:hover{background:#ffffff12}.reply-composer{position:relative;display:block}.reply-composer textarea{width:100%;padding-right:44px}.reply-composer>.send{position:absolute;right:22px;top:17px;width:26px;height:26px}.new-comment-composer>.row>.send{margin-left:auto}@media(prefers-reduced-motion:reduce){.emoji-choice{transition:none!important}}.comment-menu-items[popover]{position:fixed;inset:auto;margin:0;border:0}.selection-menu>summary.selection-trigger{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 0;color:#eee;font-size:15px;font-weight:500;list-style:none;cursor:pointer}.selection-trigger svg{width:14px;height:14px;flex:none;color:#888;transition:transform .15s ease-out}.selection-menu[open]>.selection-trigger svg{transform:rotate(180deg)}.selection-menu [aria-checked=false] svg{opacity:0}.selection-menu [aria-checked=true]{background:#ffffff0b}.selection-menu .menu-action:last-child{margin-top:0}.selection-menu .menu-action:last-child:before{display:none}.selection-menu .comment-menu-items:popover-open{animation:selection-enter .25s cubic-bezier(.22,1,.36,1);transform-origin:top right}@keyframes selection-enter{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:none}}.panel-head{gap:0}.sidebar-search{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s cubic-bezier(.22,1,.36,1),opacity .15s ease-out}.panel[data-search=true] .sidebar-search{grid-template-rows:1fr;opacity:1}.sidebar-search-inner{min-height:0;overflow:hidden}.sidebar-search-row{display:flex;align-items:center;gap:8px;padding-top:12px}.sidebar-search-field{display:flex;min-width:0;align-items:center;gap:8px;background:#ffffff0d;border-radius:10px;padding:0 10px}.sidebar-search-field svg{flex:none;width:16px;height:16px;color:#888}:host(.review-open) .panel .sidebar-search-field input{min-width:0;width:100%;padding:9px 0;background:transparent;box-shadow:none;color:#eee;font-size:14px}.sidebar-search-field input::placeholder{color:#888}.search-cancel{color:#ccc;font-size:13px;padding:8px 0;transform:translate(8px);opacity:0;transition:transform .25s cubic-bezier(.22,1,.36,1),opacity .15s ease-out}.panel[data-search=true] .search-cancel{transform:none;opacity:1}.scope-slot .selection-trigger{font-size:12px;color:#999;padding:10px 12px 0 0}@media(prefers-reduced-motion:reduce){.sidebar-search,.search-cancel,.selection-trigger svg{transition:none}.selection-menu .comment-menu-items:popover-open{animation:none}}.dialog:has(.draft-close) .new-comment-composer{display:grid;gap:8px;padding:16px;box-shadow:none}.new-comment-composer .draft-proposal{margin-right:32px}.new-comment-composer .draft-body{display:grid;grid-template-columns:24px minmax(0,1fr) 28px;grid-template-rows:minmax(28px,auto) 28px;align-items:start;column-gap:12px;row-gap:8px}.new-comment-composer .draft-body:not(:has(.avatar)){grid-template-columns:minmax(0,1fr) 28px}.new-comment-composer .draft-body .avatar{grid-row:1;grid-column:1}.new-comment-composer .draft-body textarea{grid-row:1;grid-column:2}.new-comment-composer .draft-body:not(:has(.avatar)) textarea{grid-column:1}.new-comment-composer .draft-body .send{grid-row:2;grid-column:-2}.dialog .new-comment-composer .draft-body .avatar{position:relative;inset:auto;flex:none;width:24px;height:24px;margin:0}.dialog .new-comment-composer textarea,.dialog .new-comment-composer textarea:focus{flex:1;min-width:0;min-height:28px;padding:3px 0;background:transparent;border:0;border-radius:0;box-shadow:none;outline:none;line-height:22px}.dialog .new-comment-composer>.row{display:flex;justify-content:flex-end}.dialog .new-comment-composer .send{position:static;width:28px;height:28px;margin-left:auto}.pin-preview{width:320px;border-radius:18px}.pin-preview-open{padding:20px 16px 16px}.pin-preview .row{gap:8px;font-size:12px}.pin-preview .avatar{width:24px;height:24px;font-size:9px}.pin-preview .hover-message{margin:3px 0 0;padding-left:32px;line-height:1.6}.pin-preview .pin-preview-card{margin:-8px 16px 16px 48px;padding:0;cursor:pointer}.message-content{margin-right:-6px}.message-reaction.has-reactions{display:flex;align-items:center;justify-content:center;gap:3px;width:auto;min-width:26px;max-width:100px;padding:3px;background:transparent}.reaction-leaving{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:3px;pointer-events:none}.reaction-value{font-size:14px;line-height:20px;white-space:nowrap}.emoji-choice{width:28px;height:28px;font-size:17px;color:#ccc}.emoji-choice svg{width:18px;height:18px;stroke:currentColor}.emoji-choice:hover,.emoji-choice:focus-visible{color:#eee}.emoji-menu[data-placement=below] .emoji-choice{transform:translateY(-4px) scale(.97)}.emoji-menu[data-placement=below].is-open .emoji-choice{transform:none;transition-delay:0ms}.emoji-menu[data-placement=below].is-closing .emoji-choice{transform:scale(.99);transition-delay:0ms}.dialog .new-comment-composer .draft-body .send{flex:none;margin:0}.comment-drag-handle{position:absolute;inset:0 90px auto 0;height:34px;z-index:2;cursor:grab;touch-action:none}.toolbar{cursor:grab;touch-action:none}[data-dragging=true],[data-dragging=true] .comment-drag-handle{cursor:grabbing;user-select:none}[data-snap-x=left]:not(.toolbar){box-shadow:-3px 0 #ffffff70}[data-snap-x=right]:not(.toolbar){box-shadow:3px 0 #ffffff70}[data-snap-y=top]:not(.toolbar){box-shadow:0 -3px #ffffff70}[data-snap-y=bottom]:not(.toolbar){box-shadow:0 3px #ffffff70}.toolbar:before,.toolbar:after{content:"";position:absolute;pointer-events:none;background:#ffffff70;border-radius:999px;opacity:0}.toolbar:before{width:2px;height:28px;top:50%;translate:0 -50%}.toolbar:after{width:28px;height:2px;left:50%;translate:-50% 0}.toolbar[data-snap-x=left]:before{left:-10px;opacity:1}.toolbar[data-snap-x=right]:before{right:-10px;opacity:1}.toolbar[data-snap-y=top]:after{top:-10px;opacity:1}.toolbar[data-snap-y=bottom]:after{bottom:-10px;opacity:1}.toolbar,.panel,.dialog-head,.comment-drag-handle{-webkit-user-select:none;user-select:none}.message-text,.hover-message,.thread-card p,input,textarea{-webkit-user-select:text;user-select:text}.toolbar .morphing-menu [aria-current],.toolbar .morphing-menu [aria-current]:hover{background:#ffffff0d;color:#cbb9ec;box-shadow:inset 0 0 0 1px #ffffff08}:host(.review-open) .panel{height:calc(100% - 36px);padding-bottom:0}:host(.review-open) .panel .list{min-height:0;margin-inline:-12px;padding:0 0 112px;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:transparent transparent;scrollbar-gutter:stable;scroll-padding-bottom:112px;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 112px),transparent calc(100% - 24px));mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 112px),transparent calc(100% - 24px))}:host(.review-open) .panel .list[data-scrolling=true]{scrollbar-color:#ffffff30 transparent}@supports selector(::-webkit-scrollbar){:host(.review-open) .panel .list,:host(.review-open) .panel .list[data-scrolling=true]{scrollbar-width:auto;scrollbar-color:auto}:host(.review-open) .panel .list::-webkit-scrollbar{width:4px}:host(.review-open) .panel .list::-webkit-scrollbar-track{background:transparent}:host(.review-open) .panel .list::-webkit-scrollbar-thumb{background:transparent;border-radius:999px}:host(.review-open) .panel .list[data-scrolling=true]::-webkit-scrollbar-thumb{background:#ffffff30}:host(.review-open) .panel .list[data-scrolling=true]::-webkit-scrollbar-thumb:hover{background:#ffffff50}:host(.review-open) .panel .list::-webkit-scrollbar-button{display:none}}@media(max-width:760px){:host(.review-open) .panel{height:100%}}.toolbar>.morphing-menu{transition:translate .28s cubic-bezier(.22,1,.36,1),scale .28s cubic-bezier(.22,1,.36,1),opacity .2s ease-in,filter .2s ease-in}.toolbar[data-away=true]{pointer-events:none}.toolbar[data-away=true]>.morphing-menu{translate:var(--drawer-away-x, 0px) var(--drawer-away-y, 24px);scale:.9;opacity:0;filter:blur(4px);pointer-events:none}@media(prefers-reduced-motion:reduce){.toolbar>.morphing-menu{transition:none}.toolbar[data-away=true]>.morphing-menu{translate:none;scale:1;filter:none}}.morphing-menu[data-vertical=true]{width:var(--mm-bar-height);height:var(--mm-bar-width)}.morphing-menu[data-vertical=true] .morphing-menu__bar{flex-direction:column;width:var(--mm-bar-height);height:var(--mm-bar-width);left:0;top:0;bottom:auto;translate:none}.morphing-menu[data-vertical=true] .morphing-menu__shortcut{width:var(--mm-button);height:0}.morphing-menu[data-edge=top] .morphing-menu__shell{top:0;bottom:auto}.morphing-menu[data-vertical=true] .morphing-menu__shell{left:0;top:0;bottom:auto;translate:none}.morphing-menu[data-edge=right] .morphing-menu__shell{left:auto;right:0}.morphing-menu[data-vertical=true][data-align-end=true] .morphing-menu__shell,.morphing-menu[data-vertical=true][data-align-end=true] .morphing-menu__bar{top:auto;bottom:0}.morphing-menu[data-edge=right] .morphing-menu__bar{left:auto;right:0}.morphing-menu__tooltip{bottom:auto;translate:-50% -100%;max-width:calc(100vw - 16px);overflow:hidden;text-overflow:ellipsis}.morphing-menu[data-edge=top] .morphing-menu__tooltip{translate:-50% 0}.morphing-menu[data-edge=left] .morphing-menu__tooltip{translate:0 -50%}.morphing-menu[data-edge=right] .morphing-menu__tooltip{translate:-100% -50%}.emoji-choice[aria-checked=true],.emoji-choice[aria-checked=true]:hover{background:#ffffff12;box-shadow:inset 0 0 0 1px #ffffff0a}:host(.review-open) .toolbar{cursor:default;touch-action:auto}.sidebar-search-field input::-webkit-search-cancel-button,.sidebar-search-field input::-webkit-search-decoration{-webkit-appearance:none;display:none}:host(.review-open) .toolbar .morphing-menu [data-menu-item=comments],:host(.review-open) .toolbar .morphing-menu [data-menu-item=comments]:hover{background:#ffffff0d;color:#cbb9ec;box-shadow:inset 0 0 0 1px #ffffff08}.toolbar[data-intro-wait=true]>.morphing-menu{transition:none}.toolbar[data-intro=true][data-away=true]>.morphing-menu{translate:0 var(--drawer-intro-y, 100vh);scale:1;filter:none}.toolbar[data-away=true][data-peek=true]>.morphing-menu{translate:0 var(--drawer-peek-y, 100vh);scale:1;opacity:1;filter:none}.toolbar .morphing-menu__row[aria-current] svg{color:inherit}.sidebar-selector{display:grid;min-width:0}.sidebar-selector>*{grid-area:1 / 1;transition:opacity .2s ease,transform .25s cubic-bezier(.22,1,.36,1)}.tag-filter-slot:empty{display:none}.panel .sidebar-title .tag-filter-trigger.active{color:var(--accent, #bda6ef)}.panel[data-search=true] .tag-filter-slot{opacity:0;pointer-events:none}.sidebar-selector .scope-slot{opacity:0;transform:translateY(6px);pointer-events:none}.panel[data-search=true] .sidebar-selector .filter-slot{opacity:0;transform:translateY(-6px);pointer-events:none}.panel[data-search=true] .sidebar-selector .scope-slot{opacity:1;transform:none;pointer-events:auto}.sidebar-selector .scope-slot .selection-trigger{font-size:15px;color:#f4f4f4;padding:8px 12px 8px 0;font-weight:600}.copy-page-prompt{display:grid;place-items:center;translate:0 0;transition:translate .28s cubic-bezier(.22,1,.36,1)}.copy-page-prompt>svg{grid-area:1 / 1;transform-origin:center}.panel[data-search=true] .copy-page-prompt{display:grid;place-items:center;translate:calc(100% + 4px) 0}.sidebar-search-trigger{transition:opacity .15s ease}.panel[data-search=true] .sidebar-search-trigger{opacity:0;pointer-events:none}.sidebar-search{opacity:1}.panel[data-search=true] .sidebar-search-inner{overflow:visible}.sidebar-search-field{flex:none;transform-origin:top left;box-sizing:border-box;overflow:hidden;width:100%}.sidebar-search-field .search-cancel{flex:none;padding:0;width:24px;height:24px}.sidebar-search-field input{transition:opacity .15s ease}.panel[data-search=false] .sidebar-search-field input{opacity:0}@media(prefers-reduced-motion:reduce){.sidebar-selector>*,.copy-page-prompt,.sidebar-search-trigger,.sidebar-search-field input{transition:none}}.toolbar .morphing-menu__panel>.morphing-menu__row:first-child,.toolbar .morphing-menu__panel>.morphing-menu__row:last-child{transition:background .15s ease,scale .18s var(--ease-smooth-out),border-radius .15s var(--ease-smooth-out)}.toolbar .morphing-menu__panel>.morphing-menu__row:first-child{border-top-left-radius:calc(var(--mm-radius) - var(--mm-panel-padding));border-top-right-radius:calc(var(--mm-radius) - var(--mm-panel-padding))}.toolbar .morphing-menu__panel>.morphing-menu__row:last-child{border-bottom-left-radius:calc(var(--mm-radius) - var(--mm-panel-padding));border-bottom-right-radius:calc(var(--mm-radius) - var(--mm-panel-padding))}.toolbar .morphing-menu__panel>.morphing-menu__row:first-child:active{border-top-left-radius:9px;border-top-right-radius:9px}.toolbar .morphing-menu__panel>.morphing-menu__row:last-child:active{border-bottom-left-radius:9px;border-bottom-right-radius:9px}@media(prefers-reduced-motion:reduce){.toolbar .morphing-menu__panel>.morphing-menu__row:first-child,.toolbar .morphing-menu__panel>.morphing-menu__row:last-child{transition:none}}.avatar,.pin{background:var(--reviewer-accent, #c8b5f4);color:var(--reviewer-ink, #352a50)}.avatar:has(img){outline:2px solid var(--reviewer-accent, #c8b5f4);outline-offset:1px}.account-accent{display:grid;gap:12px}.account-accent-label{color:#aaa;font-size:12px}.accent-swatches{display:flex;align-items:center;justify-content:space-between;gap:4px}.account-layer .account .accent-swatch{position:relative;flex:none;width:32px;height:32px;padding:4px;border-radius:50%;background:transparent;box-shadow:none}.accent-swatch:before{content:"";position:absolute;inset:4px;border-radius:inherit;background:var(--swatch)}.account .accent-swatch[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px #eee}.account .accent-swatch:hover{background:#ffffff0d}.account .accent-swatch:focus-visible{outline:2px solid #eee;outline-offset:2px}.accent-custom:before{background:conic-gradient(#f46021,#f9b73b,#2e9d51,#38c5f6,#1f72ff,#9038fc,#f46021)}.accent-custom svg{position:relative;width:16px;height:16px;padding:2px;border-radius:50%;background:#252525;color:#eee}.emoji-keyboard{position:fixed;z-index:21;width:min(300px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;border-radius:16px;background:#252525;box-shadow:0 0 0 1px #ffffff12,0 12px 32px #0006}.emoji-keyboard-close{position:absolute;top:12px;right:10px;z-index:2;width:26px;height:26px;color:#999}.emoji-keyboard-status{display:block;padding:20px;color:#aaa;font-size:12px}.emoji-keyboard emoji-picker{width:100%;height:min(300px,calc(100dvh - 32px));--background: #252525;--border-color: transparent;--button-hover-background: #ffffff10;--button-active-background: #ffffff18;--input-border-color: #ffffff12;--input-border-radius: 8px;--input-font-color: #eee;--indicator-color: #c8b5f4;--outline-color: #c8b5f4;--num-columns: 8;--emoji-size: 20px;--emoji-padding: 6px;--category-emoji-size: 16px;--category-emoji-padding: 6px}.pin .avatar:has(img){outline:none}.pin .avatar img{object-fit:cover;object-position:center;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}.menu-action.destructive{color:#ff9696}.menu-action.destructive svg{color:inherit}.menu-action.destructive:hover,.menu-action.destructive:focus-visible{background:#ff6b6b14;color:#ffb0b0}.accent-popover{position:fixed;inset:auto;margin:0;width:min(240px,calc(100vw - 16px));padding:0;border:0;border-radius:12px;background:#292929;color:#ddd;box-shadow:0 0 0 1px #ffffff12,0 8px 24px #0005;transform-origin:bottom right}.accent-popover-head{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;font-size:11px;box-shadow:0 1px #ffffff0d}.accent-popover-head span:last-child{color:#999;font-variant-numeric:tabular-nums}.accent-picker-body{display:flex;flex-direction:column;gap:8px;padding:12px}.accent-picker-body .react-colorful{width:100%;height:148px}.accent-picker-body .react-colorful__saturation{border-radius:8px;border-bottom:none}.accent-picker-body .react-colorful__hue{height:14px;margin-top:10px;border-radius:8px}.accent-picker-body .react-colorful__pointer{width:14px;height:14px}.accent-picker-body .react-colorful__hue-pointer{width:10px;height:18px;border-radius:6px}.accent-picker-body input.accent-hex{width:100%;height:28px;min-height:28px;padding:5px 8px;border-radius:6px;background:#ffffff08;color:#eee;font-size:12px;box-shadow:inset 0 0 0 1px #ffffff0c}.pin{--pin-x: -9px;transform:translate(var(--pin-x),-28px) scale(1);transform-origin:bottom left;transition:transform .12s cubic-bezier(.22,1,.36,1)}.pin[data-pointer=right]{--pin-x: -25px;border-radius:50% 50% 5px;transform-origin:bottom right}.pin.hot{z-index:3;transform:translate(var(--pin-x),-28px) scale(1.12)}.pins{transition:opacity .12s ease}.pins[data-scrolling=true]{opacity:0}.pins[data-scrolling=true] .pin{pointer-events:none}@media(prefers-reduced-motion:reduce){.pin,.pins{transition:none}}.pin-stack{position:fixed;display:flex;align-items:center;padding:3px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;pointer-events:auto;z-index:2;isolation:isolate}.pin-stack::-webkit-scrollbar{display:none}.pin-stack .pin:not([data-dragging]){position:relative;flex:0 0 34px;transform:scale(1);margin-left:-12px}.pin-stack .pin:not([data-dragging]):first-child{margin-left:0}.pin-stack .pin:hover,.pin-stack .pin:focus-visible,.pin-stack .pin.active{z-index:4}.pins[data-scrolling=true] .pin-stack{pointer-events:none}.onboarding-panel{display:grid;gap:16px}.onboarding-panel>p:empty{display:none}.approved-sites{display:grid;gap:8px;font-size:12px;overflow-wrap:anywhere;color:#ddd}.approved-sites:empty{display:none}.account-usage,.approved-sites-editor,.approved-site-list{min-width:0;grid-template-columns:minmax(0,1fr)}.approved-sites-editor{display:grid;padding-top:4px;border-top:1px solid #ffffff0d}.approved-sites-toggle{min-width:0;min-height:36px;margin:0 -8px;padding:0 8px;display:flex;align-items:center;gap:8px;border-radius:8px;background:transparent;font-size:12px;color:#ddd;text-align:left;cursor:pointer}.approved-sites-toggle:hover{background:#ffffff08}.approved-sites-toggle:focus-visible{outline:2px solid #bda6ef;outline-offset:-2px}.approved-sites-toggle>span:first-child{flex:1}.approved-sites-count{color:#aaa;font-variant-numeric:tabular-nums}.approved-sites-toggle svg{width:14px;height:14px;color:#888;transition:transform .25s cubic-bezier(.22,1,.36,1)}.approved-sites-editor[data-open=true] .approved-sites-toggle svg{transform:rotate(180deg)}.approved-sites-reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s cubic-bezier(.22,1,.36,1)}.approved-sites-editor[data-open=true] .approved-sites-reveal{grid-template-rows:1fr}.approved-sites-body{min-height:0;min-width:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.approved-sites-editor[data-open=true] .approved-sites-body{padding-top:4px}.approved-site-list{display:grid;margin:0;padding:0;list-style:none}.approved-site{min-width:0;min-height:32px;display:flex;align-items:center;gap:8px;font-size:12px;color:#ddd}.approved-site>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approved-site>button{flex-shrink:0;opacity:0;transition:opacity .12s}.account-layer .account .approved-site>.icon{border-radius:7px}.approved-site:hover>button,.approved-site>button:focus-visible{opacity:1}@media(hover:none){.approved-site>button{opacity:1}}@media(prefers-reduced-motion:reduce){.approved-sites-reveal,.approved-sites-toggle svg{transition:none}}.approved-site-add{min-width:0;display:flex;gap:8px}.account .approved-site-add input{width:0;min-width:0;flex:1;font-size:13px;padding:8px 10px}.approved-site-add>button{flex-shrink:0;padding:0 12px}.approved-sites-body>.account-usage-status:empty{display:none}.account-usage{min-height:144px;box-sizing:border-box;align-content:start;display:grid;gap:14px;padding:16px;border-radius:14px;background:#ffffff05;box-shadow:inset 0 0 0 1px #ffffff09}.account-usage h3{line-height:18px;margin:0;font-size:12px;font-weight:500;color:#aaa}.usage-skeleton{display:block;height:10px;border-radius:4px;background:#ffffff0b}.usage-skeleton-heading{height:18px;display:flex;align-items:center}.usage-skeleton-title{width:70px}.usage-skeleton-label{width:88px;align-self:center}.usage-skeleton-count{width:56px;align-self:center}.usage-skeleton-ring{width:22px;height:22px;border-radius:50%;mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px))}.account-sites[aria-busy=true] .account-sites-summary{justify-content:space-between;color:#888}.account-projects{display:grid;gap:12px;padding-bottom:4px}.account-projects .account-usage-label{height:20px;align-items:center}.account-project-count{display:flex;align-items:baseline;gap:6px}.account-project-count strong{font-size:16px;line-height:1;font-weight:500;color:#eee}.account-project-count>span{font-size:12px;color:#909090}.account-project-slots{display:flex;gap:6px}.account-project-slots>span{flex:1;height:4px;border-radius:2px;background:#ffffff0b;box-shadow:inset 0 0 0 1px #ffffff07}.account-project-slots>span[data-used=true]{background:#bda6ef;box-shadow:inset 0 1px #ffffff26}.account-usage-label{line-height:18px;display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#ddd;font-variant-numeric:tabular-nums}.account-usage-label>:last-child{color:#aaa}.account-comments{align-items:center;min-height:24px}.account-comment-count{display:flex;align-items:center;gap:10px}.account-usage-ring{display:block;width:22px;height:22px;flex-shrink:0;border-radius:50%;background:conic-gradient(#bda6ef var(--usage),#ffffff12 0);mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px))}.account-usage-ring[data-full=true]{background:conic-gradient(#f1b77d var(--usage),#ffffff12 0)}.account-sites{border-radius:14px;background:#ffffff05;box-shadow:inset 0 0 0 1px #ffffff09}.account-sites-summary{line-height:18px;width:100%;background:transparent;border-radius:inherit;text-align:left;display:flex;align-items:center;gap:10px;padding:16px;font-size:12px;color:#bbb;cursor:pointer;list-style:none}.account-sites-summary:hover{color:#eee}.account-sites-summary:focus-visible{outline:2px solid #bda6ef;outline-offset:-2px;border-radius:inherit}.account-sites-count{margin-left:auto;color:#888;font-variant-numeric:tabular-nums}.account-sites-summary svg{width:14px;height:14px;color:#888;transform:scaleY(1);transition:transform .25s cubic-bezier(.22,1,.36,1)}.account-sites-summary svg path{vector-effect:non-scaling-stroke}.account-sites[data-open=true] .account-sites-summary svg{transform:scaleY(-1)}.account-sites-reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s cubic-bezier(.22,1,.36,1)}.account-sites[data-open=true] .account-sites-reveal{grid-template-rows:1fr}.account-sites-clip{min-height:0;overflow:hidden;opacity:0;transition:opacity .25s cubic-bezier(.22,1,.36,1)}.account-sites[data-open=true] .account-sites-clip{opacity:1}.account-sites-note{display:flex;align-items:flex-start;gap:7px}.account-sites-note>svg{flex-shrink:0;width:13px;height:13px;margin-top:2px;color:#777}.account-sites-note>span{text-wrap:balance}@media(prefers-reduced-motion:reduce){.account-sites-reveal,.account-sites-clip,.account-sites-summary svg{transition:none}}.account-sites-content{display:grid;gap:14px;padding:0 16px 16px}.account-usage-status,.account-usage-note{font-size:11px;line-height:1.5;color:#909090}@media(max-width:760px),(max-width:1000px)and (max-height:500px){:host(.review-open) .toolbar{bottom:calc(16px + env(safe-area-inset-bottom,0px))}:host(.review-open) .account-layer{position:absolute;top:var(--review-sheet-top,42%);bottom:0;width:100%;padding:calc(24px + env(safe-area-inset-top,0px)) 12px calc(24px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;overflow:hidden}.account-layer .account-dialog{max-height:100%;min-height:0;overscroll-behavior:contain}.account-layer .account{padding:28px 20px 20px}.panel-head .icon{min-width:40px;min-height:40px}.dialog:not(.account-dialog){width:calc(100vw - 32px);max-height:calc(var(--review-viewport-height,100dvh) - 100px)}:host :is(input,textarea,select){font-size:16px!important}:host(.review-open) .panel .sidebar-search-field input{font-size:16px}}@media(prefers-reduced-motion:reduce){:host(.review-open) .panel{animation:none;transition:none}}:host([data-sidebar="edge"]) .edge-sidebar{position:fixed;display:flex;flex-direction:column;width:var(--edge-sidebar-width, 380px);max-width:calc(100dvw - 32px);height:min(calc(100dvh - 32px),600px);max-height:min(calc(100dvh - 32px),680px);background:#0d0d0d;color:#e9e6e1;border-radius:16px;box-shadow:inset 0 0 0 1px #ffffff12,0 24px 70px #0006;overflow:hidden;pointer-events:auto;z-index:4;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .2s ease;transform-origin:right center}:host([data-sidebar="edge"]) .edge-sidebar[data-collapsed=true]{transform:translate(var(--edge-park-x, 404px));opacity:0;pointer-events:none}:host([data-sidebar="edge"]) .edge-sidebar[data-collapsed=true][data-peek=true]{transform:translate(var(--edge-peek-x, -304px)) scale(.96);opacity:1;pointer-events:auto}:host([data-sidebar="edge"]) .edge-sidebar[data-dragging=true]{overflow:visible}:host([data-sidebar="edge"]) .edge-sidebar .edge-sidebar-grip{position:absolute;top:0;left:0;right:0;z-index:7;flex:none;height:30px;display:grid;place-items:center;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}:host([data-sidebar="edge"]) .edge-sidebar .edge-sidebar-grip:before{content:"";width:36px;height:4px;border-radius:999px;background:#fff2}:host([data-sidebar="edge"]) .edge-sidebar .edge-sidebar-grip:hover:before,:host([data-sidebar="edge"]) .edge-sidebar[data-dragging=true] .edge-sidebar-grip:before{background:#ffffff3a}:host([data-sidebar="edge"]) .edge-sidebar[data-dragging=true] .edge-sidebar-grip{cursor:grabbing}.edge-sidebar-resize{position:absolute;z-index:8;touch-action:none}.edge-sidebar-resize-n,.edge-sidebar-resize-s{right:12px;left:12px;height:5px;cursor:ns-resize}.edge-sidebar-resize-e,.edge-sidebar-resize-w{top:12px;bottom:12px;width:5px;cursor:ew-resize}.edge-sidebar-resize-n{top:0}.edge-sidebar-resize-s{bottom:0}.edge-sidebar-resize-e{right:0}.edge-sidebar-resize-w{left:0}.edge-sidebar-resize-ne,.edge-sidebar-resize-nw,.edge-sidebar-resize-se,.edge-sidebar-resize-sw{width:12px;height:12px}.edge-sidebar-resize-ne{top:0;right:0;cursor:nesw-resize}.edge-sidebar-resize-nw{top:0;left:0;cursor:nwse-resize}.edge-sidebar-resize-se{right:0;bottom:0;cursor:nwse-resize}.edge-sidebar-resize-sw{bottom:0;left:0;cursor:nesw-resize}.edge-sidebar-resize-n:after,.edge-sidebar-resize-s:after,.edge-sidebar-resize-e:after,.edge-sidebar-resize-w:after{content:"";position:absolute;border-radius:999px;background:#fff9;opacity:0;transform:scale(.4);transition:opacity .14s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.35,1.55,.65,1)}.edge-sidebar-resize-e:after,.edge-sidebar-resize-w:after{top:50%;width:3px;height:28px;margin-top:-14px}.edge-sidebar-resize-n:after,.edge-sidebar-resize-s:after{left:50%;width:28px;height:3px;margin-left:-14px}.edge-sidebar-resize-w:after{left:7px}.edge-sidebar-resize-e:after{right:7px}.edge-sidebar-resize-n:after{top:7px}.edge-sidebar-resize-s:after{bottom:7px}.edge-sidebar-resize-n:hover:after,.edge-sidebar-resize-s:hover:after,.edge-sidebar-resize-e:hover:after,.edge-sidebar-resize-w:hover:after{opacity:1;transform:scale(1)}.edge-sidebar-snap{pointer-events:none;position:absolute;z-index:9;border-radius:999px;background:#0d0d0d;box-shadow:inset 0 0 0 1px #ffffff12;opacity:0;transition:opacity .14s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.35,1.55,.65,1)}.edge-sidebar-snap-left,.edge-sidebar-snap-right{top:50%;width:4px;height:28px;transform:translateY(-50%) scale(.4)}.edge-sidebar-snap-top,.edge-sidebar-snap-bottom{left:50%;width:28px;height:4px;transform:translate(-50%) scale(.4)}.edge-sidebar-snap-left{left:-8px}.edge-sidebar-snap-right{right:-8px}.edge-sidebar-snap-top{top:-8px}.edge-sidebar-snap-bottom{bottom:-8px}:host([data-sidebar="edge"]) .edge-sidebar[data-snap-x=left] .edge-sidebar-snap-left,:host([data-sidebar="edge"]) .edge-sidebar[data-snap-x=right] .edge-sidebar-snap-right{opacity:1;transform:translateY(-50%) scale(1)}:host([data-sidebar="edge"]) .edge-sidebar[data-snap-y=top] .edge-sidebar-snap-top,:host([data-sidebar="edge"]) .edge-sidebar[data-snap-y=bottom] .edge-sidebar-snap-bottom{opacity:1;transform:translate(-50%) scale(1)}:host([data-sidebar="edge"]) .edge-sidebar .panel{position:relative;z-index:auto;width:100%;height:100%;min-height:0;flex:1;display:flex;flex-direction:column;padding-top:30px;background:transparent;color:inherit;box-shadow:none;border-radius:0}:host([data-sidebar="edge"]) .edge-sidebar .panel .list{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:transparent transparent;scrollbar-gutter:stable;box-sizing:border-box;margin-inline:-12px;padding:0 0 24px;-webkit-mask-image:none;mask-image:none}:host([data-sidebar="edge"]) .edge-sidebar .panel .list[data-scrolling=true],:host([data-sidebar="edge"]) .edge-sidebar .panel .list:hover{scrollbar-color:#ffffff30 transparent}:host([data-sidebar="edge"]) .edge-sidebar-sensor{position:fixed;top:0;bottom:0;width:24px;z-index:3;cursor:pointer;pointer-events:auto}:host([data-sidebar="edge"]) .edge-sidebar-sensor[hidden]{display:none}:host([data-sidebar="edge"]) .toolbar:not([data-edge-tabs=true]){bottom:calc(24px + env(safe-area-inset-bottom,0px))}:host([data-sidebar="edge"]) .toolbar[data-edge-tabs=true]{position:relative;inset:auto;transform:none;flex:none;width:100%;display:flex;justify-content:center;padding:0 12px 12px;z-index:6;pointer-events:none;background:transparent}:host([data-sidebar="edge"]) .toolbar[data-edge-tabs=true] .morphing-menu{pointer-events:auto}:host([data-sidebar="edge"]) .toolbar[data-edge-orient=horizontal] .morphing-menu,:host([data-sidebar="edge"]) .toolbar[data-edge-orient=horizontal] .morphing-menu[data-vertical=true]{width:var(--mm-bar-width);height:var(--mm-bar-height)}:host([data-sidebar="edge"]) .toolbar[data-edge-orient=horizontal] .morphing-menu__bar,:host([data-sidebar="edge"]) .toolbar[data-edge-orient=horizontal] .morphing-menu__shell{flex-direction:row;inset:auto auto 0 50%;translate:-50% 0;width:var(--mm-bar-width);height:var(--mm-bar-height)}:host([data-sidebar="edge"]) .toolbar[data-edge-orient=horizontal] .morphing-menu__shortcut{width:0;height:var(--mm-button);flex:1}:host([data-sidebar="edge"]) .edge-sidebar[data-morphing=true] .panel{padding-top:0;flex-basis:0;overflow:hidden}:host([data-sidebar="edge"]) .edge-sidebar[data-morphing=true] .toolbar[data-edge-tabs=true]{padding-bottom:0}:host([data-sidebar="edge"]) .edge-sidebar:has(>.account-layer){overflow:visible}:host([data-sidebar="edge"]) .edge-sidebar>.account-layer{position:absolute;inset:12px 10px auto;width:auto;height:auto;padding:0;background:none;place-items:start stretch;pointer-events:none;z-index:10}:host([data-sidebar="edge"]) .edge-sidebar>.account-layer .account-dialog{max-height:min(calc(100dvh - 32px),var(--edge-account-max-height, calc(100dvh - 120px) ));width:100%;pointer-events:auto}:host([data-sidebar="edge"]) .toolbar[data-hidden=true]>.morphing-menu{transition:none}.toolbar[data-hidden=true]{pointer-events:none}.toolbar[data-hidden=true]>.morphing-menu{translate:0 8px;scale:.92;opacity:0;filter:blur(6px)}@media(prefers-reduced-motion:reduce){:host([data-sidebar="edge"]) .edge-sidebar{transition:none}.toolbar[data-hidden=true]>.morphing-menu{translate:none;scale:1;filter:none}}.sidebar-tooltip{position:fixed;z-index:30;translate:-50% 0}.sidebar-tip{position:absolute;z-index:5;translate:none;display:flex;align-items:center;gap:2px;width:max-content;max-width:236px;padding:8px 4px 8px 12px;white-space:normal;overflow:visible;pointer-events:auto}.sidebar-tip[hidden]{display:none}.sidebar-tip p{margin:0;font-size:13px;line-height:18px}.sidebar-tip .icon{flex:none;width:24px;height:24px;border-radius:8px;color:inherit;opacity:.45}.sidebar-tip .icon:hover{opacity:1;background:light-dark(#0000000d,#ffffff14)}.sidebar-tip .icon svg{width:14px;height:14px}.sidebar-tip:before{content:"";position:absolute;left:var(--caret-x);bottom:100%;width:10px;height:10px;margin:0 0 -5px -5px;background:inherit;border-radius:2px 0;rotate:45deg}.sidebar-tip[data-tip=shortcut]:before{bottom:auto;top:100%;margin:-5px 0 0 -5px}.list[data-empty]{display:flex;flex-direction:column}.list[data-empty] .empty{flex:1;align-content:center}.sidebar-tooltip,.sidebar-tip{transition:var(--duration-quick) var(--ease-smooth-out);transition-property:opacity,transform,filter}.sidebar-tooltip:not([data-open]),.sidebar-tip[data-leaving]{opacity:0;transform:translateY(-4px);filter:blur(2px)}.sidebar-tip{transform-origin:var(--caret-x) top;animation:tip-in var(--duration-fast) var(--ease-smooth-out) backwards}.sidebar-tip[data-tip=shortcut]{transform-origin:var(--caret-x) bottom}@keyframes tip-in{0%{opacity:0;transform:scale(.98)}}.edge-sidebar:not([data-tips-ready]) .sidebar-tip{opacity:0;animation:none;pointer-events:none}[data-tips-restored] .sidebar-tip{animation:none;transition:none}@media(hover:none){.sidebar-tip[data-tip=shortcut]{display:none}}@media(prefers-reduced-motion:reduce){.sidebar-tooltip,.sidebar-tip{transition:none;animation:none}}:host([data-sidebar="mobile"]) .sidebar-tip{display:none!important}:host([data-sidebar="mobile"]) .panel{position:fixed;inset:auto 12px calc(var(--mobile-panel-bottom,0px) + 6px);width:auto;height:var(--mobile-panel-height,90vh);min-height:0;padding:20px 20px 10px;display:flex;flex-direction:column;background:#0d0d0d;color:#e9e6e1;border-radius:24px;box-shadow:0 -1px #ffffff24;overflow:hidden;pointer-events:none;visibility:hidden;opacity:0;transform-origin:bottom center;translate:var(--mobile-pill-x,0px) var(--mobile-pill-y,-24px);scale:var(--mobile-pill-scale-x,.6) var(--mobile-pill-scale-y,.08);will-change:translate,scale,opacity;transition:translate .32s cubic-bezier(.22,1,.36,1),scale .32s cubic-bezier(.22,1,.36,1),opacity .15s ease,visibility 0s linear .32s;z-index:8}:host([data-sidebar="mobile"].review-open:not([data-mobile-entering])) .panel{pointer-events:auto;visibility:visible;opacity:1;translate:0 0;scale:1;transition:translate .32s cubic-bezier(.22,1,.36,1),scale .32s cubic-bezier(.22,1,.36,1),opacity .15s ease,visibility 0s}:host([data-sidebar="mobile"]) .panel:before{display:none}:host([data-sidebar="mobile"]) .panel .list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;margin-inline:0;padding-bottom:calc(88px + env(safe-area-inset-bottom,0px));-webkit-mask-image:none;mask-image:none;scrollbar-gutter:auto}:host([data-sidebar="mobile"]) .toolbar{position:absolute;z-index:10}:host([data-sidebar="mobile"].review-open) .toolbar .morphing-menu{--mm-surface:#282828}:host([data-sidebar="mobile"].review-open) .toolbar .morphing-menu__shell{backdrop-filter:none}:host([data-sidebar="mobile"]) .account-layer{position:fixed;inset:auto 20px calc(var(--mobile-panel-bottom,0px) + 14px);width:auto;height:calc(var(--mobile-panel-height,90vh) - 16px);padding:0;background:none;border-radius:0;overflow:visible;pointer-events:none;z-index:11}:host([data-sidebar="mobile"]) .account-layer .account-dialog{max-width:100%;max-height:100%;pointer-events:auto}@media(prefers-reduced-motion:reduce){:host([data-sidebar="mobile"]) .panel{transition:none}}.panel[data-thread]>:not(.thread-pane){visibility:hidden}.thread-pane{position:absolute;inset:0;padding:inherit;display:flex;flex-direction:column;pointer-events:none}:host([data-sidebar="background"]) .thread-pane{padding-bottom:96px}:host([data-sidebar="edge"]) .thread-pane{padding-bottom:44px}.thread-pane .dialog{position:static;flex:1;min-height:0;width:auto;max-width:none;max-height:none;margin:0 -16px;background:none;box-shadow:none;border-radius:0}.thread-pane .dialog-head{position:static;height:auto;padding:0 16px 8px;background:none;gap:4px}.thread-pane .messages{max-height:none}.thread-pane .composer{margin-top:auto}.message-content:has(>.thread-tags){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 8px}.message-content:has(>.thread-tags)>.message-text{grid-column:1;grid-row:1}.message-content>.thread-tags{grid-column:1;grid-row:2;margin:8px 0 0}.message-content:has(>.thread-tags)>.message-reaction{grid-column:2;grid-row:1}.thread-pane .message:first-child>.row{padding-right:0}.component-hover[data-thread]{outline:2px solid var(--accent, #bda6ef);background:none;transition:opacity .15s ease}.pins[data-quiet] .pin.active:not([data-moving]){scale:.7;opacity:.6;box-shadow:0 0 0 2px #fff;transition:opacity .15s ease}.pins[data-outlined] .pin.active:not([data-moving]){opacity:0;pointer-events:none}.thread-pane .icon:focus-visible{outline:2px solid var(--accent, #bda6ef);outline-offset:2px}@media(prefers-reduced-motion:reduce){.component-hover,.pins .pin.active{transition:none}}.thread-back{margin-left:-6px}.thread-back svg{rotate:90deg}.thread-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500}\n';let Tn=$("div","catch");Tn.hidden=!0;let _n=$("div","pins"),Rn=$("div"),qn=$("div","toolbar"),Pn=$("div"),Wn=$("div");Pn.tabIndex=-1,ye&&Pn.classList.add("edge-sidebar");let On=$("div","edge-sidebar-sensor");On.hidden=!0,Object.assign(_n.style,{position:"fixed",inset:"0"});let Hn=$("div","pin-preview");Hn.hidden=!0;let Bn=0,Dn=!1,Fn=!1,In=null,Yn=null,Nn=null,Xn="",Un=(e=!1)=>{if(window.clearTimeout(Bn),Hn.hidden||Fn&&!e)return;if(ln?.resetDesignPreviews(new Set([...nt.find(e=>e.id===it&&lt(e))?.comments.map(e=>e.id)??[],"draft"])),Fn=!0,Yn?.cancel(),e||w())return Hn.hidden=!0,void(In=null);let t=Hn.animate([{opacity:1,transform:"scale(1)"},{opacity:0,transform:"translateY(3px) scale(.99)"}],{duration:150,easing:"cubic-bezier(.22,1,.36,1)",fill:"forwards"});Yn=t,t.finished.then(()=>{Yn===t&&(Hn.hidden=!0,In=null)}).catch(()=>{})};Hn.addEventListener("pointerenter",()=>{Dn||Ht||Gt||(Fn=!1,window.clearTimeout(Bn),Yn?.cancel())}),Hn.addEventListener("pointerleave",()=>Un());let Vn=$("div","component-hover");Vn.setAttribute("aria-hidden","true");let Kn=null,Jn=null,Gn=0,Zn=$("div","sr-only");Zn.setAttribute("aria-live","polite");let Qn=function(e,t){let n,i,a,o,r=!1,s=!1,l=new AbortController;e.addEventListener("pointerdown",()=>{s=!0},{capture:!0,signal:l.signal});let d=()=>{s=!1,setTimeout(()=>{o?.(),o=void 0},0)};document.addEventListener("pointerup",d,{capture:!0,signal:l.signal}),document.addEventListener("pointercancel",d,{capture:!0,signal:l.signal});let c=()=>i||r?Promise.resolve():a||(a=import("./toolbar-runtime-Y4YAL3P7.js").then(async t=>{if(s&&await new Promise(e=>{o=e}),r)return;let a=e.getRootNode().activeElement?.dataset.menuItem;i=t.mountToolbar(e,n),a&&e.querySelector(`[data-menu-item="${a}"]`)?.focus({preventScroll:!0})}).catch(()=>{a=void 0}),a);return e.addEventListener("pointerenter",()=>{c()},{once:!0}),e.addEventListener("focusin",()=>{c()},{once:!0}),{render(a){if(n=a,r)return;if(i)return void i.render(n);let o=$("nav","morphing-menu");o.setAttribute("aria-label",n.label??"Website review"),o.dataset.view="collapsed",o.dataset.edge=n.edge??"bottom",o.dataset.vertical=String("left"===n.edge||"right"===n.edge),o.dataset.alignEnd=String(!!n.alignEnd);let s=n.items.filter(e=>!1!==e.showInBar);o.style.setProperty("--mm-count",String(s.length+1));let l=$("div","morphing-menu__shell"),d=$("div","morphing-menu__bar");for(let e of s){let i=z(e.label,()=>{e.onSelect?.(),c()},"morphing-menu__shortcut");i.title=e.label,i.dataset.menuItem=e.id,e.id===n.activeId&&i.setAttribute("aria-current","page"),i.replaceChildren(t("glyph"in e.icon?e.icon.glyph:e.id)),d.append(i)}let p=z(n.moreLabel??"More review tools",()=>{c().then(()=>{i?e.querySelector('[data-menu-item="more"]')?.click():(p.title="Could not load menu. Tap to retry.",p.setAttribute("aria-label",p.title))})},"morphing-menu__shortcut");p.dataset.menuItem="more",p.setAttribute("aria-expanded","false"),p.replaceChildren(E("drawer")),d.insertBefore(p,d.querySelector('[data-menu-item="dismiss"]')),l.append(d),o.append(l),e.replaceChildren(o)},unmount(){r=!0,l.abort(),o?.(),i?.unmount(),e.replaceChildren()}}}(qn,e=>{if("account"===e){if(!He.user)return E("person");let e=L(He.user);return e.classList.add("review-avatar"),e}return E(e)});Ln.append(Mn,Tn,Vn,_n,Pn,On,Rn,Hn,Wn,qn,Zn),document.body.append(An);let ei=0,ti=0,ni=new MutationObserver(e=>{if(Date.now()-ti>1e3&&([ei,ti]=[0,Date.now()]),++ei<20)for(let t of e)An.removeAttribute(t.attributeName)});ni.observe(An,{attributeFilter:["aria-hidden","inert"]});let ii=document.documentElement;function ai(e,t){return Object.fromEntries(t.map(t=>[t,e.style[t]]))}let oi=ai(me,["width","boxSizing","zoom","transformOrigin","transform","position","left","top","height","minHeight","paddingBottom","overflow","borderRadius","background"]),ri=Object.keys(oi).map(e=>e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)),si=O(me,ri),li=ai(document.body,["overflow","background"]),di=O(document.body,["overflow","background"]),ci=O(ii,["overflow","background"]),pi=new Map,ui=ii.style.background,hi=function(e,t,n,i){let a,o=new Map,r=null,s=0,l=!1,d=0,c=()=>{d||(d=requestAnimationFrame(()=>{d=0,e.ownerDocument.defaultView?.dispatchEvent(new Event("resize")),h()}))},p=new ResizeObserver(h),u=new MutationObserver(n=>{r&&n.some(n=>{let i=n.target;return i instanceof HTMLElement&&i!==t&&!t.contains(i)&&i!==e&&!e.contains(i)&&("attributes"!==n.type||"style"!==n.attributeName||o.get(i)?.style!==i.getAttribute("style")&&![...o.values()].some(e=>e.constraints?.get(i)?.style===i.getAttribute("style")))})&&h()});function h(){s||!r||(s=requestAnimationFrame(()=>{s=0,b(),i()}))}function m(e,t){!t.animation&&e.style.translate!==t.appliedTranslate&&(t.translate=P(e,"translate")),!t.animation&&e.style.scale!==t.appliedScale&&(t.scale=P(e,"scale")),t.animation?.cancel(),t.animation||(W(e,"translate",t.translate),W(e,"scale",t.scale),D(e,["translate","scale"]));for(let[e,n]of t.constraints??[])g(e,n);p.unobserve(e)}function g(e,t,n=!1){for(let[n,i]of t.properties)e.style.getPropertyValue(n)!==i.applied&&(i.original=P(e,n)),W(e,n,i.original);n||p.unobserve(e)}function f(e,t,n,i){t.constraints??=new Map;let a=t.constraints.get(e);a||(a={properties:new Map,style:null},t.constraints.set(e,a),p.observe(e));let o=getComputedStyle(e),r=e=>"border-box"===o.boxSizing?0:"Width"===e?(parseFloat(o.paddingLeft)||0)+(parseFloat(o.paddingRight)||0)+(parseFloat(o.borderLeftWidth)||0)+(parseFloat(o.borderRightWidth)||0):(parseFloat(o.paddingTop)||0)+(parseFloat(o.paddingBottom)||0)+(parseFloat(o.borderTopWidth)||0)+(parseFloat(o.borderBottomWidth)||0),s={"min-width":"0px","min-height":"0px","max-width":`${Math.max(1,n-r("Width"))}px`,"max-height":`${Math.max(1,i-r("Height"))}px`,overflow:"auto"};for(let[t,n]of Object.entries(s)){let i=a.properties.get(t);i?e.style.getPropertyValue(t)!==i.applied&&(i.original=P(e,t),t.startsWith("max-")&&(i.maximum=o.getPropertyValue(t))):a.properties.set(t,i={original:P(e,t),applied:"",maximum:t.startsWith("max-")?o.getPropertyValue(t):void 0});let r=i.maximum;e.style.setProperty(t,r&&"none"!==r?`min(${r}, ${n})`:n,"important"),i.applied=e.style.getPropertyValue(t)}D(e,Object.keys(s)),a.style=e.getAttribute("style")}function b(){if(!r)return;let i=new Set,a=!1,s=(n,d)=>{if(n===t||n.contains(e))return;let c=getComputedStyle(n).position;if(!1===d)return;if(!0!==d&&"fixed"!==c){for(let e of n.children)e instanceof HTMLElement&&s(e);return}i.add(n);let u=o.get(n);if(u)u.animation&&(n.style.getPropertyPriority("translate")||n.style.getPropertyPriority("scale"))&&(u.animation.cancel(),u.animation=void 0,u.translate=P(n,"translate"),u.scale=P(n,"scale"),u.appliedTranslate=n.style.translate,u.appliedScale=n.style.scale),!u.animation&&n.style.translate!==u.appliedTranslate&&(u.translate=P(n,"translate")),!u.animation&&n.style.scale!==u.appliedScale&&(u.scale=P(n,"scale")),n.style.transform!==u.transform&&(u.transform=n.style.transform,u.positioningFrame={...r});else{if(u={translate:P(n,"translate"),scale:P(n,"scale"),appliedTranslate:n.style.translate,appliedScale:n.style.scale,style:n.getAttribute("style"),transform:n.style.transform,positioningFrame:l?null:{...r}},"function"==typeof n.animate&&!u.scale.priority&&!u.translate.priority)try{let e=n.animate(B(1),{duration:1,fill:"both",composite:"add"});"add"===e.effect?.composite?(u.animation=e,e.pause(),e.currentTime=0):e.cancel()}catch{}o.set(n,u),p.observe(n)}u.animation?u.animation.effect.setKeyframes(B(1)):(W(n,"translate",u.translate),W(n,"scale",u.scale),D(n,["translate","scale"]));let h='[role="dialog"], [role="alertdialog"]',m=n.matches(h)?null:n.querySelector(h);for(let[e,t]of u.constraints??[])e!==n&&(g(e,t,e===m),u.constraints.delete(e));let b=getComputedStyle(n),x=H(b.translate),w=r.scale,v=r.zoom??1,y=!0!==d&&!!n.style.transform&&!n.style.transform.includes("%")&&/^(?:translate(?:3d|X|Y)?\([^%]+\)\s*)+$/i.test(n.style.transform),k=n.getBoundingClientRect(),S=[r.left,r.top],C=r.bounds??e.getBoundingClientRect(),$=y?8/v:0,E=[C.width-2*$,C.height-2*$];if(C.width&&C.height&&(u.constraints?.has(n)||k.width/v*w>E[0]||k.height/v*w>E[1])&&f(n,u,E[0]/w,E[1]/w),m instanceof HTMLElement&&C.width&&C.height){let e=m.getBoundingClientRect();if(u.constraints?.has(n)||e.width/v*w>E[0]||e.height/v*w>E[1]){let e=e=>{let t="Width"===e?["left","right"]:["top","bottom"],i=0;for(let e=m;e!==n&&e.parentElement;e=e.parentElement){let a=getComputedStyle(e),o=getComputedStyle(e.parentElement);for(let r of t)i+=(parseFloat(a.getPropertyValue(`margin-${r}`))||0)+(parseFloat(o.getPropertyValue(`padding-${r}`))||0)+(e.parentElement===n?0:parseFloat(o.getPropertyValue(`border-${r}-width`))||0)}return Math.min(E["Width"===e?0:1]/w,n[`client${e}`])-i};f(m,u,e("Width"),e("Height"))}u.constraints?.has(m)||p.unobserve(m)}let z=n.getBoundingClientRect(),j=y?[z.left/v,z.top/v]:null,A=getComputedStyle(n).transformOrigin.split(" ").map(parseFloat),L=[n.offsetLeft,n.offsetTop],M=S.map((e,t)=>{let n=L[t]+(A[t]||0),i=e-(1-w)*n;if(j&&z){let a=u.positioningFrame,o=e+w*(j[t]-(a?[a.left,a.top][t]:0))/(a?.scale??1);if(C.width&&C.height){let e=[C.left,C.top][t]+$,n=[C.right,C.bottom][t]-$-[z.width,z.height][t]/v*w;o=Math.max(e,Math.min(n,o))}i=o-w*j[t]-(1-w)*n}return`calc(${i}px + ${u.animation?w-1:w} * ${x[t]??"0px"})`}).join(" ");u.animation?u.animation.effect.setKeyframes(B(w,M)):(n.style.setProperty("translate",M,u.translate.priority),n.style.setProperty("scale",H(b.scale).length?H(b.scale).map(e=>String(Number(e)*w)).join(" "):String(w),u.scale.priority),D(n,["translate","scale"])),u.appliedTranslate=n.style.translate,u.appliedScale=n.style.scale,u.style=n.getAttribute("style"),a||=(n.getAnimations?.()??[]).some(e=>e!==u.animation&&"running"===e.playState&&e.effect?.getKeyframes().some(e=>Object.keys(e).some(e=>/^(transform|translate|scale|left|top|width|height)$/.test(e))))};for(let e of document.body.children)e instanceof HTMLElement&&s(e,n?.(e));for(let[e,t]of o)i.has(e)||(m(e,t),o.delete(e));a&&h()}function x(){cancelAnimationFrame(s),s=0,a?.abort(),a=void 0,u.disconnect(),p.disconnect();for(let[e,t]of o)m(e,t);o.clear()}return{update(t){let n=r;if(l=!n&&!!t,r=t,!t)return x(),void(n&&c());if(!a){a=new AbortController,u.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style","class","data-state"]});for(let e of["animationend","animationcancel","transitionend","transitioncancel"])document.addEventListener(e,h,{capture:!0,signal:a.signal});e.addEventListener("scroll",c,{passive:!0,signal:a.signal})}b(),l=!1,(!n||n.scale!==t.scale||n.left!==t.left||n.top!==t.top)&&c()},reposition:c,destroy(){r=null,x(),cancelAnimationFrame(d)}}}(me,An,R.frame?.include,ur);function mi(){let e=parseFloat(me.style.left)||0,t=parseFloat(me.style.top)||0,n=(parseFloat(me.style.width)||me.offsetWidth)*Aa,i=(parseFloat(me.style.height)||me.offsetHeight)*Aa;hi.update(xi&&!De?{scale:Aa,left:e,top:t,zoom:ta(),bounds:{left:e,top:t,right:e+n,bottom:t+i,width:n,height:i}}:null)}function gi(){let e=xi||wi,t=[document.body.style.background,ii.style.background];e&&(document.body.style.background=li.background,ii.style.background=ui);let n=[document.body,ii].map(e=>getComputedStyle(e).backgroundColor).find(e=>"rgba(0, 0, 0, 0)"!==e)??"#fff";return e&&([document.body.style.background,ii.style.background]=t,bi.takeRecords()),n}let fi=0,bi=new MutationObserver(()=>{fi||=requestAnimationFrame(()=>{fi=0,vi=gi(),(xi||wi)&&(me.style.background=vi)})}),xi=!1,wi=!1,vi=gi();for(let e of[ii,document.body])bi.observe(e,{attributes:!0});let yi,ki=0,Si=!1,Ci=!1,$i=function(e,t="session"){let n;try{"always"!==t&&localStorage.removeItem(e)}catch{}try{n="always"===t?localStorage:t?sessionStorage:void 0}catch{}return{get(){try{return"1"===n?.getItem(e)}catch{return!1}},set(t){try{t?n?.setItem(e,"1"):n?.removeItem(e)}catch{}}}}(`branch-comments:open:${R.project}:${R.repo}`,R.restoreOpen),Ei=`branch-comments:toolbar-dismissed:${R.project}:${R.repo}`;try{"1"===sessionStorage.getItem(Ei)&&(Xe=!0,Ne=!0)}catch{}let zi,ji,Ai,Li=!1,Mi=[],Ti=0,_i=!1,Ri=null;function qi(e){!qn.offsetWidth||!qn.offsetHeight||(Lt=N(e,qn.offsetWidth,qn.offsetHeight,ii.clientWidth,window.innerHeight),qn.style.left=`${Lt.x+qn.offsetWidth/2}px`,"bottom"!==Lt.edgeY||ve?(qn.style.top=`${Lt.y}px`,qn.style.bottom="auto"):(qn.style.top="auto",qn.style.bottom="calc(16px + env(safe-area-inset-bottom,0px))"))}function Pi(e){if("true"===Pn.dataset.dragging)return en=e,Pn.style.left=`${e.x}px`,void(Pn.style.top=`${e.y}px`);Pn.offsetWidth&&(en=N(e,Pn.offsetWidth,Pn.offsetHeight,ii.clientWidth,window.innerHeight),Bi())}function Wi(){Pn.style.width=`${an}px`,Pn.style.height=null==on?"":`${on}px`,ho()}function Oi(){Qt=en;try{localStorage.setItem(tn,JSON.stringify({...Qt,width:an,height:on}))}catch{}}function Hi(){let e=ii.clientWidth,t=window.innerHeight;an=Math.min(Math.max(an,K),Math.max(K,e-32)),null!=on&&(on=Math.min(Math.max(on,J),Math.max(J,Math.min(t-32,680)))),Wi()}function Bi(){if(ve||!ye)return;Hi();let e=Pn.offsetHeight||Math.min(window.innerHeight-32,680),t=function(e,t,n,i,a){let o=N(e??{x:Math.max(V,i-t-V),y:V},t,n,i,a),r="left"===o.edgeX?"left":"right";return{x:o.x,y:o.y,width:t,height:n,side:r}}(en,an,e,ii.clientWidth,window.innerHeight),n=function(e,t){let n="right"===e.side?t+24:-(e.width+24),i="right"===e.side?t-76:76-e.width;return{parked:n-e.x,peek:i-e.x}}(t,ii.clientWidth);Pn.style.left=`${t.x}px`,Pn.style.top=`${t.y}px`,Pn.style.setProperty("--edge-account-max-height",`${Math.max(0,window.innerHeight-t.y-28)}px`),Pn.style.right="auto",Pn.style.bottom="auto",Pn.style.transformOrigin="left"===t.side?"left center":"right center",Pn.style.setProperty("--edge-park-x",`${n.parked}px`),Pn.style.setProperty("--edge-peek-x",`${n.peek}px`),On.style.left="left"===t.side?"0px":"",On.style.right="right"===t.side?"0px":"",Fe?(delete Pn.dataset.collapsed,delete Pn.dataset.peek,On.hidden=!0):(Pn.dataset.collapsed="true",nn?Pn.dataset.peek="true":delete Pn.dataset.peek,On.hidden=!1)}function Di(){An.dataset.sidebar=ve?"mobile":ye?"edge":"background",Pn.classList.toggle("edge-sidebar",ye),Pn.style.transition="none",Pn.style.translate="",Pn.style.opacity="",Na(!0),ye?Ki.isConnected||Pn.prepend(Ki):(Ki.remove(),delete Pn.dataset.collapsed,delete Pn.dataset.peek,On.hidden=!0),Pn.offsetWidth,Pn.style.transition=""}let Fi=[],Ii=!1;function Yi(){for(let e of Fi)e.cancel();Fi=[],wi=!1,_n.style.opacity=""}function Ni(e,t){if(ve||e===we||De||!ge&&"background"===e)return;let n=()=>[me,Pn.querySelector(".panel"),qn,Rn.querySelector(".account-dialog")],i=n().map(e=>e?.getBoundingClientRect());if(Yi(),yi?.cancel(),yi=void 0,zi?.stop(),zi=void 0,Na(!0),Da(),qa(),qn.style.translate="",ji=void 0,Ii=!0,we=e,ye="edge"===e,!t){ke=!1,R={...R,sidebar:e};try{localStorage.setItem(fe,e)}catch{}}if(Di(),_a(),sr(),Ii=!1,w())return;n().forEach((e,t)=>{let n=i[t];if(!e?.isConnected||!n?.width||e===me&&!0!==R.frame?.scale)return;e!==me&&e.getAnimations().forEach(e=>e.cancel());let a=e.getBoundingClientRect();if(!a.width)return;let o=a.width/e.offsetWidth,r=getComputedStyle(e).transform;Fi.push(e.animate([{transform:`${"none"===r?"":r} translate(${(n.left-a.left)/o}px, ${(n.top-a.top)/o}px) scale(${n.width/a.width})`,transformOrigin:"top left"},{transform:r,transformOrigin:"top left"}],{duration:250,easing:"cubic-bezier(0.22, 1, 0.36, 1)"}))});let a=Fi;wi=!0,_n.style.opacity="0",Promise.all(a.map(e=>e.finished)).then(()=>{De||a!==Fi||(Fi=[],wi=!1,_n.style.opacity="",mi(),hi.reposition(),ur())}).catch(()=>{})}function Xi(e,n,i,a,o){let r=$("div","account-setting"),s=$("span","account-setting-label",n),l=t(n,i,a,e=>o(e));return l.querySelector("summary").dataset.focusKey=`setting-${e}`,r.append(s,l),r}function Ui(e){if(e!==Oe&&!De){if(Ge||pt.busy)return void ca("Wait for your changes to save.");Oe=e;try{localStorage.setItem(We,e)}catch{}R={...R,branch:"local"===e?"local":Te},He.cancelReads(),He=new i(R),Ze=Rt=!1,xa=void 0,Tt="",_t=null,wt="Connecting",Ot=Ft=It=Yt=qt=!1,it=null,at=null,Nt=null,Vi(),sr(),fa()}}function Vi(){st(),et++,Ze=!1,Tt="",it=null,xa=void 0;let e=He.cached();Qe=null!==e,pt.reset(wa(e??[]))}let Ki=$("div","edge-sidebar-grip");Ki.setAttribute("aria-hidden","true");let Ji=e=>U(Pn,e,Pi,Be.signal,()=>{$e=!1,ze=!0,Qi.show()},()=>{Oi(),Qi.update()},()=>Fe&&ye&&!_i);Ji(Ki),Pn.prepend(Ki);let Gi=["n","s","e","w","ne","nw","se","sw"];for(let e of Gi){let t=$("div",`edge-sidebar-resize edge-sidebar-resize-${e}`);t.addEventListener("pointerdown",t=>{if(0!==t.button||!Fe||!ye||_i)return;t.preventDefault(),t.stopPropagation();for(let e of Pn.getAnimations())e.cancel();Pn.style.transition="none";let n=Pn.getBoundingClientRect(),i=t.clientX,a=t.clientY,o=o=>{if(o.pointerId!==t.pointerId)return;let r=Z(e,n,o.clientX-i,o.clientY-a,ii.clientWidth,window.innerHeight);an=r.width,(e.includes("n")||e.includes("s"))&&(on=r.height),en={x:r.left,y:r.top},Pn.style.left=`${r.left}px`,Pn.style.top=`${r.top}px`,Wi()},r=e=>{e.pointerId===t.pointerId&&(window.removeEventListener("pointermove",o,!0),window.removeEventListener("pointerup",r,!0),window.removeEventListener("pointercancel",r,!0),Pn.style.transition="",Oi(),Bi())};window.addEventListener("pointermove",o,{capture:!0,passive:!1}),window.addEventListener("pointerup",r,!0),window.addEventListener("pointercancel",r,!0)},{signal:Be.signal}),Pn.append(t)}for(let e of["left","right","top","bottom"])Pn.append($("div",`edge-sidebar-snap edge-sidebar-snap-${e}`));let Zi=e=>{nn=e,!Fe&&ye&&!_i&&Bi()};On.addEventListener("pointerenter",()=>Zi(!0)),On.addEventListener("pointerleave",()=>Zi(!1)),On.addEventListener("pointerup",e=>{0===e.button&&!Fe&&Xa(!0)}),Pn.addEventListener("pointerenter",()=>Zi(!0)),Pn.addEventListener("pointerleave",()=>Zi(!1)),window.addEventListener("resize",()=>{De||!ye||_i||(Hi(),Bi())},{signal:Be.signal,passive:!0}),Di();let Qi=function(e,t,n,i=!0){if(!i)return{show(){},update(){}};let a,o=0,r=0,s=0,l=0,d=0,c=matchMedia("(hover: hover) and (pointer: fine)");c.matches&&(e.dataset.away="true",e.dataset.intro="true",e.dataset.introWait="true");let p=()=>{let t=e.getBoundingClientRect(),n=[t.left,window.innerWidth-t.right,t.top,window.innerHeight-t.bottom],i=n.indexOf(Math.min(...n));e.style.setProperty("--drawer-peek-y",window.innerHeight-t.top-t.height/2+"px"),e.style.setProperty("--drawer-intro-y",window.innerHeight-t.top+8+"px"),e.style.setProperty("--drawer-away-x",(0===i?-24:1===i?24:0)+"px"),e.style.setProperty("--drawer-away-y",(2===i?-24:3===i?24:0)+"px")},u=()=>{clearTimeout(s),clearTimeout(l),delete e.dataset.peek,delete e.dataset.intro,delete e.dataset.introWait,clearTimeout(d),clearTimeout(o),o=0,delete e.dataset.away},h=()=>{if(!c.matches||t())return void u();let n=e.getBoundingClientRect(),i=a&&a.x>=n.left-72&&a.x<=n.right+72&&a.y>=n.top-72&&a.y<=n.bottom+72,r=e.querySelector(".morphing-menu"),s=e.getRootNode()instanceof ShadowRoot&&e.contains(e.getRootNode().activeElement);!c.matches||t()||i||s||e.dataset.dragging||r&&"collapsed"!==r.getAttribute("data-view")?u():o||e.dataset.away||(o=window.setTimeout(()=>{o=0,p(),e.dataset.away="true"},450))},m=()=>{!c.matches||n.aborted||(s=window.setTimeout(()=>{if(!e.dataset.away||t())return;p();let n=e.querySelector(".morphing-menu");n&&getComputedStyle(n).translate,delete e.dataset.introWait,e.dataset.peek="true",l=window.setTimeout(()=>{delete e.dataset.peek,d=window.setTimeout(()=>{delete e.dataset.intro},300)},900)},700))};"complete"===document.readyState?m():window.addEventListener("load",m,{once:!0,signal:n}),document.addEventListener("pointermove",e=>{a={x:e.clientX,y:e.clientY},r||(r=requestAnimationFrame(()=>{r=0,h()}))},{passive:!0,signal:n}),e.addEventListener("focusin",u,{signal:n}),e.addEventListener("focusout",()=>queueMicrotask(h),{signal:n});let g=new MutationObserver(h);return g.observe(e,{subtree:!0,attributes:!0,attributeFilter:["data-view","data-dragging"]}),n.addEventListener("abort",()=>{clearTimeout(o),cancelAnimationFrame(r),clearTimeout(s),clearTimeout(l),clearTimeout(d),g.disconnect()},{once:!0}),{show:u,update:h}}(qn,()=>Fe||Ie||Je||!!at||!!it,Be.signal,R.autoHideDrawer);U(qn,qn,qi,Be.signal,()=>{Qi.show(),zi?.stop(),qn.style.translate="0px 0px"},()=>{Mt=Lt;try{localStorage.setItem(Zt,JSON.stringify(Mt))}catch{}Za(),Qi.update()},()=>!Fe,e=>!!e.closest(".morphing-menu__shortcut"));let ea=new ResizeObserver(()=>{"true"!==qn.dataset.edgeTabs&&(Lt?qi(Lt):R.drawerContainer&&Za())});ea.observe(qn),R.drawerContainer&&ea.observe(R.drawerContainer);let ta=()=>ii.currentCSSZoom??1;function na(){return function(e){return e.replace(/\/+$/,"")||"/"}(R.page?.()??location.pathname)}let ia=new WeakMap,aa=null,oa=0,ra=new WeakMap;function sa(){cancelAnimationFrame(oa),!De&&Ln.querySelector(".floating-notice")&&(pa(),oa=requestAnimationFrame(sa))}function la(e=at??nt.find(e=>e.id===it)?.anchor){let t=Rn.firstElementChild?.getBoundingClientRect();if(!t||Je)return;let n=e?Vo(e):null;return{cardKey:Ut,left:t.left,top:t.top,anchor:e,offsetX:t.left-(n?.x??0),offsetY:t.top-(n?.y??0),scrollX:window.scrollX,scrollY:window.scrollY}}function da(e){e.dataset.closing||(e.dataset.closing="true",e.inert=!0,e.setAttribute("aria-hidden","true"),aa===e&&(aa=null,clearTimeout(Cn)),w()?e.remove():e.animate([{opacity:getComputedStyle(e).opacity,translate:"0px 0px",scale:1},{opacity:0,translate:"true"===e.dataset.attached?`0px ${("above"===e.dataset.placement?1:-1)*(e.offsetHeight/2+10)}px`:"0px 3px",scale:"true"===e.dataset.attached?.94:.99}],{duration:150,easing:"cubic-bezier(.22,1,.36,1)",fill:"forwards"}).finished.catch(()=>{}).finally(()=>e.remove()))}function ca(e,t,n=la()){Zn.textContent=e,aa&&da(aa);let i=$("div","toast floating-notice");aa=i,n&&ia.set(i,n),i.setAttribute("role",t?"alertdialog":"status"),i.setAttribute("aria-label",e),i.append(E("info"),$("span","",e)),t&&i.append(z(t.label,()=>{da(i),t.run()},"notice-action")),i.append(z("Dismiss notice",()=>da(i),"icon","close")),Ln.append(i),pa(),sa(),w()||i.animate([{opacity:0,translate:"true"===i.dataset.attached?`0px ${("above"===i.dataset.placement?1:-1)*(i.offsetHeight/2+10)}px`:"0px 6px",scale:"true"===i.dataset.attached?.94:.97},{opacity:1,translate:"0px 0px",scale:1}],{duration:250,easing:"cubic-bezier(.22,1,.36,1)"}),clearTimeout(Cn),Cn=window.setTimeout(()=>da(i),5e3)}function pa(){for(let e of Ln.querySelectorAll(".floating-notice")){let t=ia.get(e);if(!t)continue;let n=t.anchor?Vo(t.anchor):null,i=(Je||Ut!==t.cardKey?null:Rn.firstElementChild)?.getBoundingClientRect();i&&(e.style.maxWidth=`${Math.min(360,i.width,innerWidth-24)}px`,t.left=i.left,t.top=i.top,t.offsetX=i.left-(n?.x??0),t.offsetY=i.top-(n?.y??0),t.scrollX=window.scrollX,t.scrollY=window.scrollY);let a=i?i.left+(i.width-e.offsetWidth)/2:n?n.x+t.offsetX:t.left+t.scrollX-window.scrollX,o=!!i&&i.bottom+10+e.offsetHeight>innerHeight-12;e.dataset.placement=o?"above":"below";let r=i?o?i.top-e.offsetHeight-10:i.bottom+10:n?n.y+t.offsetY:t.top+t.scrollY-window.scrollY,s=String(!!i),l=void 0!==e.dataset.attached&&e.dataset.attached!==s,d=l?e.getBoundingClientRect():null,c=ra.get(e);if(c&&(l||Math.abs(c.left-a)>.5||Math.abs(c.top-r)>.5)&&(c.animation.cancel(),ra.delete(e)),e.dataset.attached=s,Object.assign(e.style,{left:`${a}px`,top:`${r}px`,bottom:"auto",transform:"none",transformOrigin:i?o?"50% 100%":"50% 0%":"0% 0%"}),d&&!e.dataset.closing&&!w()){let t=e.animate([{left:`${d.left}px`,top:`${d.top}px`},{left:`${a}px`,top:`${r}px`}],{duration:250,easing:"cubic-bezier(.22,1,.36,1)"});ra.set(e,{animation:t,left:a,top:r})}}}function ua(e){De||e instanceof DOMException&&"AbortError"===e.name||(vt=e instanceof Error?e.message:"Something went wrong. Try again.",ca(vt))}function ha(e){e().catch(ua)}function ma(e,t){return t.then(t=>{e.isConnected&&e.replaceWith(t)}).catch(ua),e}function ga(e){return ma($("section","account-usage"),import("./onboarding-DRNGWOJ6.js").then(({accountUsage:t})=>t(He,e,!0,Me&&"local"===Oe)))}function fa(){ha(Rt?ya:jr)}let ba,xa,wa=e=>e.map(e=>({...e,comments:e.comments.filter(e=>"[Comment deleted]"!==e.body)})).filter(e=>e.comments.length>0),va=-1;async function ya(){if(De||Ze||pt.busy||R.onboarding)return;let e=pt.revision,t=He,i=t.token,a=et;Ze=!0;try{let n=await t.list();if(De||t!==He||a!==et||i!==t.token||pt.busy||e!==pt.revision)return;if(n===xa&&e===va&&"Live"===wt)return!1;xa=n,va=e,Qe=!0;let o=wa(n),r=JSON.stringify(o)!==JSON.stringify(nt),s="Live"!==wt;return Tt="",Rt&&(_t=null),wt=_t?"Offline":"Live",it&&!o.some(e=>e.id===it)&&(it=null),r?pt.replace(o,e):s&&(ko(),Za()),r}catch(o){if(De||t!==He||a!==et||o instanceof DOMException&&"AbortError"===o.name)return;throw i!==t.token&&Vi(),o instanceof n&&(401===o.status||403===o.status)&&"site_not_approved"!==o.code&&(Tt=o.message,it=null,xa=void 0,pt.replace([],e)),_t=Tt?null:de(o),wt="Offline",ko(),Za(),o}finally{t===He&&a===et&&(Ze=!1)}}function ka(){!Ue&&$e&&($e=!1,en=Qt,Bi()),ke!==Ue&&(!Ue||ge&&!ve&&"edge"===we)&&(ke=Ue,ve?we="edge":Ni(Ue?"background":"edge",!0))}let Sa=()=>Fe&&!ye&&!ve&&!ke;function Ca(e){if(st(),tr(),R.onboarding)return;Ue&&(Ue=!1,dt?.setActive(!1),ka()),Ye=e,Fe&&!Sa()&&Xa(!1);let t=e?Nt??Xt.shift():null;if(t)return at=t.anchor,gn=t.text,Nt=null,it=null,Je=!1,Ie=!1,sr(),void Rn.querySelector("textarea")?.focus();Ie=e,ba?.wake(!1),Ne=!1,Je=!1,e&&(it=null,at=null),sr()}function $a(){Ve&&(Ve=!1,Xa(tt??!0),tt=null,requestAnimationFrame(()=>{let e=Pn.querySelector(".list");e&&(e.scrollTop=Ke),(Ln.querySelector('.dialog [aria-label="Comment actions"]')??Ln.querySelector('[data-menu-item="design"]'))?.focus({preventScroll:!0})}))}function Ea(e){R.onboarding||at||e&&!Q||(e&&(tt=null,it||dt?.setReturnAction(null),Ve=!0,Fe&&(Ke=Pn.querySelector(".list")?.scrollTop??0),Ca(!1),Ue=!0,ze=!1,ka(),Fe||Xa(!0),Je=!1,Pn.querySelector(".panel")?.contains(Ln.activeElement)&&Pn.focus({preventScroll:!0})),Ue=e,e?Go().then(e=>e?.setActive(Ue)):(dt?.setActive(!1),ka(),$a()),sr())}let za,ja=0,Aa=1,La="",Ma=()=>(window.visualViewport?.offsetTop??0)+Math.min(window.innerHeight,window.visualViewport?.height??window.innerHeight)-window.innerHeight;function Ta(){for(let e of pi.values())e();pi.clear(),si(),di(),ci()}function _a(){let e=ta(),t=se(window.innerWidth,window.innerHeight)?Math.min(window.innerHeight,window.visualViewport?.height??window.innerHeight):window.innerHeight,n=`${window.innerWidth}:${window.innerHeight}:${t}:${e}:${Fe}:${Je}:${we}:${Ue}:${window.visualViewport?.offsetTop??0}`;if(La===n)return;if(ve||Yi(),La=n,An.style.zoom=String(1/e),An.style.width=`${window.innerWidth}px`,_n.style.opacity="",ye||ve){yi?.cancel(),wi=!1;let n=xi?me.scrollTop*e:null;if(xi&&(Ta(),Aa=1),null!==n&&window.scrollTo({top:n,behavior:"instant"}),An.style.height=ve?`${window.innerHeight}px`:"",An.style.top=ve?"":"0px",ve){let e=Ma();qn.style.translate=`0 ${e}px`,An.style.setProperty("--mobile-panel-height",`${Math.max(1,.9*t)}px`),An.style.setProperty("--mobile-panel-bottom",-e+"px")}return An.classList.toggle("review-open",Fe),xi=!1,mi(),_n.style.clipPath="",void Object.assign(Tn.style,{left:"",top:"",width:"",height:""})}let i=xi?me.scrollTop:window.scrollY/(e*Aa),a=xi,o=xi?me.getBoundingClientRect():{left:0,top:0,width:window.innerWidth};yi?.cancel(),wi=!1;let r=le(window.innerWidth,t,Fe,window.innerHeight,Je,!0,!0===R.frame?.scale),s=r.framed;if(An.style.setProperty("--review-viewport-height",`${t}px`),An.style.height=`${t}px`,An.style.top="",An.classList.toggle("review-open",Fe),An.classList.toggle("design-active",Ue),s){Aa=r.scale;let t=Aa*e;Object.assign(me.style,{position:"fixed",transform:R.frame?.scale?`scale(${Aa})`:oi.transform,transformOrigin:"top left",left:r.left/e+"px",top:r.top/e+"px",width:(R.frame?.scale?window.innerWidth:r.visibleWidth)/e+"px",boxSizing:"border-box",height:r.height/t+"px",paddingBottom:oi.paddingBottom,zoom:oi.zoom,overflow:R.frame?.scale?"hidden auto":"auto",borderRadius:12/t+"px",background:vi});for(let e of me.querySelectorAll("header"))!pi.has(e)&&"fixed"===getComputedStyle(e).position&&(pi.set(e,O(e,["position","margin-bottom"])),e.style.position="sticky",e.style.marginBottom=`-${e.offsetHeight}px`);ii.style.overflow="hidden",document.body.style.overflow="hidden",ii.style.background=document.body.style.background="#080808",me.scrollTop=i}else Ta(),xi&&window.scrollTo({top:i*e,behavior:"instant"}),Aa=1;if(xi=s,mi(),!s&&R.drawerContainer?.isConnected){let e=R.drawerContainer.getBoundingClientRect();Ai=e.width?e.left+e.width/2:void 0}if(!(s===a||!0!==R.frame?.scale||Si||Ii||Ci||w())){let t=s?me.getBoundingClientRect():{left:0,top:0,width:window.innerWidth},n=`translate(${(o.left-t.left)/e}px, ${(o.top-t.top)/e}px) scale(${Aa*o.width/t.width})`;if(me.style.transformOrigin=s?"top left":`0 ${i}px`,!s){ii.style.background=document.body.style.background="#080808",me.style.background=vi;let t=getComputedStyle(me).minHeight;me.style.minHeight=`max(${"auto"===t?"0px":t}, ${window.innerHeight/e}px)`}_n.style.opacity="0",wi=!0,yi=me.animate([{transform:n},{transform:`translate(0px, 0px) scale(${Aa})`}],{duration:250,easing:"cubic-bezier(0.32, 0.72, 0, 1)"});let a=yi;a.finished.then(()=>{De||yi!==a||(a.cancel(),yi=void 0,wi=!1,xi||Ta(),_n.style.opacity="",mi(),hi.reposition(),ur())}).catch(()=>{})}_n.style.clipPath=s?`inset(${r.visibleTop}px ${r.right}px ${r.bottom}px ${r.visibleLeft}px)`:"",Object.assign(Tn.style,s?{left:`${r.visibleLeft}px`,top:`${r.visibleTop}px`,width:`${r.visibleWidth}px`,height:`${r.visibleHeight}px`}:{left:"",top:"",width:"",height:""})}function Ra(){"true"!==qn.dataset.edgeTabs&&(za=ai(qn,["left","top","bottom","transform"])),Object.assign(qn.style,{left:"",top:"",bottom:"",transform:""}),qn.parentElement!==Pn&&Pn.append(qn),qn.dataset.edgeTabs="true",Fe?qn.dataset.edgeOrient="horizontal":delete qn.dataset.edgeOrient}function qa(){"true"===qn.dataset.edgeTabs&&(Object.assign(qn.style,za),za=void 0),delete qn.dataset.edgeTabs,delete qn.dataset.edgeOrient,qn.parentElement===Pn&&Zn.before(qn)}function Pa(){return!it||Je||at||!Fe||ve||Ue||R.onboarding?null:Pn.querySelector(".panel")}function Wa(){return qn.querySelector(".morphing-menu__shell")??qn}function Oa(){return qn.querySelector(".morphing-menu")}function Ha(){return[...Pn.querySelectorAll(".panel-head, .panel .empty, .thread-card")]}function Ba(e){return Mi.push(e),e}function Da(){for(let e of Ha())Object.assign(e.style,{opacity:"",transform:"",filter:""});Ki.style.opacity=""}function Fa(e,t){for(let e of Pn.getAnimations())e.cancel();Object.assign(Pn.style,{transition:"none",transform:"none",translate:"none",opacity:"1",left:`${e.left}px`,top:`${e.top}px`,width:`${e.width}px`,height:`${e.height}px`,borderRadius:t})}function Ia(){Object.assign(Pn.style,{width:"",height:"",borderRadius:"",transform:"",opacity:""}),ye&&Bi(),Pn.offsetWidth,Pn.style.transition=""}function Ya(e=Oa()){delete Pn.dataset.morphing,delete qn.dataset.edgeSurface,delete qn.dataset.edgeMorph,delete qn.dataset.hidden,e&&(e.style.transition="")}function Na(e=!1){Ti+=1;for(let e of Mi)e.stop();Mi=[];let t=_i;_i=!1,e&&Pn.toggleAttribute("data-tips-ready",Fe),e&&t&&(Ya(),qa(),Da(),Ia())}function Xa(e){!e&&ot&&!ot.opened&&st(),e!==Fe&&tr(),Yi();let t=e&&!Fe;if(Fe=e,Ci||ba?.wake(t),delete Pn.dataset.tipsReady,Pn.toggleAttribute("data-tips-restored",Ci),R.onboarding||$i.set(e),e&&(Ie=!1),e||(clearTimeout(ki),ki=0,Je=!1,Bo=Do="",Io()),ve)return cancelAnimationFrame(ja),function(){let e=Math.max(1,.9*Math.min(window.innerHeight,window.visualViewport?.height??window.innerHeight)),t=Ma(),n=Wa().getBoundingClientRect();An.style.setProperty("--mobile-pill-x",n.left+n.width/2-window.innerWidth/2+"px"),An.style.setProperty("--mobile-pill-y",n.bottom-(window.innerHeight+t-6)+"px"),An.style.setProperty("--mobile-pill-scale-x",String(Math.max(.01,n.width/Math.max(1,window.innerWidth-24)))),An.style.setProperty("--mobile-pill-scale-y",String(Math.max(.01,n.height/e)))}(),!t||Ci||w()?delete An.dataset.mobileEntering:An.dataset.mobileEntering="",Ne=!1,_a(),sr(),Qi.show(),Qi.update(),void(void 0!==An.dataset.mobileEntering&&(ja=requestAnimationFrame(()=>{delete An.dataset.mobileEntering})));if(ye){let t=_i,n=e?Wa().getBoundingClientRect():null;e||delete qn.dataset.edgeOrient,Lt=e?Lt:Mt,ji=void 0,Ne=!1,_i=!0;let i=Oa();return i&&(i.style.transition="none"),Qi.show(),_a(),sr(),function(e,t,n){let i=Pn.getBoundingClientRect(),a=e?null:{left:i.left,top:i.top,width:i.width,height:i.height,radius:Pn.style.borderRadius||"16px"};Na(!1),a&&Fa(a,a.radius);let o=Ti;_i=!0;let r=Oa();r&&(r.style.transition="none");let b=function(){return qn.querySelector(".morphing-menu__bar")}(),x=Wa(),v=!1,y=()=>{v||o!==Ti||De||(v=!0,_i=!1,Ya(r),e||(Da(),Pn.style.opacity="0",qa()),Ia(),e&&(Pn.dataset.tipsReady=""))},k=Ci||w();if(e){let e=t?Pn.getBoundingClientRect():null,i=Pn.style.borderRadius||"16px";Pn.style.transition="none",Pn.style.width="",Pn.style.height="",Pn.style.borderRadius="",Pn.style.transform="none";let a=x.getBoundingClientRect(),r=!t&&n&&n.width>0?n:a;!t&&r.width>0&&(Ri={left:r.left,top:r.top,width:r.width,height:r.height}),Ra(),delete Pn.dataset.morphing,Bi();let d=Pn.getBoundingClientRect();if(Pn.dataset.morphing="true",k||r.width<=0||d.width<=0||t&&!e)return void y();let p=r.height/2+"px";t&&e?Fa(e,i):Fa(r,p),Ha().forEach((e,t)=>{e.style.opacity="0",e.style.transform="translateY(48px)",e.style.filter="blur(4px)",Ba(f(e,{opacity:1,y:0,filter:"blur(0px)"},{...c,delay:u+t*h}))}),Ki.style.opacity="0",Ba(f(Ki,{opacity:1},{...c,delay:u}));let w=()=>{if(o!==Ti||De)return;delete Pn.dataset.morphing;let e=Pn.getBoundingClientRect();Ba(f(Pn,{left:[`${e.left}px`,`${d.left}px`],top:[`${e.top}px`,`${d.top}px`],width:[`${e.width}px`,`${d.width}px`],height:[`${e.height}px`,`${d.height}px`],borderRadius:[Pn.style.borderRadius||"16px","16px"]},s)).finished.then(y).catch(()=>{o===Ti&&y()})};if(t||r.height>r.width+8)return void w();let v=m(b?.offsetWidth||r.width,b?.offsetHeight||r.height),S=g(r.left+r.width/2,r.top+r.height,v.width,v.height),C=Pn.getBoundingClientRect();return void Ba(f(Pn,{left:[`${C.left}px`,`${S.left}px`],top:[`${C.top}px`,`${S.top}px`],width:[`${C.width}px`,`${S.width}px`],height:[`${C.height}px`,`${S.height}px`]},l)).finished.then(w).catch(()=>{})}let S=a??Pn.getBoundingClientRect(),C=a?.radius||Pn.style.borderRadius||"16px";delete qn.dataset.hidden,Pn.dataset.morphing="true",Ra();let $=qn.getBoundingClientRect(),E=Ri??{left:(window.innerWidth-($.width||228))/2,top:window.innerHeight-24-($.height||52),width:$.width||228,height:$.height||52};if(k||E.width<=0||S.width<=0)y();else{Fa(S,C);for(let e of Ha())Ba(f(e,{opacity:0,y:16,filter:"blur(2px)"},p));Ba(f(Ki,{opacity:0},p)),Ba(f(Pn,{left:[`${S.left}px`,`${E.left}px`],top:[`${S.top}px`,`${E.top}px`],width:[`${S.width}px`,`${E.width}px`],height:[`${S.height}px`,`${E.height}px`],borderRadius:[C,E.height/2+"px"]},d)).finished.then(y).catch(()=>{o===Ti&&y()})}}(e,t,n),void Qi.update()}let n=qn.getBoundingClientRect();Lt=e?void 0:Mt,ji=void 0,Ne=!1,_a(),sr(),zi?.stop(),qn.style.translate="0px 0px";let i=qn.getBoundingClientRect();!Ci&&!w()&&(zi=f(qn,{translate:[`${n.left-i.left}px ${n.top-i.top}px`,"0px 0px"]},{type:"spring",stiffness:680,damping:32,mass:.55})),Qi.show(),Qi.update()}function Ua(){if(st(),tr(),Ye=!1,clearTimeout(ki),ki=0,Je)return ha(zt),yn=null,Je=!1,void sr();it=null,at=null,Je=!1,wn=null,vt="",Ie=!1,sr()}function Va(){Ve=!1,Ue=!1,dt?.setActive(!1),ka(),Ua(),Fe&&Xa(!1),Ie=!1,Ye=!1,Ne=!0,Xe=!0;try{sessionStorage.setItem(Ei,"1")}catch{}sr()}function Ka(){Xe=!1,Ne=!1;try{sessionStorage.removeItem(Ei)}catch{}sr()}function Ja(e,t=!1){if(t||st(),tr(),kn=!!Ln.activeElement?.matches(":focus-visible")&&Pn.contains(Ln.activeElement),Ye=!1,clearTimeout(ki),ki=0,e.page!==na()&&!t){let t=new URL(e.page,location.origin);return t.searchParams.set("comment",e.id),void xr(t)}t||(rt.delete(e.id),ot={id:e.id,inspect:!1,pending:!1,rejected:!1,opened:!0}),Nn=In!==e.id||Hn.hidden?null:Hn.getBoundingClientRect(),Nn&&Un(!0),it=e.id,at=null,Je=!1,wn=null,vt="",Ie=!1;let n=ve&&Fe;n&&Xa(!1);let i=lt(e)?Vo(e.anchor):null;i?.attached&&!Nn&&(n||!ve)&&(xi?me:window).scrollBy({top:(i.y-.35*(n?Math.min(window.innerHeight,window.visualViewport?.height??window.innerHeight):window.innerHeight))/(xi?Aa*ta():1),behavior:n&&!w()?"smooth":"instant"}),sr()}function Ga(){return nt.filter(e=>(bt||e.page===na())&&("all"===gt||e.resolved===("resolved"===gt))&&(!ft||!!e.tags?.includes(ft))&&(!xt||e.comments.some(e=>`${e.body} ${e.author.name}`.toLowerCase().includes(xt.toLowerCase()))||e.page.toLowerCase().includes(xt.toLowerCase()))).sort((e,t)=>t.updatedAt-e.updatedAt)}function Za(){qn.style.display=Xe?"none":"",Qi.update();let{dockCenter:e}=le(window.innerWidth,window.innerHeight,Fe);if(ve)qa(),Object.assign(qn.style,{left:"50%",top:"auto",bottom:"calc(16px + env(safe-area-inset-bottom,0px))",transform:"translateX(-50%)"});else if(ye)_i||(delete qn.dataset.hidden,Fe?Ra():(qa(),Lt&&qi(Lt)),Bi());else{delete qn.dataset.hidden;let t=!Fe&&R.drawerContainer?.isConnected?R.drawerContainer.getBoundingClientRect():void 0;t?.width&&!wi&&(Ai=t.left+t.width/2);let n=qn.offsetWidth/2,i=t?.width&&void 0!==Ai?Math.max(16+n,Math.min(window.innerWidth-16-n,Ai)):e;if(Lt)qi(Lt);else if(i!==ji){let e=qn.getBoundingClientRect(),t=e.left+e.width/2;zi?.stop(),qn.style.top="",qn.style.bottom="",qn.style.left=`${i}px`,qn.style.translate="0px 0px",void 0!==ji&&!w()&&(zi=f(qn,{translate:[`${t-i}px ${e.top-qn.getBoundingClientRect().top}px`,"0px 0px"]},{type:"spring",stiffness:680,damping:32,mass:.55})),ji=i}}let t=e=>({glyph:e}),n=[{id:"browse",label:qe("Browse website",G.browse),icon:t("pointer"),onSelect:()=>Ca(!1)},{id:"comment",label:qe("Add comment",G.comment),icon:t("comment"),onSelect:()=>Ca(!Ye)},...Q?[{id:"design",label:qe("Design mode",G.design),icon:t("design"),onSelect:()=>Ea(!Ue)}]:[],{id:"comments",label:R.onboarding?Fe?"Close project sidebar":"Project settings":`${qe(Fe?"Close comment sidebar":"View all comments",G.comments)}${Fe?"":` · ${nt.filter(e=>!e.resolved).length} open`}`,icon:t("expand"),onSelect:()=>Xa(!Fe)},{id:"account",expandedOrder:-1,label:He.user?`${He.user.name} · Account`:R.onboarding?.inProject?"Set up inline feedback":"Enter your name",icon:{user:He.user},onSelect:()=>{Je||ki?(clearTimeout(ki),ki=0,Je=!1,sr()):Xo()}},{id:"copy-prompts",keepOpenOnSelect:!0,label:"all"===oo?"Copied prompt":"Copy all comments for agent",icon:t("all"===oo?"check":"copy"),showInBar:!1,onSelect:()=>ha(()=>so("all"))},...!ge||ve||Ue?[]:[{id:"layout",label:"edge"===we?"Frame view":"Floating view",icon:t("expand"),showInBar:!1,onSelect:()=>Ni("edge"===we?"background":"edge")}],{id:"dismiss",label:G.restore?`Dismiss inline feedback · ${G.restore.label} to restore`:"Dismiss inline feedback",icon:t("close"),onSelect:Va},{id:"visibility",label:Ne?"Show comment pins":"Hide comment pins",icon:t("comment"),showInBar:!1,onSelect:()=>{Ne=!Ne,ao(),Za()}}];"Offline"===wt&&n.push({id:"retry",label:`${_t?.title??"Offline"} · Retry`,icon:t("info"),showInBar:!1,onSelect:fa}),Qn.render({items:R.onboarding?n.filter(e=>"account"===e.id||"comments"===e.id):n,alignEnd:(!Fe||!ye)&&!!Lt&&Lt.y>window.innerHeight/2,edge:Fe&&ye?"bottom":Lt?.edgeX??Lt?.edgeY??(Lt&&Lt.y<window.innerHeight/2?"top":"bottom"),activeId:Je?"account":Ue?"design":Ye?"comment":Fe?"comments":"browse",label:"Website review",moreLabel:"More review tools"})}let Qa="",eo=new Set;function to(e,t){let n=e.querySelector(".page");if(!n)return;let i=new URL(t.page,location.origin).href;n.textContent=t.page!==na()?t.page:"",n.title=i,n.parentElement.hidden=!n.textContent;let a=e.querySelector(".card-status");a.textContent=t.resolved?"Resolved":eo.has(t.id)?"Not found on page":"",a.hidden=!a.textContent,e.querySelector(".thread-card").setAttribute("aria-description",[i,a.textContent].filter(Boolean).join(" · "))}let no=!1,io=0;function ao(e=!1){if(Ne&&tr(),Ht||no&&!e)return;if(Ne)return Qa="",Un(),void _n.replaceChildren();let t=na(),n=nt.filter(e=>!(e.page!==t||e.resolved||ft&&!e.tags?.includes(ft))),i=function(){let e=new Map,t=new Map,n=new WeakMap,i=new WeakMap,a=(e,t,a)=>{let o=t.context,r=[pe(t.text),o.tag,o.role,o.label,o.nearby],s=JSON.stringify([a,o.tag,r.map(Boolean)]),l=n.get(e);l||n.set(e,l=new Map);let d=l.get(s),c=e=>JSON.stringify(e.map((e,t)=>r[t]?e:null));if(!d){l.set(s,d=new Map);for(let t of a?e.querySelectorAll(o.tag):e.children){let e=i.get(t);e||i.set(t,e=[ue(t),t.tagName.toLowerCase(),t.getAttribute("role")||"",be(t),xe(t)]);let n=c(e),a=d.get(n);a?a.push(t):d.set(n,[t])}}return d.get(c(r))??[]},o=t=>(e.has(t)||e.set(t,Ee(t,void 0,a)),e.get(t)??null);return{resolve:o,locate:e=>(t.has(e)||t.set(e,Ae(e,o(e))),t.get(e))}}(),a=function(e,t){let n=new Map;for(let i of e){if(i.resolved||i.anchor.unstacked)continue;let e=t(i);if(null===e)continue;let a=n.get(e)??[];a.push(i),n.set(e,a)}let i=new Map;for(let e of n.values())if(!(e.length<2)){e.sort((e,t)=>e.createdAt-t.createdAt||e.id.localeCompare(t.id));for(let t of e)i.set(t.id,e)}return i}(n,e=>i.resolve(e.anchor)),o=n.map(e=>{let t=i.locate(e.anchor);if(t.y<-t.height-40||t.y>window.innerHeight+40)return{thread:e,rect:t,blocked:!1};let n=i.resolve(e.anchor),a=Ko(t.x+8,t.y-10);return{thread:e,rect:t,blocked:!(!n||!a||n.contains(a)||a.contains(n))}});for(let{thread:e,rect:t}of o){if(eo.has(e.id)===!t.attached)continue;t.attached?eo.delete(e.id):eo.add(e.id);let n=Ln.querySelector(`.thread-item[data-thread="${CSS.escape(e.id)}"]`);n&&to(n,e)}let r=JSON.stringify([it,at&&i.locate(at),o.map(({thread:e,rect:t,blocked:n})=>[e.id,t,n,q(t,window.innerWidth)])]);if(r===Qa)return;Qa=r,ln?.isPreviewing(Xn)||Un();let s=new Map(Array.from(_n.querySelectorAll(".pin-stack"),e=>[e.dataset.stack,e.scrollLeft]));_n.replaceChildren();let l=new Map,d=new Map(o.map(e=>[e.thread.id,e]));for(let{thread:e,rect:t,blocked:n}of o){if(!t.attached)continue;let i=a.get(e.id),o=i&&d.get(i[0].id),r=o?.rect.attached?o:{rect:t,blocked:n};if(r.rect.y<-r.rect.height-40||r.rect.y>window.innerHeight+40||r.blocked)continue;let s=nt.indexOf(e)+1;if(t.width&&t.height){let n=$("div","area");Object.assign(n.style,{left:`${t.x}px`,top:`${t.y}px`,width:`${t.width}px`,height:`${t.height}px`,opacity:e.id===it?"1":".45"}),_n.append(n)}let c=z(`Comment ${s}: ${mn(e.comments[0]?.body??"").slice(0,100)}`,()=>Ja(e),`pin${e.id===it?" active":""}${e.id===Ho?" hot":""}${e.resolved?" resolved":""}${t.attached?"":" detached"}`);if(c.textContent="",c.title="",e.comments[0]){let t=e.comments[0].author;x(c,t.accentColor),c.append(L(t));let n=c.querySelector("img");n&&(n.draggable=!1)}if(e.resolved){let e=$("span","pin-check");e.append(E("check")),c.append(e)}let p=()=>{if(it||at||Ie||Ht||Gt||Dn)return;Fn=!1,window.clearTimeout(Bn);let n=Hn.hidden||In!==e.id;Yn?.cancel(),In=e.id,Hn.replaceChildren();let i=e.comments[0];if(!i)return;let a=z("Open comment",()=>Ja(e),"pin-preview-open");a.textContent="";let o=pn.test(i.body),r=$(o?"div":"p","hover-message",mn(i.body));o&&un().then(({renderDesignComment:t})=>t(r,i.body,{key:Xn=`hover:${i.id}`,resolve:t=>lt(e)?hn(e.anchor)(t):null,note:(e,t)=>e.textContent=t,compact:!0})),a.append(So(i)),o?(r.classList.add("pin-preview-card"),r.addEventListener("click",t=>{t.target.closest(".design-toggle")||Ja(e)})):a.append(r);let s=z(e.resolved?"Reopen comment":"Resolve comment",()=>{Un(),bo(e)},"icon pin-preview-resolve","check");s.disabled=!fo(),Hn.append(a,...o?[r]:[],s),Hn.hidden=!1;let l=Qo(c,t),d=Fe&&!ve?396:12,p=l.x+20+320>window.innerWidth-d?l.x-340:l.x+20;Object.assign(Hn.style,{left:`${Math.max(12,p)}px`,transformOrigin:l.x<Math.max(12,p)+160?"top left":"top right",top:`${Math.max(12,Math.min(l.y-28,window.innerHeight-Hn.offsetHeight-92))}px`}),n&&!w()&&(Yn=Hn.animate([{opacity:0,transform:"translateY(6px) scale(.97)"},{opacity:1,transform:"none"}],{duration:250,easing:"cubic-bezier(.22,1,.36,1)"}))};if(c.addEventListener("pointerenter",p),c.addEventListener("pointermove",e=>{Dn&&!Ht&&!Gt&&0===e.buttons&&(e.movementX||e.movementY)&&(Dn=!1,p())}),c.addEventListener("focus",p),c.addEventListener("blur",()=>Un()),c.addEventListener("pointerleave",()=>{Bn=window.setTimeout(Un,120)}),c.dataset.thread=e.id,c.dataset.pointer=q(r.rect,window.innerWidth),Object.assign(c.style,{left:`${t.x}px`,top:`${t.y}px`}),i&&o?.rect.attached&&!o.blocked){let t=l.get(i[0].id);if(!t){t=$("div","pin-stack"),t.dataset.stack=i[0].id,t.setAttribute("role","group"),t.setAttribute("aria-label",`${i.length} comments on this component`);let e=Math.min(178,40+22*(i.length-1));Object.assign(t.style,{left:`${Math.max(4,Math.min(o.rect.x-25,window.innerWidth-e-8))}px`,top:o.rect.y-34+"px",maxWidth:`${e}px`}),t.addEventListener("scroll",()=>{Un(),No()}),l.set(i[0].id,t),_n.append(t)}c.style.left="",c.style.top="",c.style.order=String(i.indexOf(e)),c.style.marginLeft=i[0].id===e.id?"0":"-12px",t.append(c)}else _n.append(c)}for(let[e,t]of l)t.scrollLeft=s.get(e)??0;if(at&&at.width>0&&at.height>0){let e=Vo(at),t=$("div","area");Object.assign(t.style,{left:`${e.x}px`,top:`${e.y}px`,width:`${Math.max(8,e.width)}px`,height:`${Math.max(8,e.height)}px`}),_n.append(t)}}let oo=null,ro=0;async function so(e){let t=a(nt,{...R,origin:location.origin,page:"page"===e?na():void 0});t?(await navigator.clipboard.writeText(t),!De&&(oo=e,Zn.textContent="Agent prompt copied",clearTimeout(ro),Za(),ko(),ro=window.setTimeout(()=>{oo=null,Za(),ko()},2e3))):ca("page"===e?"No open comments on this page":"No open comments to copy")}let lo,co=new Set,po="branch-comments:dismissed-tips",uo=[["copy","Copy comments for your agent."]];function ho(){let e=Pn.getBoundingClientRect();for(let t of Pn.querySelectorAll(".sidebar-tip")){let n="copy"===t.dataset.tip,i=Pn.querySelector(n?".copy-page-prompt":'.toolbar [aria-label^="Add comment"]')?.getBoundingClientRect();if(t.hidden=!i?.width,!i?.width)continue;let a=i.left+i.width/2-e.left,o=Math.max(12,Math.min(e.width-12-t.offsetWidth,a-t.offsetWidth/2));t.style.left=`${o}px`,t.style.top=n?i.bottom-e.top+10+"px":i.top-e.top-10-t.offsetHeight+"px",t.style.setProperty("--caret-x",a-o+"px")}}G.comment&&uo.push(["shortcut",`Press ${G.comment.label} to comment.`]);let mo,go=!1,fo=()=>!Ge&&(Yt||!!He.user?.verified);function bo(e,t){if(!(He.user||It&&xn.trim()))return void Xo();let n=it===e.id,i=t=>{let i=it;return n&&(it=t?null:e.id),ht(ut(e.id,e=>({...e,resolved:t,resolvedBy:t?He.user:null})),async n=>{He.user||await He.guest(xn),await He.request(`threads/${n(e.id)}`,"PATCH",{resolved:t})},()=>{it||(it=i)})};ha(()=>i(!e.resolved)),ca(e.resolved?"Comment reopened":"Comment resolved",{label:"Undo",run:()=>ha(()=>i(e.resolved))},t)}let xo,wo=new WeakMap,vo=new Set;function yo(e,t){return e.textContent=t,pn.test(t)&&(e.textContent="Design change",un().then(({summarizeDesignComment:n})=>{e.textContent=n(t)})),e}function ko(){if(R.onboarding){if(lo?.(),Pn.replaceChildren(),R.onboarding.inProject)return;if(Fe){let e=$("aside","panel");e.setAttribute("aria-label","Project settings");let t=$("div","panel-head","Project settings"),n=$("div","empty");n.append($("p","","Leave comments on your connected website."),z("Manage project",()=>{Xo()},"secondary")),e.append(t,n),Pn.append(e)}return}if(!Fe&&(ye||ve))return;let e=Pn.querySelector(".list"),n=e?.scrollTop??0,i="Search comments"===Ln.activeElement?.getAttribute("aria-label"),a=i?Ln.activeElement.selectionStart:null;if(!Fe&&!ye&&!ve)return lo?.(),void Pn.replaceChildren();let o=Pn.querySelector(".panel");if(!o){o=$("aside","panel"),o.setAttribute("aria-label","All comments");let e=$("div","panel-head"),t=$("div","row between sidebar-title"),n=$("div","filter-slot"),i=$("div","row"),a=e=>{let t=o.querySelector(".sidebar-search-field"),n=i.querySelector('[aria-label="Search comments"]'),a=(e?n:t).getBoundingClientRect();Li=e,e||(xt="",t.querySelector("input").value=""),ko();let r=(e?t:n).getBoundingClientRect();w()||t.animate(e?[{transform:`translate(${a.left-r.left}px, ${a.top-r.top}px)`,width:`${a.width}px`,height:`${a.height}px`,borderRadius:"50%",opacity:.4},{transform:"none",width:`${r.width}px`,height:`${r.height}px`,borderRadius:"10px",opacity:1}]:[{transform:"none",opacity:1},{transform:`translate(${r.left-a.left}px, ${r.top-a.top}px) scale(.2)`,opacity:0}],{duration:280,easing:"cubic-bezier(.22,1,.36,1)"}),e?t.querySelector("input")?.focus():n.focus()};i.append(z("Copy page comments",()=>"resolved"===gt?function(e){if(!go||pt.busy)return;let t=Ga().filter(e=>e.resolved).map(e=>e.id);if(!t.length)return;let n=$("div","cleanup-confirm");n.popover="auto",n.setAttribute("role","alertdialog"),n.setAttribute("aria-label","Delete resolved comments permanently"),n.append($("strong","",`Delete ${t.length} resolved ${1===t.length?"thread":"threads"}?`),$("p","","Their replies will be deleted too. This can’t be undone."));let i=$("div","cleanup-actions"),a=()=>{n.hidePopover(),e.focus({preventScroll:!0})};i.append(z("Cancel",a,"secondary"),z("Delete permanently",()=>{a(),ha(async()=>{try{for(let e=0;e<t.length;e+=250){let n=t.slice(e,e+250),i=new Set(n);await pt.submit(e=>e.filter(e=>!i.has(e.id)),async()=>{await He.request("project/clear-resolved","POST",{confirm:R.project,threadIds:n})})}}finally{await ya()}})},"secondary destructive")),n.append(i),Pn.append(n),n.addEventListener("toggle",()=>{n.matches(":popover-open")||n.remove()}),n.showPopover();let o=e.getBoundingClientRect();n.style.left=`${Math.max(12,Math.min(o.right-n.offsetWidth,innerWidth-n.offsetWidth-12))}px`,n.style.top=`${Math.max(12,Math.min(o.bottom+8,innerHeight-n.offsetHeight-12))}px`,i.querySelector("button")?.focus()}(o.querySelector(".copy-page-prompt")):ha(()=>so("page")),"icon copy-page-prompt","copy"),$("div","tag-filter-slot"),z("Search comments",()=>a(!0),"icon sidebar-search-trigger","search"),z("Close sidebar",()=>Xa(!1),"icon","close"));let r=$("div","sidebar-selector");r.append(n,$("div","scope-slot")),t.append(r,i);let s=$("div","sidebar-search"),l=$("div","sidebar-search-inner"),d=$("div","sidebar-search-row"),c=$("div","sidebar-search-field"),p=$("input");p.type="search",p.placeholder="Search",p.setAttribute("aria-label","Search comments"),p.addEventListener("input",()=>{xt=p.value,ko()}),p.addEventListener("keydown",e=>{"Escape"===e.key&&(e.stopPropagation(),u())}),c.append(E("search"),p);let u=()=>a(!1);c.append(z("Close search",u,"icon search-cancel","close")),d.append(c),l.append(d),s.append(l),e.append(t,s);let h=$("div","morphing-menu__tooltip sidebar-tooltip");h.setAttribute("aria-hidden","true"),Ln.append(h);let m=0,g=0,f=()=>{clearTimeout(m),h.dataset.open&&(delete h.dataset.open,g=Date.now()+300)};lo=()=>{clearTimeout(m),h.remove(),lo=void 0};let b=e=>{clearTimeout(m);let t=()=>{if(!e.isConnected)return;let t=e.getBoundingClientRect();h.textContent=e.ariaLabel;let n=h.offsetWidth/2;h.style.left=`${Math.max(8+n,Math.min(innerWidth-8-n,t.left+t.width/2))}px`,h.style.top=`${t.bottom+8}px`,h.dataset.open="true"};h.dataset.open||Date.now()<g?t():m=window.setTimeout(t,400)};for(let e of i.querySelectorAll("button"))e.removeAttribute("title"),e.addEventListener("pointerenter",t=>{"mouse"===t.pointerType&&b(e)}),e.addEventListener("pointerleave",f),e.addEventListener("focus",()=>b(e)),e.addEventListener("blur",f);i.addEventListener("pointerdown",f),o.append(e),Pn.append(o)}let r=o.querySelector(".copy-page-prompt");if("resolved"===gt&&mo!==He.token){mo=He.token,go=!1;let e=mo;e&&He.request("project").then(()=>{He.token===e&&(go=!0,ko())}).catch(()=>{})}let s="resolved"===gt;r.disabled=s&&(!go||pt.busy||!Ga().length),r.classList.toggle("destructive",s);let l=s?"trash":"page"===oo?"check":"copy";if(r.dataset.glyph!==l){let e=r.querySelector("svg:not([data-leaving])"),t=E(l),n=void 0!==r.dataset.glyph&&!w();if(r.dataset.glyph=l,n&&e){e.setAttribute("data-leaving","true"),r.append(t);let n={duration:200,easing:"cubic-bezier(.22,1,.36,1)"},i={opacity:0,transform:"scale(.7)",filter:"blur(2px)"},a={opacity:1,transform:"scale(1)",filter:"blur(0px)"};e.animate([a,i],{...n,fill:"forwards"}).finished.then(()=>e.remove()).catch(()=>e.remove()),t.animate([i,a],n)}else r.replaceChildren(t)}r.setAttribute("aria-label",s?go?"Delete resolved comments permanently":"Project owner only":"page"===oo?"Copied prompt":"Copy page comments"),o.dataset.search=String(Li),o.querySelector(".filter-slot").inert=Li,o.querySelector(".scope-slot").inert=!Li,o.querySelector(".sidebar-search-trigger").inert=Li,o.querySelector(".sidebar-search").inert=!Li;let d=o.querySelector(".filter-slot"),c=ne?[...new Set(nt.flatMap(e=>e.tags??[]))].sort():[];ft&&!c.includes(ft)&&(ft=""),d.dataset.value!==gt&&(d.dataset.value=gt,d.replaceChildren(t("Filter comments",[["open","Comments"],["all","All comments"],["resolved","Resolved"]],gt,e=>{gt=e,ko(),ao()})));let p=o.querySelector(".tag-filter-slot"),u=`${ft} ${c}`;if(p&&p.dataset.value!==u&&(p.dataset.value=u,p.replaceChildren(),c.length)){let e=ft?`Filtered by #${ft}`:"Filter by tag",n=t(e,[["","All tags"],...c.map(e=>[e,`#${e}`])],ft,e=>{ft=e,ko(),ao()}),i=n.querySelector("summary");i.className="icon tag-filter-trigger"+(ft?" active":""),i.setAttribute("aria-label",e),i.title=e,i.replaceChildren(E("tag")),p.append(n)}let h=o.querySelector(".scope-slot");h.dataset.value!==String(bt)&&(h.dataset.value=String(bt),h.replaceChildren(t("Comment pages",[["page","This page"],["all","All pages"]],bt?"all":"page",e=>{bt="all"===e,ko()})));let m=!ve&&!Ci&&!w(),g=new Map;if(m&&e){let t=e.getBoundingClientRect();for(let n of e.querySelectorAll("[data-thread]")){let e=n.getBoundingClientRect();e.bottom>=t.top&&e.top<=t.bottom&&g.set(n.dataset.thread,e.top)}}let f=$("div","list"),b=Ga();b.length>40&&(f.dataset.long="");let x=!Qe&&"Connecting"===wt;f.setAttribute("aria-busy",String(x)),clearTimeout($n),f.addEventListener("scroll",()=>{f.dataset.scrolling="true",clearTimeout($n),$n=window.setTimeout(()=>{delete f.dataset.scrolling},800)},{passive:!0});for(let e of b){let t=e.comments[0];if(!t)continue;let n=wo.get(e);if(n){n.querySelector(".thread-card").classList.toggle("active",it===e.id),n.querySelector(".card-resolve").disabled=!fo(),n.querySelector("small").textContent=j(t.createdAt),n.querySelectorAll(".reply-meta").forEach((t,n)=>{let i=e.comments[n+1];t.textContent=`${i.author.name} · ${j(i.createdAt)}`}),to(n,e),f.append(n);continue}let i=z(`Open comment by ${t.author.name}`,()=>Ja(e),"thread-card"+(it===e.id?" active":""));i.replaceChildren();let a=$("div","row");a.append(L(t.author),$("span","author",t.author.name),$("small","",j(t.createdAt)));let o=$("div","card-page-row");o.append(E("link"),$("span","page"));let r=$("span","card-status"),s=yo($("p","preview"),t.body);if(i.append(a,o,r,s),ne&&e.tags?.length){let t=$("div","card-tags");t.setAttribute("role","group"),t.setAttribute("aria-label","Tags");for(let n of e.tags){let e=$("span","card-tag",`#${n}`);e.title=n,t.append(e)}i.append(t)}let l=$("div","thread-item");l.dataset.thread=e.id;let d=z(e.resolved?"Reopen comment":"Resolve comment",()=>bo(e),"icon card-resolve","check");if(d.disabled=!fo(),l.append(i,d),to(l,e),e.comments.length>1){let n=$("div","sidebar-replies");n.id=`replies-${e.id}`,n.setAttribute("role","group"),n.setAttribute("aria-label",`Replies to ${t.author.name}`);let i=`${e.comments.length-1} ${2===e.comments.length?"reply":"replies"}`,a=z(i,()=>{vo.has(e.id)?vo.delete(e.id):vo.add(e.id),o()},"card-reply-toggle");a.replaceChildren(E("comment"),$("span","",i),E("chevron")),a.setAttribute("aria-controls",n.id);let o=()=>{let t=vo.has(e.id);n.hidden=!t,a.setAttribute("aria-expanded",String(t)),a.setAttribute("aria-label",`${t?"Hide":"Show"} ${i}`),a.title=`${t?"Hide":"Show"} ${i}`};o();for(let t of e.comments.slice(1)){let e=$("div","sidebar-reply");e.append(L(t.author));let i=$("div");i.append($("div","reply-meta",`${t.author.name} · ${j(t.createdAt)}`),$("p","",t.body)),e.append(i),n.append(e)}l.append(a,n),l.addEventListener("keydown",t=>{"Escape"!==t.key||!vo.has(e.id)||(t.preventDefault(),t.stopPropagation(),vo.delete(e.id),o(),a.focus({preventScroll:!0}))})}wo.set(e,l),f.append(l)}if(!f.childElementCount){let e=$("div","empty");if(x&&e.setAttribute("role","status"),e.append(E("comment"),$("strong","",Tt?qt?"Private project":"Sign in required":"Offline"===wt&&_t?_t.title:x?"Loading comments…":xt?"No matching comments":"resolved"===gt?"Nothing resolved yet":"No comments yet")),Tt)e.append($("p","",Tt)),He.user?.verified||e.append(z("Sign in",Xo,"secondary"));else if("Offline"===wt&&_t){e.append($("p","",_t.detail));let t=$("div","empty-actions");"site"===_t.kind&&t.append(z("Turn on comments",()=>{let e=new URL("/setup",R.endpoint);e.searchParams.set("workspace",R.project),e.searchParams.set("site",location.origin),window.open(e,"_blank","noopener")},"primary"),z("Copy link",()=>{navigator.clipboard.writeText(location.origin).then(()=>ca("Link copied")).catch(()=>ca(location.origin))},"secondary")),"site"!==_t.kind&&t.append(z("Try again",fa,"secondary")),e.append(t)}else Qe&&!xt&&"resolved"!==gt&&e.append(z("Add a comment",()=>{se(window.innerWidth,window.innerHeight)&&Xa(!1),Ca(!0)},"secondary"));f.append(e),f.dataset.empty=""}if(nt.length&&"Offline"===wt&&f.prepend(z("Saved comments · Try again",fa,"secondary")),e?e.replaceWith(f):o.append(f),function(e){try{let e=JSON.parse(localStorage.getItem(po)??"[]");if(Array.isArray(e))for(let t of e)"string"==typeof t&&co.add(t)}catch{}for(let[t,n]of uo){let i=Pn.querySelector(`[data-tip="${t}"]`);if(!e||co.has(t)){i?.remove();continue}if(i)continue;i=$("div","morphing-menu__tooltip sidebar-tip"),i.dataset.tip=t;let a=i;i.append($("p","",n),z("Dismiss tip",()=>{co.add(t);try{localStorage.setItem(po,JSON.stringify([...co]))}catch{}a.dataset.leaving="",setTimeout(()=>a.remove(),150)},"icon","close")),Pn.append(i)}ho()}(!!f.querySelector(".empty [aria-label='Add a comment']")),requestAnimationFrame(ho),f.scrollTop=n,m){let e=0,t=f.getBoundingClientRect();for(let n of f.querySelectorAll("[data-thread]")){let i=n.getBoundingClientRect();if(i.bottom<t.top||i.top>t.bottom)continue;let a=g.get(n.dataset.thread),o=void 0===a?8:a-i.top;Math.abs(o)>.5&&n.animate([{opacity:void 0===a?0:1,transform:`translateY(${Math.max(-40,Math.min(40,o))}px)`},{opacity:1,transform:"translateY(0)"}],{duration:250,delay:void 0===a?40*Math.min(e++,5):0,easing:"cubic-bezier(0.22, 1, 0.36, 1)",fill:"backwards"})}f.querySelector("[data-thread]")||f.animate([{opacity:0},{opacity:1}],{duration:150})}if(i){let e=o.querySelector('input[type="search"]');e.focus(),null!==a&&e.setSelectionRange(a,a)}}function So(e){let t=$("div","row");return t.append(L(e.author),$("span","author",e.author.name),$("small","",j(e.createdAt))),t.title=e.author.verified?"Verified":"Guest",t}function Co(e,t){return He.user?.id!==e.author.id||"[Comment deleted]"===e.body?[]:[{label:"Edit",icon:"edit",onSelect:()=>{wn=e.id,vn=e.body,_o()}},{label:"Delete",icon:"trash",destructive:!0,onSelect:()=>{let n=la(t.anchor);ca("Delete this comment?",{label:"Delete",run:()=>{let i=it;1===t.comments.length&&(it=null),ha(()=>ht(ut(t.id,t=>{let n=t.comments.filter(t=>t.id!==pt.id(e.id));return n.length?{...t,comments:n}:null}),async n=>{await He.request(`threads/${n(t.id)}/comments/${n(e.id)}`,"DELETE")},()=>{it||(it=i)})),ca("Comment deleted",void 0,n)}})}}]}function $o(t,n){let i=$("article","message");if(i.dataset.comment=t.id,i.append(So(t)),wn===t.id){let e=$("textarea");e.value=vn,e.maxLength=4e3,e.setAttribute("aria-label","Edit comment"),e.dataset.focusKey="edit",e.addEventListener("input",()=>vn=e.value);let a=z("Save changes",()=>{let e=vn;wn=null,ha(()=>ht(ut(n.id,n=>({...n,comments:n.comments.map(n=>n.id===pt.id(t.id)?{...n,body:e,editedAt:Date.now()}:n)})),async i=>{await He.request(`threads/${i(n.id)}/comments/${i(t.id)}`,"PATCH",{body:e})},()=>{wn||(wn=pt.id(t.id),vn=e)}))},"primary");return a.disabled=Ge,i.append(e,a,z("Cancel",()=>{wn=null,_o()},"secondary")),i}let a=$("div","message-content"),o=pn.test(t.body),r=$(o?"div":"p","message-text");if(ae(r,t.body),o){let e=({renderDesignComment:e})=>e(r,t.body,{key:t.id,resolve:e=>lt(n)?hn(n.anchor)(e):null,note:ae,onSwitch:()=>No()});ln?e(ln):un().then(e)}if(a.append(r),"[Comment deleted]"!==t.body){let e=z("Add reaction",()=>{dn?.(!0),dn=function(e,t,n,i,a="branch-comments:emoji:guest",o="https://cdn.jsdelivr.net/npm/emoji-picker-element-data@1.8.0/en/emojibase/data.json"){let r=$("div","emoji-menu t-dropdown");r.dataset.origin="top-left",r.setAttribute("role","menu"),r.setAttribute("aria-label","Reactions");let s=new AbortController,l=!1,d=null,c=(e=!1)=>{let t=d;d=null,t&&(t.classList.remove("is-open"),t.classList.add("is-closing"),e?t.remove():window.setTimeout(()=>t.remove(),150))},p=(e=!1)=>{if(l&&!e)return;l=!0,s.abort(),t.setAttribute("aria-expanded","false"),r.classList.remove("is-open"),r.classList.add("is-closing");let n=parseFloat(getComputedStyle(r).getPropertyValue("--dropdown-close-dur"))||150;c(e),e?r.remove():window.setTimeout(()=>r.remove(),n)},u=function(e,t){let n=[...new Set([...te,...Object.keys(e.counts)])].filter(ee),i=t=>e.counts[t]??(te.includes(t)?1:0),a=(e,t)=>i(t)-i(e),o=n.sort(a).slice(0,6),r=t??e.recent;return r&&ee(r)&&!o.includes(r)&&(o[o.length-1]=r,o.sort(a)),o}(ie(a),i).map((e,t)=>{let a=z(e,()=>{p(),n(e)},"emoji-choice");return a.setAttribute("role","menuitemradio"),a.setAttribute("aria-checked",String(e===i)),a.style.setProperty("--emoji-index",String(t)),r.append(a),a}),h=z("Choose another emoji",async()=>{if(d)return;let t=d=$("div","emoji-keyboard t-dropdown");d.setAttribute("role","dialog"),d.setAttribute("aria-label","Choose an emoji");let i=z("Close emoji keyboard",()=>{c(),h.focus()},"icon emoji-keyboard-close","close"),a=$("span","emoji-keyboard-status","Loading…");d.append(i,a),e.append(d),i.focus({preventScroll:!0});let s=()=>{if(!d)return;let e=r.getBoundingClientRect();d.style.left=`${Math.max(8,Math.min(e.right-d.offsetWidth,innerWidth-d.offsetWidth-8))}px`,d.style.top=`${Math.max(8,Math.min(e.bottom+8,innerHeight-d.offsetHeight-8))}px`};s(),d.classList.add("is-open");try{let{default:e}=await import("./picker-CMP4UZRF.js");if(l||d!==t)return;let i=new e({dataSource:o});i.i18n={...i.i18n,networkErrorMessage:"Couldn’t load emojis. Close and try again."},i.classList.add("dark"),i.addEventListener("emoji-click",e=>{let t=e.detail.unicode;ee(t)&&(p(),n(t))}),a.replaceWith(i);let r=document.createElement("style");r.textContent='\n .pad-top, .skintone-button-wrapper, .skintone-list, .favorites, .indicator-wrapper { display: none !important; }\n .search-row { padding: 10px 44px 10px 10px; flex: none; }\n input.search { height: 30px; padding: 5px 9px; font-size: 12px; background: #ffffff08; }\n input.search::-webkit-search-cancel-button { display: none; }\n .category { font-size: 11px; padding: 6px 10px; color: #999; }\n .nav { order: 10; flex: none; padding: 6px; box-shadow: 0 -1px #ffffff0d; }\n .nav-button { position: relative; border-radius: 6px; }\n .nav-button + .nav-button::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 1px; background: #ffffff0d; }\n .nav-button[aria-selected="true"] { background: #ffffff10; }\n .tabpanel { padding: 0 4px 6px; }\n ',i.shadowRoot?.append(r),s()}catch{a.textContent="Couldn’t load emojis. Close and try again."}},"emoji-choice","plus");h.setAttribute("role","menuitem"),h.setAttribute("aria-haspopup","dialog"),h.style.setProperty("--emoji-index",String(u.length)),r.append(h),u.push(h),e.addEventListener("keydown",e=>{e instanceof KeyboardEvent&&"Escape"===e.key&&d&&(e.preventDefault(),e.stopPropagation(),c(),h.focus())},{signal:s.signal}),e.append(r);let m=t.getBoundingClientRect();return r.dataset.placement=m.right+6+r.offsetWidth>innerWidth-8?"below":"right",r.style.left=`${Math.max(8,Math.min(m.right+6,innerWidth-r.offsetWidth-8))}px`,r.style.top=`${Math.max(8,Math.min(innerHeight-r.offsetHeight-8,m.right+6+r.offsetWidth>innerWidth-8?m.bottom+6:m.top-4))}px`,t.setAttribute("aria-expanded","true"),r.offsetWidth,r.classList.add("is-open"),(u.find(e=>"true"===e.getAttribute("aria-checked"))??u[0])?.focus({preventScroll:!0}),C(r,"pointerdown",e=>{!e.composedPath().includes(r)&&(!d||!e.composedPath().includes(d))&&p()},{signal:s.signal}),document.addEventListener("scroll",e=>{d&&e.composedPath().includes(d)||p()},{capture:!0,signal:s.signal}),r.addEventListener("keydown",e=>{("Escape"===e.key||"Tab"===e.key)&&(p(),"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),t.focus()));let n=u.indexOf(e.target),i="ArrowRight"===e.key?(n+1)%u.length:"ArrowLeft"===e.key?(n+u.length-1)%u.length:-1;i>=0&&(e.preventDefault(),u[i]?.focus())}),p}(Ln,e,e=>function(e,t,n,i){He.user||It&&xn.trim()?ha(async()=>{He.user||await He.guest(xn);let a=He.user;await ht(ut(t.id,t=>({...t,comments:t.comments.map(t=>{if(t.id!==pt.id(e.id))return t;let o=Object.fromEntries(Object.entries(t.reactions).map(([e,t])=>[e,t.filter(e=>e!==a.id)]));return i&&(o[n]=[...o[n]??[],a.id]),{...t,reactions:o}})})),async a=>{await He.request(`threads/${a(t.id)}/comments/${a(e.id)}/reactions`,"POST",{emoji:n,active:i})}),i&&function(e,t){if(!ee(t))return;let n=ie(e);n.counts[t]=(n.counts[t]??(te.includes(t)?1:0))+1,n.recent=t,n.counts=Object.fromEntries(Object.entries(n.counts).sort((e,t)=>t[1]-e[1]).slice(0,200));try{localStorage.setItem(e,JSON.stringify(n))}catch{}}(`branch-comments:emoji:${R.project}:${a.id}`,n)}):Xo()}(t,n,e,!(He.user&&t.reactions[e]?.includes(He.user.id))),Object.entries(t.reactions).find(([,e])=>He.user&&e.includes(He.user.id))?.[0],`branch-comments:emoji:${R.project}:${He.user?.id??"guest"}`,R.emojiDataSource)},"icon message-reaction","smile"),i=Object.entries(t.reactions).filter(([,e])=>e.length>0);if(e.dataset.reactions=JSON.stringify(i),i.length){e.replaceChildren(),e.classList.add("has-reactions");for(let[t,n]of i)e.append($("span","reaction-value",`${t}${n.length>1?` ${n.length}`:""}`));e.setAttribute("aria-label","Change reactions")}e.setAttribute("aria-haspopup","menu"),e.setAttribute("aria-expanded","false"),a.append(e)}i.append(a);let s=$("div","actions");if(He.user?.id===t.author.id&&"[Comment deleted]"!==t.body){let a=e("Message actions",Co(t,n));n.comments[0]?.id!==t.id&&i.firstElementChild?.append(a)}return t.editedAt&&s.append($("small","","Edited")),s.childElementCount&&i.append(s),i}async function Eo(e="github"){let t=window.open("about:blank","branch-comments-signin","popup,width=600,height=720");if(!t)throw new Error("Allow popups to sign in.");try{let n=await He.request(`auth/${e}/start`,"POST",{}),i=new URL(n.url).origin,a=e=>{if(e.origin!==i||e.source!==t||"branch-comments:auth"!==e.data?.type)return;let{token:n,user:o}=e.data;"string"!=typeof n||!o?.id||!o?.name||!0!==o.verified||(He.save({token:n,user:o}),Vi(),yt=null,window.removeEventListener("message",a),clearTimeout(zn),t.close(),Je=!!R.onboarding,sr(),!R.onboarding&&(yn?ha(Mo):(ha(ya),ca(`Signed in as ${o.name}`))))};window.addEventListener("message",a,{signal:Be.signal}),zn=window.setTimeout(()=>{window.removeEventListener("message",a)},6e5),t.location.href=n.url}catch(e){throw t.close(),e}}function zo(e,t,n,i){let a=$("div","tag-slot");a.hidden=!!i&&!e.length;let o=({tagEditor:o})=>o(a,{tags:e,suggestions:[...new Set(nt.flatMap(e=>e.tags??[]))].sort(),onAdd:t,onRemove:n,trigger:i});if(xo)o(xo);else{let e=!1;i&&(i.onclick=()=>{e=!0}),import("./tag-editor-MMAMOEI4.js").then(t=>{xo=t,o(t),e&&i?.isConnected&&i.click(),No()})}return a}function jo(e,t){He.user?ha(async()=>{let{tags:n}=await He.request(`threads/${pt.id(e.id)}`,"PATCH",t);nt=nt.map(t=>t.id===e.id?{...t,tags:n}:t),ko()}):Xo()}function Ao(e){let t=$("form","composer "+(e?"reply-composer":"new-comment-composer")),n=$("textarea"),i=e?"":fn;n.placeholder=e?"Reply…":i?"Add a note…":"Add a comment…",n.rows=1,n.maxLength=4e3,n.required=!!e||!fn,n.value=e?jn.get(e.id)??"":gn,n.setAttribute("aria-label",e?"Reply":"Comment"),n.dataset.focusKey="body";let a=()=>{n.style.height="auto",n.style.height=`${Math.min(128,Math.max(e?34:28,n.scrollHeight))}px`,n.style.overflowY=n.scrollHeight>128?"auto":"hidden",No()};n.addEventListener("input",a),n.addEventListener("input",()=>{e?jn.set(e.id,n.value):gn=n.value}),n.addEventListener("keydown",e=>{"Enter"===e.key&&!e.shiftKey&&!e.isComposing&&(e.preventDefault(),t.requestSubmit())});let o=z(e?"Send reply":"Post comment",()=>{},"send","arrow");if(o.type="submit",o.disabled=Ge,e)t.append(n,o);else{let e=$("div","draft-body");He.user&&e.append(L(He.user)),e.append(n,o),ne&&e.append(zo(bn,e=>bn=[...bn,e],e=>bn=bn.filter(t=>t!==e))),t.append(e)}if(n.addEventListener("input",()=>{o.disabled=Ge||!n.value.trim()&&!i}),o.disabled||=!n.value.trim()&&!i,i){let e=$("div","draft-proposal");e.textContent=i;let n=at?hn(at):()=>null;un().then(({renderDraftProposal:t})=>{if(!e.isConnected||fn!==i)return;let a=at;return Promise.resolve(t(e,i,n,{design:R.design,onUpdate(e){at===a&&fn&&(fn=e)}})).then(No)}),t.prepend(e)}return t.addEventListener("submit",t=>{if(t.preventDefault(),(n.value.trim()||i)&&!Ge){if(!He.user)return yn=()=>Lo(e),void Xo();ha(()=>Lo(e))}}),requestAnimationFrame(()=>{n.isConnected&&a()}),t}async function Lo(e){if(R.onboarding)throw new Error("Open your connected website to leave a comment.");if(!He.user)throw new Error("Enter your name to leave a comment.");let t=Date.now(),n={id:`pending-${crypto.randomUUID()}`,body:e?jn.get(e.id)??"":[gn.trim(),fn].filter(Boolean).join("\n\n"),author:{...He.user},createdAt:t,editedAt:null,reactions:{}};if(n.body.trim())if(e)jn.delete(e.id),await ht(ut(e.id,e=>({...e,updatedAt:t,comments:[...e.comments,n]})),async t=>{let i=(await He.request(`threads/${t(e.id)}/comments`,"POST",{body:n.body})).id??(await He.list()).find(n=>n.id===t(e.id))?.comments.filter(e=>e.author.id===n.author.id&&e.body===n.body).at(-1)?.id;return i?{[n.id]:i}:{}},()=>{let t=pt.id(e.id);nt.some(e=>e.id===t)?jn.set(t,[n.body,jn.get(t)].filter(Boolean).join("\n")):at===e.anchor?gn=[gn,n.body].filter(Boolean).join("\n"):Xt.push({anchor:e.anchor,text:n.body})});else if(at){let e=at,i=bn,a=gn,o=fn,r={id:`pending-${crypto.randomUUID()}`,page:na(),anchor:e,tags:i,resolved:!1,resolvedBy:null,createdAt:t,updatedAt:t,comments:[n]};it=r.id,at=null,gn=fn="",bn=[],await ht(e=>[...e,r],async()=>{let t=await He.request("threads","POST",{page:r.page,anchor:e,body:n.body,...i.length?{tags:i}:{}}),a=t.commentId??(await He.list()).find(e=>e.id===t.id)?.comments[0]?.id;return{[r.id]:t.id,...a?{[n.id]:a}:{}}},()=>{at?Xt.push({anchor:e,text:n.body}):(it=null,at=e,gn=a,fn=o,bn=i)}),Ye&&!at&&!Je&&it===pt.id(r.id)&&(Sa()||(it=null,Fe&&Xa(!1)),Ie=!0,sr())}}async function Mo(){let e=yn;yn=null,e&&await e()}let To=new Map;function _o(){rn?.then(({resetDesignPreviews:e})=>e(new Set([...Je?[]:nt.find(e=>e.id===it&&lt(e))?.comments.map(e=>e.id)??[],...Hn.hidden?[]:[Xn],...at?["draft"]:[]])));let t=mt;mt=void 0,dn?.(!0),dn=void 0;let n=Ln.activeElement,a=n?.dataset.focusKey,o=a?n?.selectionStart:null,r=!!n?.matches(":focus-visible"),s=Rn.querySelector(".messages")?.scrollTop??0,l=Rn.querySelector(".account-dialog")?.scrollTop??0,d=Je?"account":at?"draft":it;d!==Ut&&(Vt=null);let c=Rn.firstElementChild,p=Pa(),u=Rn.classList.contains("thread-pane"),h=Ut!==d,m=c?.getBoundingClientRect(),g=new Map([...c?.querySelectorAll("[data-comment]")??[]].map(e=>[e.dataset.comment,e.querySelector(".message-reaction")]));if(c&&h&&!w()&&(!u||!p&&Rn.isConnected)){let e=getComputedStyle(c),n={opacity:e.opacity,transform:e.transform};c.getAnimations().forEach(e=>e.cancel());let i={duration:150,easing:"cubic-bezier(.22,1,.36,1)",fill:"forwards"},a="account"===Ut?$("div","account-layer"):u?$("div","thread-pane"):c;a!==c&&a.append(c),c.animate([{transform:n.transform},{transform:u?"translateX(24px)":"translateY(4px) scale(.99)"}],i);let o=a.animate([{opacity:n.opacity},{opacity:0}],i);a.inert=!0,a.setAttribute("aria-hidden","true"),c.style.pointerEvents="none",(u?Rn.parentElement:a!==c&&ye?Pn:Ln).append(a),cn.set(a,t),t=void 0,o.finished.catch(()=>{}).finally(()=>{a.remove(),cn.get(a)?.(),cn.delete(a)})}t?.(),Rn.replaceChildren(),function(e){let t=e??(ye&&Je?Pn:Ln);Rn.parentNode!==t&&(t===Ln?Hn.before(Rn):t.append(Rn)),Rn.classList.toggle("thread-pane",!!e),Pn.querySelector(".panel")?.toggleAttribute("data-thread",!!e)}(p);let f=Pn.querySelector(".panel");if(f&&u!==!!p){if(!w())for(let e of f.querySelectorAll(":scope > :not(.thread-pane)")){let t=[{visibility:"visible",opacity:1,transform:"none"},{visibility:"visible",opacity:0,transform:"translateX(-24px)"}];e.animate(p?t:t.reverse(),{duration:250,easing:"cubic-bezier(.22,1,.36,1)"})}let e=`[data-thread="${CSS.escape(Ut??"")}"] .thread-card`;(p?kn:!at&&r&&(f.contains(n)||!n.isConnected))&&queueMicrotask(()=>(p?Rn:f).querySelector(p?".thread-back":e)?.focus({preventScroll:!0})),kn=!1}if(Ut=d,Rn.classList.toggle("account-layer",Je),!at&&!it&&!Je)return void pa();let v=$("section",Je?"dialog account-dialog":"dialog");Je&&v.setAttribute("aria-modal","false"),v.setAttribute("role","dialog"),v.setAttribute("aria-label",Je?"Reviewer account":at?"New comment":"Comment thread");let y,k=$("div","dialog-head row between"),S=$("div","row"),C=nt.find(e=>e.id===it)??null;if(C&&!Je){let t=(e,t)=>({label:e,icon:"Copy link"===e?"link":"Copy selector"===e?"code":"comment",onSelect:()=>ha(async()=>{await navigator.clipboard.writeText(t()),ca("Copied")})}),n=C.anchor.source,i=n?R.sourceUrl?.(n,R.branch)??`https://github.com/${R.repo}/blob/${encodeURIComponent(R.branch)}/${n.split("/").map(encodeURIComponent).join("/")}`:"",a=e("Comment actions",[...Co(C.comments[0],C),...er(C)?[{label:"Move pin",icon:"pointer",onSelect:()=>{!async function(e){tr();let t=Dt,n=et;if(Ge||!er(e))return;let i=await import("./pin-move-6QISN27D.js").catch(()=>null);if(!i)return void ca("Moving is unavailable. Try again.");if(De||t!==Dt||n!==et||!er(e))return;let a=_n.querySelector(`.pin[data-thread="${CSS.escape(e.id)}"]`),o=Vo(e.anchor);if(e.page!==na()||!o.attached||!a)return void ca("This pin isn’t visible on this page. Open its page before moving it.");let r=Qo(a,o);Ht=e.id,Dn=!0,Un(),Jt.stop(),_n.append(a),Object.assign(a.style,{position:"fixed",margin:"0",left:`${r.x}px`,top:`${r.y}px`}),Bt=i.startPinMove({root:Ln,pin:a,point:r,bounds:()=>xi?me.getBoundingClientRect():{left:0,top:0,right:window.innerWidth,bottom:window.innerHeight},preview(t){a.dataset.pointer=q(t,window.innerWidth),a.style.left=`${t.x}px`,a.style.top=`${t.y}px`,Gt={id:e.id,...t},No()},finish(t){if(Bt=null,Ht=null,Gt=null,Qa="",ao(),No(),Rn.querySelector('summary[aria-label="Comment actions"]')?.focus({preventScroll:!0}),!t||De||e.page!==na()||!er(e))return;let n=nr(t.x,t.y);if(!n)return void ca("Pin unchanged. Choose an element on this page.");let i=Ce(Se(n,me,R.anchorTarget),t,{x:t.x+o.width,y:t.y+o.height},R.source);i.unstacked=!0,Kt.delete(e.id),ha(async()=>{await ht(ut(e.id,e=>({...e,anchor:i})),async t=>{await He.request(`threads/${t(e.id)}`,"PATCH",{anchor:i})}),ca("Pin moved")})}})}(C)}}]:[],...Q?[{label:"Open in Design",icon:"design",onSelect:()=>{Zo(C)}}]:[],...i&&/^(https?:|vscode:|cursor:)/.test(i)?[{label:"Open source",icon:"code",onSelect:()=>window.open(i,"_blank","noopener,noreferrer")}]:[],t("Copy link",()=>{let e=new URL(C.page,location.origin);return e.searchParams.set("comment",C.id),e.href}),t("Copy feedback",()=>[`Repository: ${R.repo}`,`Branch: ${R.branch}`,`Page: ${new URL(C.page,location.origin).href}`,`Target: ${C.anchor.selector||"Page position"}`,...C.anchor.source?[`Source: ${C.anchor.source}`]:[],...C.anchor.text?[`Element text: ${C.anchor.text}`]:[],"",...C.comments.map(e=>`${e.author.name}: ${e.body}`)].join("\n")),t("Copy selector",()=>C.anchor.selector)]);S.append(a),ne&&(y=z(C.tags?.length?"Manage tags":"Add tag",()=>{},"icon thread-tag-action","tag"),S.append(y));let o=z(C.resolved?"Reopen comment":"Resolve comment",()=>bo(C,la(C.anchor)),"icon","check");o.disabled=!fo(),S.append(o)}if(S.append(p?z("Close sidebar",()=>{Ua(),Xa(!1)},"icon","close"):z(Je?"Close account":"Close comment",Ua,"icon","close")),p&&k.append(z("Back to comments",Ua,"icon thread-back","chevron"),yo($("strong","thread-title"),C?.comments[0]?.body??"")),k.append(S),C||Je||p?v.append(k):v.append(z("Close comment",Ua,"draft-close icon","close")),Je){let e=$("form","account");if(He.user){yt??={name:He.user.name,avatarUrl:He.user.avatarUrl??"",accentColor:He.user.accentColor??b};let t=yt,n=L({...He.user,...t}),i=$("div","account-summary"),a=$("span","account-status");He.user.verified?(a.append(document.createTextNode("Connected with ")),He.user.id.startsWith("google:")&&a.append(M()),a.append(document.createTextNode(He.user.id.startsWith("google:")?"Google":"GitHub"))):a.textContent="Guest account";let o=z("Update profile photo",()=>l.click(),"account-avatar-button");o.replaceChildren(n),i.append(o,$("h2","","Your profile"),a),e.append(i);let r=$("label","account-name-label","Display name"),s=$("input");s.value=t.name,s.name="name",s.autocomplete="name",s.required=!0,s.maxLength=60,s.dataset.focusKey="profile-name",s.addEventListener("input",()=>{t.name=s.value,jt(t)}),s.addEventListener("blur",()=>{jt(t,!0)}),r.append(s);let l=$("input");l.type="file",l.accept="image/png,image/jpeg,image/webp",l.hidden=!0,l.setAttribute("aria-label","Choose profile photo"),l.addEventListener("change",()=>ha(async()=>{let e=l.files?.[0];if(!e)return;if(e.size>10485760)throw new Error("Choose a photo under 10 MB.");let n=await createImageBitmap(e),i=document.createElement("canvas");i.width=i.height=128;let a=i.getContext("2d"),o=Math.min(n.width,n.height);a.drawImage(n,(n.width-o)/2,(n.height-o)/2,o,o,0,0,128,128),n.close();let r=.8;do{t.avatarUrl=i.toDataURL("image/jpeg",r),r-=.15}while(t.avatarUrl.length>12e3&&r>.1);if(t.avatarUrl.length>12e3)throw new Error("Choose a smaller photo.");jt(t,!0),_o()})),i.append(l);let d=function(e,t){let n=$("div","account-accent-mount");n.style.minHeight="62px";let i,a=!1,o=async()=>{n.replaceChildren(),n.setAttribute("aria-busy","true");try{let o=await import("./accent-picker-JTX75MDO.js");if(a)return;let r=o.accentPicker(e,t);i=r.destroy,n.replaceChildren(r.element)}catch{a||n.replaceChildren(z("Load accent colors",()=>{o()},"secondary"))}finally{n.removeAttribute("aria-busy")}};return o(),{element:n,destroy:()=>{a=!0,i?.()}}}(t.accentColor,e=>{t.accentColor=e,x(n,e),jt(t)});if(mt=d.destroy,e.append(r,d.element),R.onboarding){let t=R.onboarding;e.append(ma($("section","onboarding-panel"),import("./onboarding-DRNGWOJ6.js").then(({onboardingPanel:e})=>e(He,t))))}else e.append(function(){return ve?Xi("sidebar","Sidebar",[["mobile","Floating sidebar"]],"mobile",()=>{}):ge?Xi("sidebar","Sidebar",[["edge","Floating"],["background","Frame"]],we,Ni):$("p","muted","Floating sidebar · Set pageRoot for Frame.")}()),Me&&e.append(function(){let e=Xi("channel","Comments",[["local","Local development"],["shared","Site comments"]],Oe,Ui);return e.append($("p","muted","Separate channels, both saved to this project.")),e}()),e.append(ga());if(He.user?.verified&&!R.onboarding?.code&&!R.onboarding?.claimKey&&!R.onboarding?.invite){let t=$("div");e.append(t),import("./onboarding-DRNGWOJ6.js").then(({projectManagement:n})=>{t.isConnected&&t.replaceWith(n(He,R.onboarding?.workspace,t=>{if(t)it=null,pt.replace([],pt.revision),e.querySelector(".account-usage")?.remove();else{let t=R.onboarding?.workspace?`usage?workspace=${encodeURIComponent(R.onboarding.workspace)}`:"usage";e.querySelector(".account-usage")?.replaceWith(ga(t)),ya().catch(()=>{})}}))})}e.addEventListener("submit",e=>{e.preventDefault(),jt(t,!0)});let c=$("div","account-session");c.append(z("Sign out",()=>ha(async()=>{if(pt.busy||Ge)return void ca("Wait for your changes to save.");clearTimeout(kt),Et=null;let e=He.logout();Vi(),yt=null,Ct=null,sr();try{await e}finally{Vi(),ha(ya),sr()}}),"secondary")),e.append(c),!He.user.verified&&Ot&&e.append(At()),!He.user.verified&&Ft&&e.append(z("Sign in with GitHub",()=>ha(()=>Eo()),"primary"))}else{if(e.append($("h2","",R.onboarding?"Set up inline feedback":"Leave comments")),R.onboarding?.inProject){e.append($("p","","Add the sites where you want to leave feedback. One site per line."));let t=$("label","account-name-label","Production and preview sites"),n=$("textarea");n.rows=2,n.placeholder="https://your-site.com",n.value=Wt,n.dataset.focusKey="setup-sites",n.addEventListener("input",()=>{Wt=n.value}),t.append(n),e.append(t);let a=z("Connect",()=>ha(async()=>{if(!Pt){Pt=!0,a.disabled=!0;try{let e=await function(e,t,n=[location.origin]){let i=new URL(e.endpoint),a=new URL("/setup/connect",i);a.searchParams.set("code",e.onboarding.code),a.searchParams.set("origin",location.origin),a.searchParams.set("sites",JSON.stringify(n));let o=window.open("about:blank","komo-connect","popup,width=600,height=720");return o?new Promise((n,r)=>{let s=()=>{window.removeEventListener("message",c),t.removeEventListener("abort",d),clearInterval(p),clearTimeout(u),o.close()},l=e=>{s(),r(new Error(e))},d=()=>l("Setup closed. Reopen inline feedback to try again."),c=t=>{let a=t.data;t.origin!==i.origin||t.source!==o||"komo:setup"!==a?.type||a.code!==e.onboarding?.code||"string"!=typeof a.project||!/^komo_[a-f0-9]{32}$/.test(a.project)||"string"!=typeof a.repo||"string"!=typeof a.token||!a.token||!0!==a.user?.verified||"string"!=typeof a.user.id||!a.user.id.startsWith("google:")||"string"!=typeof a.user.name||(s(),n(a))},p=window.setInterval(()=>{o.closed&&l("Sign-in closed. Try connecting again.")},1e3),u=window.setTimeout(()=>l("Setup expired. Run komo init again."),6e5);window.addEventListener("message",c),t.addEventListener("abort",d,{once:!0}),t.aborted?d():o.location.href=a.href}):Promise.reject(new Error("Allow popups to set up inline feedback."))}(R,Be.signal,function(e,t){let n=e.split(/\s+/).filter(Boolean).map(e=>{let t;try{t=new URL(e)}catch{throw new Error("Enter a full HTTPS site address, such as https://your-site.com.")}if("https:"!==t.protocol||t.username||t.password)throw new Error("Use HTTPS addresses for production and preview sites.");return t.origin}),i=[...new Set([t,...n])];if(i.length>10)throw new Error("Connect up to ten sites at a time.");return i}(Wt,location.origin));if(De)return;(function(e,t){try{localStorage.setItem(T(e),JSON.stringify({project:t.project,repo:t.repo}))}catch{}})(R,e),R={...R,project:e.project,repo:e.repo,onboarding:void 0},He=new i(R),He.save(e),Je=!1,yt=null,Ut=null,await jr(),sr(),ca("Inline feedback is connected. Select an element to comment.")}finally{Pt=!1,De||sr()}}}),"primary");a.disabled=Pt,e.append(a)}if(It){let t=$("label","account-name-label","Your name"),n=$("input");n.name="name",n.autocomplete="name",n.placeholder="Your name",n.required=!0,n.maxLength=60,n.value=xn,n.dataset.focusKey="account-name",n.addEventListener("input",()=>xn=n.value),t.append(n),e.append(t);let i=z("Continue",()=>{},"primary");i.type="submit",i.disabled=Ge,Ge&&i.setAttribute("aria-busy","true"),e.append(i)}It&&(Ot||Ft)&&e.append($("div","account-divider","or")),Ot&&e.append(At()),Ft&&e.append(z("Continue with GitHub",()=>ha(()=>Eo()),"secondary")),e.addEventListener("submit",e=>{e.preventDefault(),ha(async()=>{await async function(){if(!Ge){Ge=!0,vt="",_o();try{for(await(async()=>{await He.guest(xn),Je=!1})();Ze&&!De;)await new Promise(e=>setTimeout(e,20));await ya()}finally{Ge=!1,sr()}}}(),await Mo()})})}v.append(e)}else if(at)v.append(Ao(null));else if(C){if(lt(C)){if(!Ee(C.anchor)){let e=$("p","notice thread-navigation thread-anchor-status","This comment’s element could not be found on this page. The conversation is still available.");e.setAttribute("role","status"),v.append(e)}}else{let e=$("div","notice thread-navigation");e.setAttribute("role","status"),e.append($("p","",ot?.id===C.id&&ot.rejected?"Navigation could not be completed. The conversation is still available.":ot?.pending?"Opening this comment’s page…":"The app is on a different page. The conversation is still available."));let t=$("a","thread-destination","Open destination");t.dataset.focusKey="thread-destination",t.href=new URL(C.page,location.origin).href,t.title=t.href,t.setAttribute("aria-label",`Open destination: ${t.href}`),t.setAttribute("aria-disabled",String(!!ot?.pending)),t.addEventListener("click",e=>{e.preventDefault(),ot?.pending||Ja(C)}),e.append(t),v.append(e)}let e=$("div","messages");for(let t of C.comments)e.append($o(t,C));v.append(e);let t=()=>e.dataset.fade=`${e.scrollTop>2?"top":""} ${e.scrollTop+e.clientHeight<e.scrollHeight-2?"bottom":""}`;if(e.addEventListener("scroll",t,{passive:!0}),requestAnimationFrame(t),ne){let t=zo(C.tags??[],e=>jo(C,{tag:e}),e=>jo(C,{untag:e}),y);t.classList.add("thread-tags");let n=e.querySelector(".message"),i=n?.querySelector(".message-text");i?i.after(t):n?.append(t)}v.append(Ao(C))}else v.append($("div","empty","This comment is no longer available."));if(Rn.append(v),Je&&h&&!w()&&(Rn.animate([{opacity:0},{opacity:1}],{duration:250,easing:"ease-out"}),v.animate([{opacity:0,transform:"translateY(8px) scale(.97)"},{opacity:1,transform:"none"}],{duration:250,easing:"cubic-bezier(.22,1,.36,1)"})),!Je&&!p){let e=$("div","comment-drag-handle");e.setAttribute("aria-hidden","true"),v.prepend(e),U(v,e,e=>{Ut&&Kt.set(Ut,e),No()},Be.signal,()=>Jt.stop())}if(No(),p){h&&(Wo=!1,Yo(!0,1200));let e=e=>{Wo=e,Yo(e)};for(let t of[k,v.querySelector(".messages")])t?.addEventListener("pointermove",()=>Wo||e(!0)),t?.addEventListener("pointerleave",()=>e(!1)),t?.addEventListener("focusin",t=>{t.target.matches(":focus-visible")&&e(!0)}),t?.addEventListener("focusout",()=>e(!1));v.addEventListener("click",()=>Yo(!1,600)),v.addEventListener("pointerover",e=>e.target.closest(".design-card-target")?.removeAttribute("title"))}if(!Je&&!w()){let e=v.getBoundingClientRect(),t=Nn??(h?null:m);p?h&&v.animate([{opacity:0,transform:u?"none":"translateX(24px)"},{opacity:1,transform:"none"}],{duration:250,easing:"cubic-bezier(.22,1,.36,1)"}):t&&(Nn||Math.abs(t.height-e.height)>1||Math.abs(t.width-e.width)>1)?v.animate([{left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`,opacity:1},{left:`${e.left}px`,top:`${e.top}px`,width:`${e.width}px`,height:`${e.height}px`,opacity:1}],{duration:250,easing:"cubic-bezier(.22,1,.36,1)"}):h&&v.animate([{opacity:0,transform:"translateY(6px) scale(.97)"},{opacity:1,transform:"none"}],{duration:250,easing:"cubic-bezier(.22,1,.36,1)"});for(let e of v.querySelectorAll("[data-comment]")){let t=e.querySelector(".message-reaction"),n=g.get(e.dataset.comment),i=e.dataset.comment;t&&n&&n.dataset.reactions!==t.dataset.reactions&&To.set(i,{from:n,to:t.dataset.reactions,started:performance.now()});let a=To.get(i),o=a?performance.now()-a.started:470;if(t&&a&&o<470&&a.to===t.dataset.reactions){let e=$("span","reaction-leaving");e.setAttribute("aria-hidden","true");for(let t of a.from.children){if(t.classList.contains("reaction-leaving"))continue;let n=t.cloneNode(!0);e.append(n)}let n=[...t.children];t.append(e);let r=e.animate([{opacity:1,transform:"scale(1)"},{opacity:0,transform:"scale(.2, .35)"}],{duration:110,easing:"ease-in",fill:"forwards"});r.currentTime=o,r.finished.then(()=>e.remove()).catch(()=>e.remove());for(let e of n){let t=e.animate([{opacity:0,transform:"scale(.25, .4)",offset:0},{opacity:1,transform:"scale(1.16, .92)",offset:.38},{opacity:1,transform:"scale(.95, 1.07)",offset:.6},{opacity:1,transform:"scale(1.025, .985)",offset:.8},{opacity:1,transform:"scale(1)",offset:1}],{duration:380,delay:90,easing:"ease-in-out",fill:"backwards"});t.currentTime=o,t.finished.then(()=>{To.get(i)===a&&To.delete(i)}).catch(()=>{})}}}}Nn=null;let E=v.querySelector(".messages");if(E&&(E.scrollTop=s),Je&&!h&&(v.scrollTop=l),a){let e=v.querySelector(`[data-focus-key="${a}"]`);e&&(e.focus({preventScroll:!0}),null!=o&&e.setSelectionRange(o,o))}}let Ro,qo=0,Po=!1,Wo=!1,Oo=0,Ho="",Bo="",Do="",Fo=0;function Io(e=Bo||Do){if(clearTimeout(Fo),e!==Ho){Ho=e;for(let t of _n.querySelectorAll(".pin"))t.classList.toggle("hot",t.dataset.thread===e);ir()}}function Yo(e,t=0){clearTimeout(Oo),Po=e,ir(),t&&(Oo=window.setTimeout(()=>Yo(Wo),t))}function No(){let e=Math.min(window.innerHeight,window.visualViewport?.height??window.innerHeight),t=Rn.firstElementChild;if(!t||Je)return;let n=nt.find(e=>e.id===it),i=t.querySelector(".thread-anchor-status");if(i&&(i.hidden=!!(n&&lt(n)&&Ee(n.anchor))),Rn.classList.contains("thread-pane")){let e=qo;qo=performance.now()+500;let t=()=>{ir(),performance.now()<qo?requestAnimationFrame(t):qo=0};return void(e||t())}if(ve&&t.querySelector("textarea:focus")){let n=window.visualViewport?.offsetTop??0;t.style.maxHeight=`${Math.max(0,e-24)}px`;let i=function(e,t,n,i,a){return{x:Math.max(12,(e-i)/2),y:n+Math.max(12,(t-a)/2)}}(window.innerWidth,e,n,t.offsetWidth,t.offsetHeight);return Jt.place(Ut,t,i.x,i.y,!0),t.style.bottom="auto",t.style.transformOrigin="bottom center",void pa()}let a=xi?me.getBoundingClientRect().bottom-12:e-92;t.style.maxHeight=a-12+"px",(Ro??=new ResizeObserver(()=>No())).observe(t);let o,r=at??(n&&lt(n)?n.anchor:null),s=Gt?.id===it?Gt:r?(()=>{let e=Vo(r);if(!e.attached)return Vt!==Ut&&null;Vt=Ut,o=e.width>16&&e.height>16?{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height}:(at?cr:pn.test(n?.comments[0]?.body??""))?e.component:void 0;let t=it&&_n.querySelector(`[data-thread="${CSS.escape(it)}"]`);return t?Qo(t,e):e})():null;if(!1===s)return at&&gn.trim()&&(Nt={anchor:at,text:gn}),Ua();let l=Gt?.id===it,d=()=>{t.style.transformOrigin=!s||s.x<t.offsetLeft+t.offsetWidth/2?"top left":"top right"},c=!l&&Ut&&Kt.get(Ut);if(c){let n=N(c,t.offsetWidth,t.offsetHeight,ii.clientWidth,e);return Jt.place(Ut,t,n.x,n.y,l),d(),void pa()}let p=(window.innerWidth-354)/2,u=e-450;s&&(p=s.x+20,u=s.y-28);let h=Fe&&!ve?396:12,m=t.offsetWidth,g=t.offsetHeight;if(s&&p+m>window.innerWidth-h&&(p=s.x-m-20),o&&!ve&&!l){let e=a-o.bottom-14,n=o.top-26;if(o.right+14+m<=window.innerWidth-h)[p,u]=[o.right+14,o.top];else if(o.left-14-m>=12)[p,u]=[o.left-14-m,o.top];else if(Math.max(e,n)>=Math.min(g,200)){let i=e>=g||e>=n?e:n;t.style.maxHeight=`${i}px`,[p,u]=[o.left,i===e?o.bottom+14:o.top-14-Math.min(g,i)]}}Jt.place(Ut,t,Math.max(12,Math.min(p,window.innerWidth-t.offsetWidth-h)),Math.max(12,Math.min(u,a-t.offsetHeight)),l),d(),pa()}function Xo(){st(),tr(),clearTimeout(ki),yt=null,Ie=!1;let e=ve;e&&!Fe&&Xa(!0),ki=0,!(De||e&&!Fe)&&(Je=!0,sr(),function(){queueMicrotask(()=>{if(!Je)return;let e=ve,t=e?Rn.querySelector(".account-dialog"):Rn.querySelector("input,button");e&&t&&(t.tabIndex=-1),t?.focus({preventScroll:!0})})}())}let Uo=Ee,Vo=je;function Ko(e,t){return document.elementsFromPoint(e,t).find(e=>e!==An&&!An.contains(e))??null}function Jo(e){return!!e&&e!==me&&e!==document.body&&(R.pickRoots?[me,...R.pickRoots()]:[document.body]).some(t=>t.contains(e))}function Go(){return dt?Promise.resolve(dt):(ct||(ct=import("./design-mode.js").then(({createDesignMode:e})=>{let t=e({root:Ln,panelRoot:Pn,host:An,exitKey:G.design?.label,design:R.design,page:na,bounds:e=>xi&&me.contains(e)?me.getBoundingClientRect():void 0,flip(){if(!ye||!Fe||ze||_i)return;let e=Pn.getBoundingClientRect();Pi({x:ii.clientWidth-e.right,y:e.top}),$e=!0,Pn.animate([{transform:`translateX(${e.left-Pn.getBoundingClientRect().left}px)`},{}],{duration:320,easing:"cubic-bezier(.22,1,.36,1)"})},targetAt(e,t){let n=Ko(e,t);return Jo(n)?n:null},onComment(e,t){Ve=!1,Fe&&!Sa()&&Xa(!1),Ea(!1),gn="",fn=t??"",bn=[];let n=e.getBoundingClientRect(),i={x:n.left+n.width/2,y:n.top+n.height/2};pr(e,i,i,!0)},onExit(){Ue=!1,dt?.setReturnAction(null),ka(),Za(),$a()}});return De?(t.destroy(),null):(dt=t,t.setActive(Ue),t)}).catch(()=>(Ue=!1,ka(),Za(),null)).finally(()=>{ct=null})),ct)}async function Zo(e){if(!Q||De)return;if(e.page!==na()){let t=new URL(e.page,location.origin);return t.searchParams.set("comment",e.id),t.searchParams.set("comment-view","design"),void await xr(t)}if(!lt(e))return void ca("Design is unavailable until this comment’s page is reached.");let t=Ee(e.anchor);if(!t||!Jo(t)||!Vo(e.anchor).attached)return void ca("Design is unavailable: this comment’s element isn’t visible on this page.");let n=Fe;Ea(!0),tt=n;let i=await Go();if(i&&Ue&&!De&&it===e.id&&e.page===na()){if(!t.isConnected||Ee(e.anchor)!==t)return Ea(!1),void ca("Design is unavailable: this comment’s element has changed.");i.select(t),i.setReturnAction({label:"Back to comment",run:()=>Ea(!1)})}}function Qo(e,t){if(!e.closest(".pin-stack")||e.dataset.dragging)return t;let n=e.getBoundingClientRect();return{x:n.left+("right"===e.dataset.pointer?25:9),y:n.top+28}}function er(e){return!!He.user&&(He.user.verified||e.comments[0]?.author.id===He.user.id)}function tr(){Dt++,Bt?.cancel()}function nr(e,t){let n=Ko(e,t);if(!Jo(n))return null;let i=n.closest("button,a,input,textarea,select,[role=button],[role=link],[data-comment-anchor],h1,h2,h3,h4,h5,h6,p,li,figure,svg,canvas,img,video")??n,a=i.closest("button,a,[role=button],[role=link]");return Jo(a)?a:i}function ir(){let e=!Ie&&!!Pa(),t=e?it:Fe&&!at&&!Pa()&&Pn.querySelector(`.list [data-thread="${CSS.escape(Ho)}"]`)&&Ho,n=t&&nt.find(e=>e.id===t&&e.page===na()),i=n&&lt(n)&&Vo(n.anchor),a=i&&i.attached&&(i.width&&i.height?{left:i.x,top:i.y,right:i.x+i.width,bottom:i.y+i.height}:i.component);if(Vn.toggleAttribute("data-thread",!!a),_n.toggleAttribute("data-quiet",!!a&&e),_n.toggleAttribute("data-outlined",!!a&&e&&Po),a){let t=Uo(n.anchor);return or(a,i.width&&i.height?null:t,xi&&!!t&&me.contains(t)),void(e&&!Po&&(Vn.style.opacity="0"))}if(!Ie&&!at||lr||at&&at.width>0&&at.height>0)return Vn.style.opacity="0",void(!Ie&&!at&&(Kn=null,Jn=null));at&&(Kn=Uo(at)),Ie&&Jn&&(Kn=nr(Jn.x,Jn.y)),Ie&&Kn&&(Kn=Se(Kn,me,R.anchorTarget)),Kn?.isConnected?or(Kn.getBoundingClientRect(),Kn,xi&&me.contains(Kn)):Vn.style.opacity="0"}let ar=null;function or(e,t,n){ar=t,Vn.style.opacity=o(Vn,e,t,n?me.getBoundingClientRect():void 0)?"1":"0"}function rr(){Gn||(Gn=requestAnimationFrame(()=>{Gn=0,ir()}))}function sr(){if(De)return;if(An.classList.toggle("design-active",Ue),Je&&!Fe)return void(se(window.innerWidth,window.innerHeight)?(Je=!1,Xo()):Xa(!0));_a();let e=!!at&&!Je&&se(window.innerWidth,window.innerHeight);An.classList.toggle("mobile-composing",e),Pn.inert=ve?!Fe||Je:ye?!Fe:Je,(it||at||Ie||Ne||Je)&&Un(!0),Tn.hidden=!Ie,ir(),Wn.replaceChildren(),Za(),qn.inert=Ue,ao(),ko(),_o();let t=Pn.querySelector(".panel");t&&(t.inert=Ue,t.setAttribute("aria-hidden",String(Ue)),t.hidden=Ue),Ue&&dt?.mountPanel(Pn);let n=Pn.querySelector(".design-inspector__heading");n&&!n.dataset.drag&&(n.dataset.drag="",Ji(n))}let lr=null,dr=null;Tn.addEventListener("pointerdown",e=>{if(0!==e.button)return;e.preventDefault(),e.stopPropagation();let t=nr(e.clientX,e.clientY);t&&(Kn=t,Jn=null,Vn.style.opacity="0",lr={x:e.clientX,y:e.clientY,element:t,pointerId:e.pointerId},Tn.setPointerCapture(e.pointerId),dr=$("div","selection"),Ln.append(dr))}),Tn.addEventListener("pointermove",e=>{if(!lr||!dr)return Jn={x:e.clientX,y:e.clientY},void rr();Object.assign(dr.style,{left:`${Math.min(lr.x,e.clientX)}px`,top:`${Math.min(lr.y,e.clientY)}px`,width:`${Math.abs(lr.x-e.clientX)}px`,height:`${Math.abs(lr.y-e.clientY)}px`})});let cr=!1;function pr(e,t,n=t,i=!1){if(st(),cr=i,Un(),e=Se(e,me,R.anchorTarget),at=Ce(e,t,n,R.source),xi){let e=me.getBoundingClientRect(),i=Aa*ta();at.pageX=(Math.min(t.x,n.x)-e.left)/i+me.scrollLeft,at.pageY=(Math.min(t.y,n.y)-e.top)/i+me.scrollTop}Kn=e,Ie=!1,it=null,Je=!1,wn=null,vt="",sr(),Rn.querySelector('[data-focus-key="body"]')?.focus({preventScroll:!0}),No()}function ur(){if(Ht&&nt.find(e=>e.id===Ht)?.page!==na()&&tr(),En||De||document.hidden)return;let e=na();!at&&!it&&!Ie&&!aa&&(Ne||!nt.some(t=>t.page===e&&!t.resolved))||(En=requestAnimationFrame(()=>{En=0,ao(),No(),pa(),ir()}))}Tn.addEventListener("pointerup",e=>{if(!lr)return;let t=lr;dr?.remove(),dr=null,lr=null,pr(t.element,t,{x:e.clientX,y:e.clientY})}),Tn.addEventListener("pointerleave",()=>{lr||at||(Jn=null,Kn=null,Vn.style.opacity="0")}),Tn.addEventListener("pointercancel",()=>{lr=null,dr?.remove(),dr=null,Jn=null,Kn=null,Vn.style.opacity="0"}),document.addEventListener("scroll",e=>{Dn=!0,Un();let t=e.target;t===An||!t||t instanceof Node&&t.getRootNode()===Ln||!((t===document?document.scrollingElement:t)instanceof Element)||(Ht||(no=!0,_n.dataset.scrolling="true",clearTimeout(io),io=window.setTimeout(()=>{De||(Qa="",ao(!0),no=!1,delete _n.dataset.scrolling)},180)),ur())},{capture:!0,passive:!0,signal:Be.signal});for(let e of["focusin","focusout","click"])Rn.addEventListener(e,()=>requestAnimationFrame(No),{signal:Be.signal});window.visualViewport?.addEventListener("scroll",()=>{se(window.innerWidth,window.innerHeight)&&(_a(),(Je||at||it)&&ur())},{signal:Be.signal}),window.visualViewport?.addEventListener("resize",()=>{se(window.innerWidth,window.innerHeight)&&(_a(),ur())},{signal:Be.signal}),window.addEventListener("resize",()=>{(function(){let e=se(window.innerWidth,window.innerHeight);e!==ve&&(Ln.append(Pn),Yi(),Na(!0),Da(),qa(),ve=e,e||(qn.style.translate="",Lt||(qn.style.bottom="")),ye=!e&&"edge"===we,Pn.removeAttribute("style"),Di(),La="",sr())})(),_a(),ve||Za(),ur()},{signal:Be.signal}),C(Ln,"keydown",e=>{Si=!0,queueMicrotask(()=>{Si=!1});let t=e.composedPath()[0];if((Je||ve&&Fe)&&"Tab"===e.key){let t=[...(Je?Rn:Ue?Ln.querySelector(".design-inspector")??Ln:Ln).querySelectorAll("button:not(:disabled),input:not(:disabled):not([type=hidden]),select:not(:disabled),textarea:not(:disabled),summary,a[href],[tabindex]")].filter(e=>e.tabIndex>=0&&e.getClientRects().length>0&&!e.closest("[inert]")&&(Je||Ue||!ve||!!e.closest(".panel,.toolbar"))),n=t[0],i=t.at(-1);!e.shiftKey||Ln.activeElement!==n&&t.includes(Ln.activeElement)?!e.shiftKey&&(Ln.activeElement===i||!t.includes(Ln.activeElement))&&(e.preventDefault(),n?.focus()):(e.preventDefault(),i?.focus())}let n=document.activeElement;for(;n?.shadowRoot?.activeElement;)n=n.shadowRoot.activeElement;let i=v(t)||v(n)||e.isComposing;if("Escape"!==e.key){if(!i){if(Xe&&Re(e,G.restore))return e.preventDefault(),void Ka();R.onboarding||(Re(e,G.comment)?(e.preventDefault(),Ca(!Ye)):Re(e,G.browse)?(e.preventDefault(),Ca(!1)):Q&&Re(e,G.design)?(e.preventDefault(),Ea(!Ue)):Re(e,G.comments)&&(e.preventDefault(),Xa(!Fe)))}}else{if(Ue||e.defaultPrevented&&!e.composedPath().includes(An))return;Ie||at||it||Je?(e.preventDefault(),Ua()):Fe&&(e.preventDefault(),Xa(!1))}},{signal:Be.signal}),C(Ln,"pointerdown",e=>{let t=e.composedPath(),n=t.some(e=>e instanceof Element&&e.getRootNode()===Ln&&e.matches("button,input,textarea,summary,[role=menu],[role=listbox],.emoji-menu,.emoji-keyboard,.floating-notice"));0===e.button&&(it||at)&&(!at||!se(window.innerWidth,window.innerHeight))&&!Je&&!t.includes(Rn)&&!t.includes(qn)&&!t.includes(_n)&&(!Ie||!t.includes(Tn))&&!n&&(at&&gn.trim()&&(Nt={anchor:at,text:gn}),Ua());for(let t of Ln.querySelectorAll(".comment-menu[open]"))e.composedPath().includes(t)||(t.open=!1)},{signal:Be.signal});let hr=new ResizeObserver(()=>{mi(),ur()});hr.observe(me);let mr=0,gr=new MutationObserver(e=>{if(e.some(e=>e.target===document.body)&&mi(),at||it||Ie||aa)return ur();mr||(mr=window.setTimeout(()=>{mr=0,ur()},80))});function fr(){De||na()===Sn||(Sn=na(),dt?.clearSelection(),dt?.setReturnAction(null),Nt=null,it=ot?.id===it?it:null,at=null,sr())}gr.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),r(An,()=>"0"!==Vn.style.opacity?[ar]:[],rr,Be.signal),Rn.addEventListener("pointerdown",e=>{Je&&e.target===Rn&&Ua()});let br=()=>setTimeout(()=>(fr(),yr()));async function xr(e){if(!R.navigate||e.origin!==location.origin)return location.assign(e);let t=e.searchParams.get("comment");if(!t)return;st(),rt.delete(t);let n={id:t,inspect:"design"===e.searchParams.get("comment-view"),pending:!0,rejected:!1};ot=n,it===t&&_o();try{await R.navigate(e)}catch{n.rejected=!0}De||ot!==n||(n.pending=!1,fr(),await vr(n))}window.addEventListener("popstate",br,{signal:Be.signal}),window.navigation?.addEventListener("navigatesuccess",br,{signal:Be.signal});let wr=null;async function vr(e){let t=nt.find(t=>t.id===e.id);if(!t||wr===e||e.opened)return;wr=e;for(let n=0;n<5e3&&lt(t)&&!Ee(t.anchor)&&(await new Promise(e=>setTimeout(e,100)),!De&&ot===e);n+=100);if(wr===e&&(wr=null),De||ot!==e||!nt.some(e=>e.id===t.id))return;let n=new URL(location.href);n.searchParams.get("comment")===e.id&&(n.searchParams.delete("comment"),n.searchParams.delete("comment-view"),history.replaceState(history.state,"",n)),fr(),e.opened=!0,Fe||Xa(!0),Ja(t,!0),e.inspect&&lt(t)&&Zo(t)}async function yr(){let e=new URL(location.href),t=e.searchParams.get("comment");if(t&&rt.has(t))return e.searchParams.delete("comment"),e.searchParams.delete("comment-view"),void history.replaceState(history.state,"",e);let n=nt.find(e=>e.id===t);!n||ot?.pending||(ot?.id!==n.id&&(st(),ot={id:n.id,inspect:"design"===e.searchParams.get("comment-view"),pending:!1,rejected:!1}),await vr(ot))}function kr(){let e=new i(R);return!(e.token===He.token||He.transient&&!e.token||(He.cancelReads(),He=e,Rt=!1,_t=null,wt="Connecting",Ot=Ft=It=Yt=qt=!1,at=Nt=null,gn=fn="",bn=[],jn.clear(),Xt.length=0,Et=yt=Ct=null,St++,clearTimeout(kt),Vi(),sr(),ha(jr),0))}window.addEventListener("storage",e=>{e.storageArea===localStorage&&e.key===He.sessionKey&&e.newValue!==He.token&&kr()},{signal:Be.signal}),window.addEventListener("focus",()=>{kr()||ba?.wake()},{signal:Be.signal});let Sr=e=>e.target.closest?.(".list .thread-item")?.dataset.thread??"",Cr=()=>{clearTimeout(Fo),Fo=window.setTimeout(()=>Io(),80)};for(let[e,t]of[["pointerover",e=>(Bo=Sr(e))?Io():Cr()],["pointerleave",()=>{Bo="",Cr()}],["focusin",e=>{Do=Sr(e),Io()}],["focusout",()=>{Do="",Cr()}],["scroll",()=>{Bo=Do="",Io()}]])Pn.addEventListener(e,t,{capture:!0,signal:Be.signal});ba=function(e){let t,n=!1,i=!1,a=!1,o=0,r=()=>{if(clearTimeout(t),i||!e.enabled())return;let n=e.active()?Math.min(Math.max(15e3,e.interval),e.interval*2**Math.min(o,3)):Math.max(6e4,e.interval);t=setTimeout(s,n*(.9+.2*Math.random()))},s=async()=>{if(!i&&e.enabled()){if(n)return void(a=!0);n=!0;try{o=await e.read()?0:o+1}catch{o++}finally{n=!1,a?(a=!1,l()):r()}}};function l(e=!0){o=0,clearTimeout(t),e?s():n||r()}return{wake:l,stop(){i=!0,clearTimeout(t)}}}({interval:Math.max(2e3,R.pollInterval??4e3),enabled:()=>!De&&!document.hidden&&!1!==navigator.onLine&&!R.onboarding,active:()=>Fe||Je||Ie||!!at||!!it,read:async()=>(fr(),Rt?ya():jr())});for(let e of["online","offline"])window.addEventListener(e,()=>ba?.wake(),{signal:Be.signal});if(An.addEventListener("click",()=>ba?.wake(!1),{signal:Be.signal}),An.addEventListener("keydown",()=>ba?.wake(!1),{signal:Be.signal}),!1!==R.isolateEvents){An.setAttribute("data-isolate",""),S(An,Be.signal);for(let e of y)An.addEventListener(e,e=>k(e,Ln)&&e.stopPropagation(),{passive:!0,signal:Be.signal});document.addEventListener("focusout",e=>e.relatedTarget===An&&e.stopImmediatePropagation(),{signal:Be.signal})}document.addEventListener("visibilitychange",()=>{document.hidden?(gr.disconnect(),clearTimeout(mr),mr=0):(gr.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),mi(),ur()),(document.hidden||!kr())&&ba?.wake()},{signal:Be.signal});let $r={destroy(){if(De)return;De=!0,st(),tr(),ba?.stop(),dt?.destroy(),ln?.resetDesignPreviews(),He.cancelReads(),Yi(),lo?.(),cancelAnimationFrame(ja),clearTimeout(mr),clearTimeout(io),clearTimeout(ki),clearTimeout(ro),To.clear(),Jt.stop(),ha(zt),mt?.(),dn?.(!0);for(let[e,t]of cn)t?.(),e.getAnimations().forEach(e=>e.cancel()),e.remove();cn.clear(),yi?.cancel(),zi?.stop(),Na(!0),Be.abort(),clearTimeout(Cn),clearTimeout($n),clearTimeout(zn),cancelAnimationFrame(En),cancelAnimationFrame(Gn),cancelAnimationFrame(oa),Un(),hr.disconnect(),gr.disconnect(),bi.disconnect(),ni.disconnect(),cancelAnimationFrame(fi);let e=xi?me.scrollTop*ta():window.scrollY/Aa;mi(),(xi||!ye)&&(Ta(),window.scrollTo({top:e,behavior:"instant"})),ea.disconnect(),Qn.unmount(),An.remove(),Pe.delete(document)},comment(e){let t=()=>{if(De||!e.isConnected)return;let t=e.getBoundingClientRect();!t.width||!t.height||pr(e,{x:t.left+t.width/2,y:t.top+t.height/2})};Fe&&!Sa()?(Xa(!1),yi&&wi?yi.finished.then(t).catch(()=>{}):t()):t()},open(){De||(Ka(),Xa(!0))},close(){De||(Ua(),Xa(!1))},async refresh(){await ya()}};Pe.set(document,{scope:oe,controller:$r}),Ci=!R.onboarding&&$i.get(),_a();let Er=R.onboarding?null:He.cached();Qe||=null!==Er;let zr=Ci;if(Ci=!0,Er&&pt.replace(wa(Er)),sr(),ye&&(Pn.style.transition="none",Bi(),Pn.offsetWidth,Pn.style.transition=""),Ci=zr,Ci&&(Xa(!0),Ci=!1,!w()))for(let e of[An,xi?me:null])e?.animate([{opacity:0},{opacity:1}],{duration:200,easing:"cubic-bezier(0.22, 1, 0.36, 1)"});async function jr(){let e,t=He,n=t.token;try{await t.restore()}catch{}if(De||t!==He)return;n!==t.token&&Vi(),Za(),Je&&_o();let i=ya();i.catch(()=>{});try{e=await t.request("config")}catch(e){if(De||t!==He||e instanceof DOMException&&"AbortError"===e.name)return;let n=de(e),i=_t?.detail!==n.detail;throw _t=n,wt="Offline",i&&sr(),e}if(De||t!==He)return;Rt=!0,Ot=!!e.google,Ft=e.github,It=e.guests,Yt=e.guestResolve,qt=!!e.private,sr();let a=await i;return De||t!==He?void 0:(yr(),sr(),a)}return yr(),R.onboarding?.inProject||ha(()=>jr().finally(()=>ba?.wake(!1))),$r}export{R as a,We as b,Oe as c};