@hazem3500/palette 0.9.109 → 0.9.111
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.
- package/NODE.md +25 -0
- package/README.md +51 -22
- package/cli/agent.mjs +7 -6
- package/cli/index.mjs +9 -5
- package/dist/{account-tokens-LBRVZAEJ.js → account-tokens-YO6MIZFF.js} +1 -1
- package/dist/chunk-DDYHX4RZ.js +1 -0
- package/dist/config.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/node.mjs +236 -222
- package/dist/{onboarding-YZ2MJBS5.js → onboarding-6OSADOWE.js} +1 -1
- package/dist/public-env.d.ts +4 -0
- package/dist/react.js +1 -1
- package/dist/server.js +226 -213
- package/dist/setup.js +1 -1
- package/package.json +1 -1
- package/server/index.ts +5 -8
- package/server/proxy-auth.ts +2 -0
- package/server/public-env.ts +4 -0
- package/server/setup-client.txt +27 -27
- package/server/tokens.ts +14 -0
- package/dist/chunk-ZIEPA67C.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){if(!e.onboarding?.inProject)return e;try{let t=JSON.parse(localStorage.getItem(D(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 t(e){let{scope:t="project",...i}=e;if("branch"===t&&!e.branch?.trim())throw new Error("Branch scope needs a build-time branch. Run palette sync before your build or set branch explicitly.");return{...i,endpoint:i.endpoint||"",repo:e.repo||e.project,branch:"branch"===t?e.branch:"shared"}}function i(e,t){let i=e.x<t/2?"right":"left",n=e.component;if(!n)return i;let{left:a,top:o,right:r,bottom:s}=n;if(r<=a||s<=o)return i;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?i:e.x<l?"right":"left"}function n(e,t){let i=I(e);return Math.max(24,t*(1+.4*(i-1))+(e>3?26:0)+4)}function a(e,t,i,n=24){let a=i?e+9-n:e-9;return{left:a,top:t-18,right:a+n,bottom:t+6}}function o(e,t){let i=e.getAttribute("style"),n=e.style.cssText,a=t.map(t=>[t,N(e,t)]);return()=>{for(let[t,i]of a)Y(e,t,i);e.style.cssText===n&&(null===i?(e.getAttribute("style"),e.removeAttribute("style")):e.setAttribute("style",i))}}function r(e,t){for(let i of e.getAnimations?.()??[])"transitionProperty"in i&&t.includes(String(i.transitionProperty))&&i.cancel()}function s(e,t,i,n,a=600,o=34){let r=t+((i-e)*a-t*o)*n;return{value:e+r*n,velocity:r}}function l(e,t,i,n,a){return{...e,x:"left"===e.edgeX?16:"right"===e.edgeX?Math.max(16,n-t-16):ne(e.x,n-t-16),y:"top"===e.edgeY?16:"bottom"===e.edgeY?Math.max(16,a-i-16):ne(e.y,a-i-16)}}function d(e,t,i,n,a){let o=l(e,t,i,n,a),r=n-t-16-o.x,s=a-i-16-o.y;return Math.min(o.x-16,r)<.05*n&&(o.edgeX=o.x-16<=r?"left":"right"),Math.min(o.y-16,s)<.05*a&&(o.edgeY=o.y-16<=s?"top":"bottom"),l(o,t,i,n,a)}function p(e,t,i,n,a,o,r=()=>!0,s=()=>!1){let p;t.addEventListener("pointerdown",c=>{let u=c.target;if(!r()||0!==c.button||u.closest("button,input,textarea,a,summary,[role=menu]")&&!s(u))return;p?.();let h=e.getBoundingClientRect(),m=!1,g=c.clientX,f=c.clientY,b=c.timeStamp,x=0,v=0,w=t=>{if(t.pointerId!==c.pointerId)return;if(!r())return void p?.();let n=t.clientX-c.clientX,o=t.clientY-c.clientY;if(!m&&Math.hypot(n,o)<5)return;if(!m){a?.();for(let t of e.getAnimations())t.cancel();e.dataset.dragging="true",m=!0}t.preventDefault();let s=t.timeStamp-b;s>0&&(x=.8*(t.clientX-g)/s+.2*x,v=.8*(t.clientY-f)/s+.2*v),g=t.clientX,f=t.clientY,b=t.timeStamp;let u=l({x:h.left+n,y:h.top+o},h.width,h.height,document.documentElement.clientWidth,window.innerHeight);i(u);let w=d(u,h.width,h.height,document.documentElement.clientWidth,window.innerHeight);e.dataset.snapX=w.edgeX??"",e.dataset.snapY=w.edgeY??""},y=n=>{if(n.pointerId!==c.pointerId)return;if(!r())return void p?.();if(p?.(),!m)return;let a=e.getBoundingClientRect(),s="pointercancel"!==n.type&&n.timeStamp-b<80?120:0;i(d({x:a.left+x*s,y:a.top+v*s},a.width,a.height,document.documentElement.clientWidth,window.innerHeight)),o?.();let l=e.getBoundingClientRect();matchMedia("(prefers-reduced-motion: reduce)").matches||e.animate([{translate:`${a.left-l.left}px ${a.top-l.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})};p=()=>{window.removeEventListener("pointermove",w,!0),window.removeEventListener("pointerup",y,!0),window.removeEventListener("pointercancel",y,!0),delete e.dataset.dragging,delete e.dataset.snapX,delete e.dataset.snapY,n.removeEventListener("abort",p)},n.addEventListener("abort",p,{once:!0}),window.addEventListener("pointermove",w,{capture:!0,passive:!1}),window.addEventListener("pointerup",y,!0),window.addEventListener("pointercancel",y,!0)},{signal:n})}function c(e,t,i,n,a,o){let r=t.left+t.width,s=t.top+t.height,l=Math.min(o-2*oe,le),d=t.left,p=t.top,c=t.width,u=t.height;return e.includes("e")&&(c=ce(t.width+i,de,a-t.left-oe)),e.includes("w")&&(c=ce(t.width-i,de,r-oe),d=r-c),e.includes("s")&&(u=ce(t.height+n,pe,Math.min(o-t.top-oe,l))),e.includes("n")&&(u=ce(t.height-n,pe,Math.min(s-oe,l)),p=s-u),{left:d,top:p,width:c,height:u}}function u(e){if(ge.has(e))return ge.get(e);let t={counts:{}};try{let i=JSON.parse(localStorage.getItem(e)??"null");for(let[e,n]of Object.entries(i?.counts??{}).slice(0,200))he(e)&&"number"==typeof n&&Number.isFinite(n)&&n>0&&(t.counts[e]=n);he(i?.recent)&&(t.recent=i.recent)}catch{}return ge.set(e,t),t}function h(e,t){let i=/\[([^\]\n]+)\]\((https?:\/\/[^\s)]+)\)|https?:\/\/[^\s<>]+/gi,n=0;for(let a of t.matchAll(i)){let i=a.index??0;i>n&&e.append(document.createTextNode(t.slice(n,i)));let o=void 0!==a[1],r=o?a[2]:a[0],{url:s,trailing:l}=g(r),d=m(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]));n=i+a[0].length}n<t.length&&e.append(document.createTextNode(t.slice(n)))}function m(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 g(e){let t=e.length;for(;t>0&&/[.,!?;:]$/.test(e.slice(0,t));)t--;for(let[i,n]of[["(",")"],["[","]"],["{","}"]])for(;t>0&&e[t-1]===n;){let a=e.slice(0,t),o=[...a].filter(e=>e===i).length;if([...a].filter(e=>e===n).length<=o)break;t--}return{url:e.slice(0,t),trailing:e.slice(t)}}function f(){return be??=import("./motion-animate-J4PEZPLG.js").then(e=>fe=e,e=>{throw be=void 0,e})}function b(e,t,i){for(let[n,a]of Object.entries(t)){let t=Array.isArray(a)?a.at(i):i?a:void 0;null!=t&&("y"===n?e.style.transform=`translateY(${parseFloat(String(t))||0}px)`:n in e.style&&(e.style[n]=String(t)))}}function x(e,t,i){if(fe)return fe.animate(e,t,i);let n,a=!1;b(e,t,0);let o=f().then(o=>a?new Promise(()=>{}):(n=o.animate(e,t,i),n.finished),()=>{if(a)return new Promise(()=>{});b(e,t,-1)});return{stop(){a=!0,n?.stop()},finished:o}}function v(e,t,i,n=t,a=!1,o=!1,r=!0){let s=i&&!xe(e,t),l=i&&!s,d=s?404:0,p=s&&r?o?Math.min(.9,(e-d-24)/e):.9:1,c=l?a?0:.18*t:t,u=l?n:s?r?t*(o?p:.9):Math.max(1,t-24-48):t,h=s?o||!r?24:e-d-e*p:0,m=s?r?(t-u)/2:48:0;return{desktop:s,mobile:l,framed:s,sheetTop:c,bottom:t-m-u,scale:p,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 w(e,[t,i],n){let a=n?1:Math.min(1,e.width/t,e.height/i);return{width:t,height:i,scale:a,pan:t*a>e.width+.5||i*a>e.height+.5,left:e.left+Math.max(0,(e.width-t*a)/2),top:e.top+Math.max(0,(e.height-i*a)/2)}}function y(e,t,i,n){let a=(e,t,i,n)=>Math.max(i,Math.min(e,n-t)),o=a(e.left,t,n.left,n.right),r=a(e.top,i,n.top,n.bottom),s=[[e.right+8,r],[e.left-t-8,r],[o,e.bottom+8],[o,e.top-8-i]],l=([e,a])=>Math.max(0,Math.min(e+t,n.right)-Math.max(e,n.left))*Math.max(0,Math.min(a+i,n.bottom)-Math.max(a,n.top)),d=s.find(e=>l(e)>=t*i-1)??s.reduce((e,t)=>l(t)>l(e)?t:e);return{x:a(d[0],t,n.left,n.right),y:a(d[1],i,n.top,n.bottom)}}function k(e){let t=e instanceof Ze?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."}}function S(e){let t,i=e.ownerDocument.createTreeWalker(e,NodeFilter.SHOW_TEXT),n="";for(;(t=i.nextNode())&&(t.parentElement?.closest(ye)||(n+=t.textContent+" "),!(n.length>320)););return ke(n)}function C(e){let t=yt().querySelectorAll(e);return 1===t.length?t[0]:null}function E(e,t){for(let i of["data-comment-anchor","id","data-testid","data-test","data-cy"]){let n=e.getAttribute(i);if(!n||n.length>500||"id"===i&&Se.test(n))continue;let a="id"===i?`#${CSS.escape(n)}`:`[${i}="${CSS.escape(n)}"]`;if(a.length<=2e3&&(!t||a===t)&&C(a)===e)return a}}function z(e){let t=e.ownerDocument,i=[],n=e;for(;n&&n!==t.body&&n!==t.documentElement;){let e=E(n);if(e){i.unshift(e);break}let t=n.parentElement?[...n.parentElement.children].filter(e=>e.tagName===n.tagName):[],a=n.tagName.toLowerCase();i.unshift(t.length>1?`${a}:nth-of-type(${t.indexOf(n)+1})`:a),n=n.parentElement}return n===t.body?i.unshift("body"):n===t.documentElement&&i.unshift("html"),i.join(" > ")}function $(e){return ke(e.getAttribute("aria-label")||(e.getAttribute("aria-labelledby")||"").split(/\s+/).map(t=>{let i=t&&e.ownerDocument.getElementById(t);return i?S(i):""}).join(" ")||e.getAttribute("alt")||e.labels&&[...e.labels].map(S).join(" ")||"")}function A(e){let t=e.ownerDocument,i=e.parentElement?.closest("li,article,tr,[data-comment-anchor]")||e.parentElement;return i&&i!==t.body&&i!==t.documentElement?S(i):""}function j(e){let t,i=e.ownerDocument,n=Ce(e)?null:e.parentElement;for(;n&&n!==i.body&&(t=E(n),!t);){if(Ce(n)){let e=z(n);e.length<=2e3&&(t=e);break}n=n.parentElement}let a=i.defaultView?.getSelection(),o=a?.rangeCount?a.getRangeAt(0):null,r=getComputedStyle(e);return{tag:e.tagName.length<=32?e.tagName.toLowerCase():void 0,role:ke(e.getAttribute("role")||"",80)||void 0,label:$(e)||void 0,nearby:A(e)||void 0,classes:ke(e.getAttribute("class")||"",200)||void 0,styles:["display","width","height","font-size","color","padding","gap"].map(e=>`${e}: ${r.getPropertyValue(e)}`).join("; ").slice(0,500),selectedText:o&&e.contains(o.commonAncestorContainer)&&!e.closest(ye)&&!e.querySelector(ye)&&ke(a.toString(),200)||void 0,scope:t}}function M(e,t){let i=t.context;return!!(t.text||i?.label||i?.nearby)&&(!t.text||(i?S(e)===ke(t.text):ke(e.textContent||"").startsWith(ke(t.text))))&&(!i||(!i.tag||e.tagName.toLowerCase()===i.tag)&&(!i.role||e.getAttribute("role")===i.role)&&(!i.label||$(e)===i.label)&&(!i.nearby||A(e)===i.nearby))}function L(e,t){if(e===t||e&&t&&(e.startsWith(t)||t.startsWith(e)))return!0;let i=e.toLowerCase().split(" ").filter(Boolean),n=new Set(t.toLowerCase().split(" ").filter(Boolean));return 2*i.filter(e=>n.has(e)).length/(i.length+n.size||1)>=.6}function _(e,t,i){let n=[],a=e.ownerDocument;for(let i=e;i&&i!==a.body&&i!==a.documentElement&&((i!==t||i===e)&&n.push(i),i!==t&&!Ce(i));i=i.parentElement);let o=i?.(e);return o?.isConnected&&n.includes(o)?o:n.find(e=>e.hasAttribute("data-comment-anchor")&&E(e))||(n.slice(1).find(e=>e.matches("article,li,tr,[role=listitem],[role=row],[role=button],[role=link]")&&E(e))??e)}function T(e,t,i,n){let a=e,o=e.ownerDocument,r=o.defaultView??window;[t,i]=[$t(t.x,t.y,r),$t(i.x,i.y,r)];let s=Math.min(t.x,i.x),l=Math.min(t.y,i.y),d=Math.max(t.x,i.x),p=Math.max(t.y,i.y);for(;a.parentElement&&a!==o.body;){let e=a.getBoundingClientRect();if(s>=e.left&&d<=e.right&&l>=e.top&&p<=e.bottom&&e.width&&e.height)break;a=a.parentElement}let c=a.getBoundingClientRect(),u=e=>Math.max(0,Math.min(1,e)),h=d-s>6||p-l>6,m=u((s-c.left)/(c.width||1)),g=u((l-c.top)/(c.height||1));return{selector:z(a),text:S(a),context:j(a),x:m,y:g,width:h?Math.min(1-m,(d-s)/(c.width||1)):0,height:h?Math.min(1-g,(p-l)/(c.height||1)):0,pageX:s+r.scrollX,pageY:l+r.scrollY,viewportWidth:r.innerWidth,source:("function"==typeof n?n(a):n)??a.closest("[data-comment-source]")?.getAttribute("data-comment-source")??void 0}}function P(e,t,i=Ee){let n=null;try{let a=e.selector?C(e.selector):yt().body;if(n=t?.isConnected&&t===a?t:a,n&&E(n,e.selector))return n;if(n&&!M(n,e))return R(e,i)??(function(e,t){let i=t.context;return!!i?.tag&&e.tagName.toLowerCase()===i.tag&&(!i.role||e.getAttribute("role")===i.role)&&(!i.classes||ke(e.getAttribute("class")||"",200)===i.classes)&&L(ke(t.text),S(e))&&(!i.nearby||L(i.nearby,A(e)))}(n,e)?n:null);if(n||!e.context?.scope)return n&&function(e,t,i){let n=t.context;if(!n?.tag||!(t.text||n.label||n.nearby))return e;let a=n.scope?C(n.scope):null,o=a?i(a,t,!0):e.parentElement?i(e.parentElement,t,!1):[];return 1===o.length?o[0]:o.includes(e)&&o.every(t=>t.contains(e)||e.contains(t))?e:null}(n,e,i);n=R(e,i)}catch{n=null}return n}function R(e,t){let i=e.context;if(!i?.tag||!i.scope||!(e.text||i.label||i.nearby))return null;let n=C(i.scope),a=n?t(n,e,!0):[];return 1===a.length?a[0]:null}function q(e,t){return W(e,P(e,t))}function W(e,t){if(t){let i=t[ze],n=Et(i?.isConnected?i:t);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}}}let i=kt(),n=zt({left:e.pageX*i.innerWidth/e.viewportWidth-i.scrollX,top:e.pageY-i.scrollY,width:0,height:0},i);return{x:n.left,y:n.top,width:0,height:0,attached:!1}}function O(){let e=new Map,t=new Map,i=new WeakMap,n=new WeakMap,a=(e,t,a)=>{let o=t.context,r=[ke(t.text),o.tag,o.role,o.label,o.nearby],s=JSON.stringify([a,o.tag,r.map(Boolean)]),l=i.get(e);l||i.set(e,l=new Map);let d=l.get(s),p=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=n.get(t);e||n.set(t,e=[S(t),t.tagName.toLowerCase(),t.getAttribute("role")||"",$(t),A(t)]);let i=p(e),a=d.get(i);a?a.push(t):d.set(i,[t])}}return d.get(p(r))??[]},o=t=>(e.has(t)||e.set(t,P(t,void 0,a)),e.get(t)??null);return{resolve:o,locate:e=>(t.has(e)||t.set(e,W(e,o(e))),t.get(e))}}function H(e){return B(t(e))}function B(t){function d(){va&&!va.opened&&wa.add(va.id),va=null}function m(e){return ya(e)&&!(va?.id===e.id&&(va.pending||va.rejected))}function g(e,t){return(i,n)=>i.flatMap(i=>{if(i.id!==n(e))return[i];let a=t(i);return a?[a]:[]})}async function b(e,t,i){let n=Qn,a=Qn.token,o=ma,r=()=>ta||Qn!==n||o!==ma||Qn.token!==a;try{await Ca.submit(e,async e=>{if(r())throw new DOMException("Session changed","AbortError");return t(e)})}catch(e){throw r()?new DOMException("Session changed","AbortError"):(i?.(),an(),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");Ca.busy||Bt(Xt)}function S(){clearTimeout(_a);let e=qa;return qa=null,e&&(Ra=Ra.catch(()=>{}).then(async()=>{if(Qn.token===e.token)try{let t=await Qn.request("me","PATCH",{name:e.name,avatarUrl:e.avatarUrl,accentColor:e.accentColor});if(Qn.token!==e.token)return;Pa=t.user,Ta===e.revision&&Qn.save({token:e.token,user:t.user}),ta||(wi(),Bt(Xt))}catch(t){throw Qn.token===e.token&&Ta===e.revision&&(Qn.user=Pa,La=null,an()),new Error(`Couldn't save your profile. ${t instanceof Error?t.message:"Try again."}`,{cause:t})}})),Ra}function C(e,t=!1){!Qn.token||!e.name.trim()||((!Pa||Pa.id!==Qn.user?.id)&&(Pa=Qn.user?{...Qn.user}:null),qa={...e,name:e.name.trim(),token:Qn.token,revision:++Ta},Qn.user&&(Qn.user={...Qn.user,...e,name:e.name.trim()}),wi(),clearTimeout(_a),t?Bt(S):_a=window.setTimeout(()=>Bt(S),500))}function E(){let e=mt("Continue with Google",()=>Bt(()=>Ti("google")),"google-signin secondary");return e.prepend(vt()),e}function z(e,t){return Object.fromEntries(t.map(t=>[t,e.style[t]]))}function $(e=""){if(Fr)return;Fr=!0;let t=location.href;try{let e=xr?.iframe.contentWindow?.location.href;e?.startsWith(location.origin)&&(t=e)}catch{}Yr().then(({leaveShellPage:i})=>i(t,e))}function A(){xr&&(xr.destroy(),xr=void 0,qr=!1,br?.status({active:!1}),j())}function j(){let e=ka?.selected;if(!e||e.ownerDocument===yt())return;let t=Mt(e,yt());ka.clearSelection(),t&&ka.select(t)}function M(){let e=new URL(t.frame?.iframeUrl?.(location)??location.href,location.href);if(jn)for(let t of[G,Z])e.searchParams.delete(t);return e.href}function L(){_r||(_r=!0,import("./frame-size-TF6SIUFO.js").then(({mountFrameSize:e})=>{ta||(br=e(Io,()=>qr&&xr?xr.port:zn,Lr,e=>{if(e){Or="",Ir=!1;try{tt(sessionStorage,ee)}catch{}}Us="",Zt(),rn()},w,Pr&&("transform"===t.frame?.defaultMode?"transform":"iframe"),{pan:R,onFrame:Lt,shortcuts:gn,textEntry:Rt,shell:An,anchor(){let e=fa.find(e=>e.id===ba),t=xa??(e&&m(e)?e.anchor:null),i=t&&_l(t);return i&&i.attached?{x:i.x/qs(),y:i.y/qs()}:null}}),br.status(qr?{active:!0}:Or?{active:!1,reason:Or}:{active:!1,loading:!!xr||Rr}),br.sized?(Us="",Zt()):br.update(Tr,qs()))}))}function R(){Gr||(Gr=requestAnimationFrame(W),Qr())}function W(){if(Gr=0,!is||!Tr||!br||ta||Wr)return;let e=qs(),t=br.view({left:Tr.left/e,top:Tr.top/e,width:Tr.width/e,height:Tr.height/e},[window.innerWidth/e,window.innerHeight/e]);Mr.left=t.left,Mr.top=t.top,zn.style.left=`${t.left}px`,zn.style.top=`${t.top}px`,H(),br.update(Tr,e),Ci(!0),Fi(),Ot(),en(),Qr()}function H(){let e=qs(),i=Mr.left,n=Mr.top,{width:a,height:o}=Mr,r=is&&!ta&&!Wr,s=r&&!0!==t.frame?.scale;s&&jr.update(Mr.logical),Ar.update(r?{scale:Xs,left:i,top:n,zoom:e,bounds:{left:i,top:n,right:i+a,bottom:n+o,width:a,height:o}}:null),s||jr.update(null)}function B(){let e=is||ns,t=[document.body.style.background,vr.style.background];e&&(document.body.style.background=Sr.background,vr.style.background=$r);let i=[document.body,vr].map(e=>getComputedStyle(e).backgroundColor).find(e=>"rgba(0, 0, 0, 0)"!==e)??"#fff";return e&&([document.body.style.background,vr.style.background]=t,ts.takeRecords()),i}function I(){let[e,t,i]=/^rgb/.test(as)?as.match(/[\d.]+/g).map(Number):[255,255,255];Uo.dataset.page=.2126*e+.7152*t+.0722*i<128?"dark":"light"}function ne(){let e=Number(getComputedStyle(zn).opacity);return zn.animate([{opacity:.94*e},{opacity:e}],{duration:250,easing:"cubic-bezier(0.22, 1, 0.36, 1)"})}function ce(e){!Ko.offsetWidth||!Ko.offsetHeight||(Gn=l(e,Ko.offsetWidth,Ko.offsetHeight,vr.clientWidth,window.innerHeight),Ko.style.left=`${Gn.x+Ko.offsetWidth/2}px`,"bottom"!==Gn.edgeY||Wn?(Ko.style.top=`${Gn.y}px`,Ko.style.bottom="auto"):(Ko.style.top="auto",Ko.style.bottom="calc(16px + env(safe-area-inset-bottom,0px))"))}function ue(e){if("true"===Jo.dataset.dragging)return ro=e,Jo.style.left=`${e.x}px`,void(Jo.style.top=`${e.y}px`);Jo.offsetWidth&&(ro=l(e,Jo.offsetWidth,Jo.offsetHeight,vr.clientWidth,window.innerHeight),ye())}function ge(){Jo.style.width=`${po}px`,Jo.style.height=null==co?"":`${co}px`,zi()}function fe(){oo=ro;try{localStorage.setItem(so,JSON.stringify({...oo,width:po,height:co}))}catch{}}function be(){let e=vr.clientWidth,t=window.innerHeight;po=Math.min(Math.max(po,de),Math.max(de,e-2*oe)),null!=co&&(co=Math.min(Math.max(co,pe),Math.max(pe,Math.min(t-2*oe,le)))),ge()}function ye(){if(Wn||!On)return;be();let e=Jo.offsetHeight||Math.min(window.innerHeight-2*oe,le),t=function(e,t,i,n,a){let o=l(e??{x:Math.max(oe,n-t-oe),y:oe},t,i,n,a),r="left"===o.edgeX?"left":"right";return{x:o.x,y:o.y,width:t,height:i,side:r}}(ro,po,e,vr.clientWidth,window.innerHeight),i=function(e,t){let i="right"===e.side?t+se:-(e.width+se),n="right"===e.side?t-re:re-e.width;return{parked:i-e.x,peek:n-e.x}}(t,vr.clientWidth);Jo.style.left=`${t.x}px`,Jo.style.top=`${t.y}px`,Jo.style.setProperty("--edge-account-max-height",`${Math.max(0,window.innerHeight-t.y-28)}px`),Jo.style.right="auto",Jo.style.bottom="auto",Jo.style.transformOrigin="left"===t.side?"left center":"right center",Jo.style.setProperty("--edge-park-x",`${i.parked}px`),Jo.style.setProperty("--edge-peek-x",`${i.peek}px`),Zo.style.left="left"===t.side?"0px":"",Zo.style.right="right"===t.side?"0px":"",ia?(delete Jo.dataset.collapsed,delete Jo.dataset.peek,Zo.hidden=!0):(Jo.dataset.collapsed="true",lo?Jo.dataset.peek="true":delete Jo.dataset.peek,Zo.hidden=!1)}function ke(){Fo.dataset.sidebar=Wn?"mobile":On?"edge":"background",Jo.classList.toggle("edge-sidebar",On),Jo.style.transition="none",Jo.style.translate="",Jo.style.opacity="",pi(!0),On?Cs.isConnected||Jo.prepend(Cs):(Cs.remove(),delete Jo.dataset.collapsed,delete Jo.dataset.peek,Zo.hidden=!0),Jo.offsetWidth,Jo.style.transition=""}function Se(){for(let e of ks)e.cancel();ks=[],ns=!1,Uo.style.opacity=""}function Ce(e,i){if(Wn||e===Ln||ta||!$n&&"background"===e)return;let n=()=>[zn,Jo.querySelector(".panel"),Ko,Vo.querySelector(".account-dialog")],a=n().map(e=>e?.getBoundingClientRect());if(Se(),os?.cancel(),os=void 0,ms?.stop(),ms=void 0,pi(!0),ri(),ei(),Ko.style.translate="",gs=void 0,Ss=!0,Ln=e,On="edge"===e,!i){Hn=!1,t={...t,sidebar:e};try{localStorage.setItem(Mn,e)}catch{}}if(ke(),Zt(),an(),Ss=!1,Pt())return;n().forEach((e,i)=>{let n=a[i];if(!e?.isConnected||!n?.width)return;if(e===zn&&!0!==t.frame?.scale)return void ks.push(ne());e!==zn&&e.getAnimations().forEach(e=>e.cancel());let o=e.getBoundingClientRect();if(!o.width)return;let r=o.width/e.offsetWidth,s=getComputedStyle(e).transform;ks.push(e.animate([{transform:`${"none"===s?"":s} translate(${(n.left-o.left)/r}px, ${(n.top-o.top)/r}px) scale(${n.width/o.width})`,transformOrigin:"top left"},{transform:s,transformOrigin:"top left"}],{duration:250,easing:"cubic-bezier(0.22, 1, 0.36, 1)"}))});let o=ks;ns=!0,Uo.style.opacity="0",Promise.all(o.map(e=>e.finished)).then(()=>{ta||o!==ks||(ks=[],ns=!1,Uo.style.opacity="",H(),Ar.reposition(),rn())}).catch(()=>{})}function Ee(e,t,i,n,a){let o=ut("div","account-setting"),r=ut("span","account-setting-label",t),s=Te(t,i,n,e=>a(e));return s.querySelector("summary").dataset.focusKey=`setting-${e}`,o.append(r,s),o}function ze(e){if(e!==Yn&&!ta){if(ca||Ca.busy)return void Wt("Wait for your changes to save.");Yn=e;try{localStorage.setItem(Nn,e)}catch{}t={...t,branch:"local"===e?"local":In},Qn.cancelReads(),Qn=new Qe(t),ua=Ha=!1,Ls=void 0,Wa="",Oa=null,ja="Connecting",Ia=Ua=Va=Ka=Ba=Ja=!1,ba=null,xa=null,Ga=null,Le(),an(),Yt()}}function Le(){d(),ma++,ua=!1,Wa="",ba=null,Ls=void 0;let e=Qn.cached();ha=null!==e,Ca.reset(Fs(e??[]))}function kt(){let e=St()?.contentWindow?.location??location;return function(e){return e.replace(/\/+$/,"")||"/"}(t.page?.(e)??e.pathname)}function zt(){cancelAnimationFrame(Hs),!ta&&Io.querySelector(".floating-notice")&&(Ot(),Hs=requestAnimationFrame(zt))}function $t(e=xa??fa.find(e=>e.id===ba)?.anchor){let t=Vo.firstElementChild?.getBoundingClientRect();if(!t||pa)return;let i=e?_l(e):null;return{cardKey:Qa,left:t.left,top:t.top,anchor:e,offsetX:t.left-(i?.x??0),offsetY:t.top-(i?.y??0),scrollX:window.scrollX,scrollY:window.scrollY}}function qt(e){e.dataset.closing||(e.dataset.closing="true",e.inert=!0,e.setAttribute("aria-hidden","true"),Os===e&&(Os=null,clearTimeout(qo)),Pt()?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 Wt(e,t,i=$t()){ur.textContent=e,Os&&qt(Os);let n=ut("div","toast floating-notice");Os=n,i&&Ws.set(n,i),n.setAttribute("role",t?"alertdialog":"status"),n.setAttribute("aria-label",e),n.append(ht("info"),ut("span","",e)),t&&n.append(mt(t.label,()=>{qt(n),t.run()},"notice-action")),n.append(mt("Dismiss notice",()=>qt(n),"icon","close")),Io.append(n),Ot(),zt(),Pt()||n.animate([{opacity:0,translate:"true"===n.dataset.attached?`0px ${("above"===n.dataset.placement?1:-1)*(n.offsetHeight/2+10)}px`:"0px 6px",scale:"true"===n.dataset.attached?.94:.97},{opacity:1,translate:"0px 0px",scale:1}],{duration:250,easing:"cubic-bezier(.22,1,.36,1)"}),clearTimeout(qo),qo=window.setTimeout(()=>qt(n),5e3)}function Ot(){for(let e of Io.querySelectorAll(".floating-notice")){let t=Ws.get(e);if(!t)continue;let i=t.anchor?_l(t.anchor):null,n=(pa||Qa!==t.cardKey?null:Vo.firstElementChild)?.getBoundingClientRect();n&&(e.style.maxWidth=`${Math.min(360,n.width,innerWidth-24)}px`,t.left=n.left,t.top=n.top,t.offsetX=n.left-(i?.x??0),t.offsetY=n.top-(i?.y??0),t.scrollX=window.scrollX,t.scrollY=window.scrollY);let a=n?n.left+(n.width-e.offsetWidth)/2:i?i.x+t.offsetX:t.left+t.scrollX-window.scrollX,o=!!n&&n.bottom+10+e.offsetHeight>innerHeight-12;e.dataset.placement=o?"above":"below";let r=n?o?n.top-e.offsetHeight-10:n.bottom+10:i?i.y+t.offsetY:t.top+t.scrollY-window.scrollY,s=String(!!n),l=void 0!==e.dataset.attached&&e.dataset.attached!==s,d=l?e.getBoundingClientRect():null,p=Bs.get(e);if(p&&(l||Math.abs(p.left-a)>.5||Math.abs(p.top-r)>.5)&&(p.animation.cancel(),Bs.delete(e)),e.dataset.attached=s,Object.assign(e.style,{left:`${a}px`,top:`${r}px`,bottom:"auto",transform:"none",transformOrigin:n?o?"50% 100%":"50% 0%":"0% 0%"}),d&&!e.dataset.closing&&!Pt()){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)"});Bs.set(e,{animation:t,left:a,top:r})}}}function Ht(e){ta||e instanceof DOMException&&"AbortError"===e.name||(Ma=e instanceof Error?e.message:"Something went wrong. Try again.",Wt(Ma))}function Bt(e){e().catch(Ht)}function Dt(e,t){return t.then(t=>{e.isConnected&&e.replaceWith(t)}).catch(Ht),e}function Ft(){Vn?.dispose(),Vn=Kn=Jn=void 0}function It(){Jn=Qn,Hi(),Vo.querySelector(".account-dialog").scrollTop=0}function Nt(e){return Dt(ut("section","account-usage"),import("./onboarding-6OSADOWE.js").then(({accountUsage:t})=>t(Qn,e,!0,Fn&&"local"===Yn)))}function Yt(){Bt(Ha?Xt:un)}async function Xt(){if(ta||ua||Ca.busy||t.onboarding)return;let e=Ca.revision,i=Qn,n=i.token,a=ma;ua=!0;try{let t=await i.list();if(ta||i!==Qn||a!==ma||n!==i.token||Ca.busy||e!==Ca.revision)return;if(t===Ls&&e===Is&&"Live"===ja)return!1;Ls=t,Is=e,ha=!0;let o=Fs(t),r=JSON.stringify(o)!==JSON.stringify(fa),s="Live"!==ja;return Wa="",Ha&&(Oa=null),ja=Oa?"Offline":"Live",ba&&!o.some(e=>e.id===ba)&&(ba=null),r?Ca.replace(o,e):s&&(ji(),wi()),r}catch(t){if(ta||i!==Qn||a!==ma||t instanceof DOMException&&"AbortError"===t.name)return;throw n!==i.token&&Le(),t instanceof Ze&&(401===t.status||403===t.status)&&"site_not_approved"!==t.code&&(Wa=t.message,ba=null,Ls=void 0,Ca.replace([],e)),Oa=Wa?null:k(t),ja="Offline",ji(),wi(),t}finally{i===Qn&&a===ma&&(ua=!1)}}function Ut(){!sa&&Bn&&(Bn=!1,ro=oo,ye()),Hn!==sa&&(!sa||$n&&!Wn&&"edge"===Ln)&&(Hn=sa,Wn?Ln="edge":Ce(sa?"background":"edge",!0))}function Vt(e){if(d(),Zi(),t.onboarding)return;sa&&(sa=!1,ka?.setActive(!1),Ut()),aa=e,e&&mi(),ia&&!Ns()&&ci(!1);let i=e?Ga??Za.shift():null;if(i)return xa=i.anchor,$o=i.text,Ga=null,ba=null,pa=!1,na=!1,an(),void Vo.querySelector("textarea")?.focus();na=e,Ms?.wake(!1),oa=!1,pa=!1,e&&(ba=null,xa=null),an()}function Kt(){la&&(la=!1,ci(ga??!0),ga=null,requestAnimationFrame(()=>{let e=Jo.querySelector(".list");e&&(e.scrollTop=da),(Io.querySelector('.dialog [aria-label="Comment actions"]')??Io.querySelector('[data-menu-item="design"]'))?.focus({preventScroll:!0})}))}function Jt(e){t.onboarding||xa||e&&!xn||(e&&(ga=null,ba||ka?.setReturnAction(null),la=!0,ia&&(da=Jo.querySelector(".list")?.scrollTop??0),Vt(!1),sa=!0,Dn=!1,Ut(),ia||ci(!0),pa=!1,Jo.querySelector(".panel")?.contains(Io.activeElement)&&Jo.focus({preventScroll:!0})),sa=e,e?Ui().then(e=>e?.setActive(sa)):(ka?.setActive(!1),Ut(),Kt()),an())}function Gt(){for(let e of zr.values())e();zr.clear(),kr(),Cr(),Er()}function Zt(){let e=qs(),i=xe(window.innerWidth,window.innerHeight)?Math.min(window.innerHeight,window.visualViewport?.height??window.innerHeight):window.innerHeight,n=`${window.innerWidth}:${window.innerHeight}:${i}:${e}:${ia}:${pa}:${Ln}:${sa}:${window.visualViewport?.offsetTop??0}`;if(Us===n)return;if(Wn||Se(),Us=n,Fo.style.zoom=String(1/e),Fo.style.width=`${window.innerWidth}px`,Uo.style.opacity="",On||Wn){if(jn&&Dr)return $();os?.cancel(),ns=!1;let t=is?zn.scrollTop*e:null;if(is&&(Gt(),Xs=1),null!==t&&window.scrollTo({top:t,behavior:"instant"}),Fo.style.height=Wn?`${window.innerHeight}px`:"",Fo.style.top=Wn?"":"0px",Wn){let e=Vs();Ko.style.translate=`0 ${e}px`,Fo.style.setProperty("--mobile-panel-height",`${Math.max(1,.9*i)}px`),Fo.style.setProperty("--mobile-panel-bottom",-e+"px")}return Fo.classList.toggle("review-open",ia),is=!1,H(),br?.update(null),Uo.style.clipPath="",void Object.assign(Xo.style,{left:"",top:"",width:"",height:""})}let a=is&&!Wr?zn.scrollTop:window.scrollY/(e*Xs),r=is,s=is?zn.getBoundingClientRect():{left:0,top:0,width:window.innerWidth};os?.cancel(),ns=!1;let l=v(window.innerWidth,i,ia,window.innerHeight,pa,!0,!0===t.frame?.scale),d=l.framed,p=!0===t.frame?.scale,c={left:l.left,top:l.top,width:l.visibleWidth,height:l.height},u={left:c.left/e,top:c.top/e,width:c.width/e,height:c.height/e},h=[window.innerWidth/e,window.innerHeight/e],m=p?{...u,scale:1,pan:!1}:br?.view(u,h)??w(u,h,!1);if(d&&!p&&Br())!An||jn||Ir?function(){if(xr||Rr)return;Rr=!0,br?.status({active:!1,loading:!0});let e=is&&!Wr?zn.scrollTop:window.scrollY/qs();import("./frame-iframe-PYLYMCOK.js").then(({openFrameViewport:t})=>{if(Rr=!1,ta||!is||xr||!Br())return;let i=xr=t({parent:Io,before:Xo,url:M(),background:as,scroll:e,ready(){xr===i&&(qr=!0,jn&&Xr(),j(),br?.status({active:!0}),Ur())},failed(e){if(xr===i){if(jn)return $(e);Or=e,A(),br?.status({active:!1,reason:e}),Ur()}},changed(){jn&&Xr(),sn(),rn()}});Ur()})}():function(){if(Fr)return;Fr=!0,br?.status({active:!1,loading:!0});let e=!ss;Yr().then(({enterShell:i})=>!ta&&i(t.project,e,!!ka?.edited,()=>{Fr=!1,Ir=!0,ta||Ur()}))}();else{if(jn&&Dr)return $();xr&&A()}let g=d&&!p&&qr,f=d&&!p&&m.pan&&!g;if(Tr=d&&!p?c:null,Fo.style.setProperty("--review-viewport-height",`${i}px`),Fo.style.height=`${i}px`,Fo.style.top="",Fo.classList.toggle("review-open",ia),Fo.classList.toggle("design-active",sa),g&&xr)r&&!Wr&&(Gt(),window.scrollTo({left:Mr.pan?0:window.scrollX,top:a*e,behavior:"instant"})),vr.style.overflow="hidden",Xs=1,Mr={left:m.left,top:m.top,width:Math.min(u.width,m.width*m.scale),height:Math.min(u.height,m.height*m.scale),logical:[m.width,m.height],pan:!1},xr.place({left:Mr.left*e,top:Mr.top*e,width:Mr.width*e,height:Mr.height*e,logical:Mr.logical,scale:m.scale,pan:m.pan});else if(d){Xs=p?l.scale:m.scale;let t=Xs*e;Mr=p?{left:l.left/e,top:l.top/e,width:window.innerWidth/e*Xs,height:l.height/e,logical:[window.innerWidth/e,l.height/t],pan:!1}:{left:m.left,top:m.top,width:m.width*m.scale,height:m.height*m.scale,logical:[m.width,m.height],pan:f},Object.assign(zn.style,{position:"fixed",transform:1!==Xs?`scale(${Xs})`:wr.transform,transformOrigin:"top left",left:`${Mr.left}px`,top:`${Mr.top}px`,width:`${p?window.innerWidth/e:m.width}px`,boxSizing:"border-box",height:`${p?l.height/t:m.height}px`,paddingBottom:wr.paddingBottom,zoom:wr.zoom,overflow:p?"hidden auto":"auto",borderRadius:12/t+"px",background:as,borderRight:wr.borderRight,borderBottom:wr.borderBottom,clipPath:wr.clipPath});for(let e of zn.querySelectorAll("header"))!zr.has(e)&&"fixed"===getComputedStyle(e).position&&(zr.set(e,o(e,["position","margin-bottom"])),e.style.position="sticky",e.style.marginBottom=`-${e.offsetHeight}px`);vr.style.overflow="hidden",document.body.style.overflow="hidden",vr.style.background=document.body.style.background="#080808",zn.scrollTop=a}else Gt(),is&&!Wr&&window.scrollTo({left:window.scrollX,top:a*e,behavior:"instant"}),Xs=1,Mr.pan=!1;if(Wr=g,is=d,H(),Tr&&L(),br?.update(Tr,e),!d&&t.drawerContainer?.isConnected){let e=t.drawerContainer.getBoundingClientRect();fs=e.width?e.left+e.width/2:void 0}if(d!==r&&!Ss&&!ss&&!Pt()){if(Uo.style.opacity="0",ns=!0,!0===t.frame?.scale){let t=d?zn.getBoundingClientRect():{left:0,top:0,width:window.innerWidth},i=`translate(${(s.left-t.left)/e}px, ${(s.top-t.top)/e}px) scale(${Xs*s.width/t.width})`;if(zn.style.transformOrigin=d?"top left":`0 ${a}px`,!d){vr.style.background=document.body.style.background="#080808",zn.style.background=as;let t=getComputedStyle(zn).minHeight;zn.style.minHeight=`max(${"auto"===t?"0px":t}, ${window.innerHeight/e}px)`}os=zn.animate([{transform:i},{transform:`translate(0px, 0px) scale(${Xs})`}],{duration:250,easing:"cubic-bezier(0.32, 0.72, 0, 1)"})}else os=ne();let i=os;i.finished.then(()=>{ta||os!==i||(i.cancel(),os=void 0,ns=!1,is||Gt(),Uo.style.opacity="",H(),Ar.reposition(),rn())}).catch(()=>{})}let b=(e,t,i,n)=>{let a=Math.max(e,i);return[a,Math.max(0,Math.min(e+t,i+n)-a)]},[x,y]=b(Mr.left*e,Mr.width*e,c.left,c.width),[k,S]=b(Mr.top*e,Mr.height*e,c.top,c.height),C=p?{left:l.visibleLeft,top:l.visibleTop,width:l.visibleWidth,height:l.visibleHeight}:{left:x,top:k,width:y,height:S};Uo.style.clipPath=d?`inset(${C.top}px ${window.innerWidth-C.left-C.width}px ${i-C.top-C.height}px ${C.left}px)`:"",Object.assign(Xo.style,d?{left:`${C.left}px`,top:`${C.top}px`,width:`${C.width}px`,height:`${C.height}px`}:{left:"",top:"",width:"",height:""})}function Qt(){"true"!==Ko.dataset.edgeTabs&&(_s=z(Ko,["left","top","bottom","transform"])),Object.assign(Ko.style,{left:"",top:"",bottom:"",transform:""}),Ko.parentElement!==Jo&&Jo.append(Ko),Ko.dataset.edgeTabs="true",ia?Ko.dataset.edgeOrient="horizontal":delete Ko.dataset.edgeOrient}function ei(){"true"===Ko.dataset.edgeTabs&&(Object.assign(Ko.style,_s),_s=void 0),delete Ko.dataset.edgeTabs,delete Ko.dataset.edgeOrient,Ko.parentElement===Jo&&ur.before(Ko)}function ti(){return!ba||pa||xa||!ia||Wn||sa||t.onboarding?null:Jo.querySelector(".panel")}function ii(){return Ko.querySelector(".morphing-menu__shell")??Ko}function ni(){return Ko.querySelector(".morphing-menu")}function ai(){return[...Jo.querySelectorAll(".panel-head, .panel .empty, .thread-card")]}function oi(e){return xs.push(e),e}function ri(){for(let e of ai())Object.assign(e.style,{opacity:"",transform:"",filter:""});Cs.style.opacity=""}function si(e,t){for(let e of Jo.getAnimations())e.cancel();Object.assign(Jo.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 li(){Object.assign(Jo.style,{width:"",height:"",borderRadius:"",transform:"",opacity:""}),On&&ye(),Jo.offsetWidth,Jo.style.transition=""}function di(e=ni()){delete Jo.dataset.morphing,delete Ko.dataset.edgeSurface,delete Ko.dataset.edgeMorph,delete Ko.dataset.hidden,e&&(e.style.transition="")}function pi(e=!1){vs+=1;for(let e of xs)e.stop();xs=[];let t=ws;ws=!1,e&&Jo.toggleAttribute("data-tips-ready",ia),e&&t&&(di(),ei(),ri(),li())}function ci(e,i=!1){!e&&va&&!va.opened&&d(),e!==ia&&Zi(),e&&mi(),Se();let n=e&&!ia;if(ia=e,ss||Ms?.wake(n),delete Jo.dataset.tipsReady,Jo.toggleAttribute("data-tips-restored",ss),!t.onboarding&&!i&&ls.set(e),e&&(na=!1),e||(clearTimeout(rs),rs=0,pa=!1,Al=jl="",Bi()),Wn)return cancelAnimationFrame(Ys),function(){let e=Math.max(1,.9*Math.min(window.innerHeight,window.visualViewport?.height??window.innerHeight)),t=Vs(),i=ii().getBoundingClientRect();Fo.style.setProperty("--mobile-pill-x",i.left+i.width/2-window.innerWidth/2+"px"),Fo.style.setProperty("--mobile-pill-y",i.bottom-(window.innerHeight+t-6)+"px"),Fo.style.setProperty("--mobile-pill-scale-x",String(Math.max(.01,i.width/Math.max(1,window.innerWidth-24)))),Fo.style.setProperty("--mobile-pill-scale-y",String(Math.max(.01,i.height/e)))}(),!n||ss||Pt()?delete Fo.dataset.mobileEntering:Fo.dataset.mobileEntering="",oa=!1,Zt(),an(),As.show(),As.update(),void(void 0!==Fo.dataset.mobileEntering&&(Ys=requestAnimationFrame(()=>{delete Fo.dataset.mobileEntering})));if(On){let t=ws,i=e?ii().getBoundingClientRect():null;e||delete Ko.dataset.edgeOrient,Gn=e?Gn:Zn,gs=void 0,oa=!1,ws=!0;let n=ni();return n&&(n.style.transition="none"),As.show(),Zt(),an(),function(e,t,i){let n=Jo.getBoundingClientRect(),a=e?null:{left:n.left,top:n.top,width:n.width,height:n.height,radius:Jo.style.borderRadius||"16px"};pi(!1),a&&si(a,a.radius);let o=vs;ws=!0;let r=ni();r&&(r.style.transition="none");let s=function(){return Ko.querySelector(".morphing-menu__bar")}(),l=ii(),d=!1,p=()=>{d||o!==vs||ta||(d=!0,ws=!1,di(r),e||(ri(),Jo.style.opacity="0",ei()),li(),e&&(Jo.dataset.tipsReady=""))},c=ss||Pt();if(e){let e=t?Jo.getBoundingClientRect():null,n=Jo.style.borderRadius||"16px";Jo.style.transition="none",Jo.style.width="",Jo.style.height="",Jo.style.borderRadius="",Jo.style.transform="none";let a=l.getBoundingClientRect(),r=!t&&i&&i.width>0?i:a;!t&&r.width>0&&(ys={left:r.left,top:r.top,width:r.width,height:r.height}),Qt(),delete Jo.dataset.morphing,ye();let d=Jo.getBoundingClientRect();if(Jo.dataset.morphing="true",c||r.width<=0||d.width<=0||t&&!e)return void p();let u=r.height/2+"px";t&&e?si(e,n):si(r,u),ai().forEach((e,t)=>{e.style.opacity="0",e.style.transform="translateY(48px)",e.style.filter="blur(4px)",oi(x(e,{opacity:1,y:0,filter:"blur(0px)"},{...Be,delay:Fe+t*Ie}))}),Cs.style.opacity="0",oi(x(Cs,{opacity:1},{...Be,delay:Fe}));let h=()=>{if(o!==vs||ta)return;delete Jo.dataset.morphing;let e=Jo.getBoundingClientRect();oi(x(Jo,{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:[Jo.style.borderRadius||"16px","16px"]},We)).finished.then(p).catch(()=>{o===vs&&p()})};if(t||r.height>r.width+8)return void h();let m=Ne(s?.offsetWidth||r.width,s?.offsetHeight||r.height),g=Ye(r.left+r.width/2,r.top+r.height,m.width,m.height),f=Jo.getBoundingClientRect();return void oi(x(Jo,{left:[`${f.left}px`,`${g.left}px`],top:[`${f.top}px`,`${g.top}px`],width:[`${f.width}px`,`${g.width}px`],height:[`${f.height}px`,`${g.height}px`]},Oe)).finished.then(h).catch(()=>{})}let u=a??Jo.getBoundingClientRect(),h=a?.radius||Jo.style.borderRadius||"16px";delete Ko.dataset.hidden,Jo.dataset.morphing="true",Qt();let m=Ko.getBoundingClientRect(),g=ys??{left:(window.innerWidth-(m.width||228))/2,top:window.innerHeight-24-(m.height||52),width:m.width||228,height:m.height||52};if(c||g.width<=0||u.width<=0)p();else{si(u,h);for(let e of ai())oi(x(e,{opacity:0,y:16,filter:"blur(2px)"},De));oi(x(Cs,{opacity:0},De)),oi(x(Jo,{left:[`${u.left}px`,`${g.left}px`],top:[`${u.top}px`,`${g.top}px`],width:[`${u.width}px`,`${g.width}px`],height:[`${u.height}px`,`${g.height}px`],borderRadius:[h,g.height/2+"px"]},He)).finished.then(p).catch(()=>{o===vs&&p()})}}(e,t,i),void As.update()}let a=Ko.getBoundingClientRect();Gn=e?void 0:Zn,gs=void 0,oa=!1,Zt(),an(),ms?.stop(),Ko.style.translate="0px 0px";let o=Ko.getBoundingClientRect();!ss&&!Pt()&&(ms=x(Ko,{translate:[`${a.left-o.left}px ${a.top-o.top}px`,"0px 0px"]},{type:"spring",stiffness:680,damping:32,mass:.55})),As.show(),As.update()}function ui(){if(d(),Zi(),aa=!1,clearTimeout(rs),rs=0,pa)return Bt(S),To=null,pa=!1,void an();ba=null,xa=null,pa=!1,Lo=null,Ma="",na=!1,an()}function hi(){la=!1,sa=!1,ka?.setActive(!1),Ut(),ui(),ia&&ci(!1),na=!1,aa=!1,oa=!0,ra=!0;try{sessionStorage.setItem(ds,"1")}catch{}an()}function mi(){if(!cs)return;cs=!1,us=!1;try{tt(sessionStorage,ps)}catch{}ur.textContent="Comments shown";let e=hs;hs=0,e&&requestAnimationFrame(()=>{let t=Jo.querySelector(".list");t&&(t.scrollTop=e)})}function gi(e){if(e===cs||ta||t.onboarding||e&&sa)return;if(!e){let e=us&&!ia;return mi(),void(e?ci(!0):an())}Zi(),cs=!0;try{sessionStorage.setItem(ps,"1")}catch{}ur.textContent="Comments hidden",na=aa=!1,clearTimeout(rs),rs=0,pa=!1;let i=ia;i?(hs=Jo.querySelector(".list")?.scrollTop??0,ci(!1,!0)):an(),us=i}function fi(){ra=!1,oa=!1;try{tt(sessionStorage,ds)}catch{}an()}function bi(e,t=!1){if(t||d(),Zi(),mi(),Po=!!Io.activeElement?.matches(":focus-visible")&&Jo.contains(Io.activeElement),aa=!1,clearTimeout(rs),rs=0,!t&&!ya(e)){let t=new URL(e.page,location.origin);return t.searchParams.set("comment",e.id),void ln(t)}t||(wa.delete(e.id),va={id:e.id,inspect:!1,pending:!1,rejected:!1,opened:!0}),or=nr!==e.id||Qo.hidden?null:Qo.getBoundingClientRect(),or&&sr(!0),ba=e.id,xa=null,pa=!1,Lo=null,Ma="",na=!1;let i=Wn&&ia;i&&ci(!1);let n=m(e)?_l(e.anchor):null;n?.attached&&!or&&(i||!Wn)&&(is?zn:window).scrollBy({top:(n.y-.35*(i?Math.min(window.innerHeight,window.visualViewport?.height??window.innerHeight):window.innerHeight))/(is?Xs*qs():1),behavior:i&&!Pt()?"smooth":"instant"}),an()}function xi(){let e=O(),t=kt();return fa.filter(i=>("all"===Ea||i.resolved===("resolved"===Ea))&&(!za||!!i.tags?.includes(za))&&(!Aa||i.comments.some(e=>`${e.body} ${e.author.name}`.toLowerCase().includes(Aa.toLowerCase()))||i.page.toLowerCase().includes(Aa.toLowerCase()))&&($a||ya(i,e.resolve,t))).sort((e,t)=>t.updatedAt-e.updatedAt)}function vi(){import("./shortcut-help-DIMOT2ZK.js").then(({showShortcutHelp:e})=>e(Io,[...vn.map(({label:e,shortcut:t,group:i})=>({label:e,shortcut:t,group:"Comments & view"===i?"Comments":"General"})),{label:"Restore feedback",shortcut:gn.restore,group:"General"}],xn,sa?"design":aa?"comment":void 0,fn,$n))}function wi(){Ko.style.display=ra?"none":"",As.update();let{dockCenter:e}=v(window.innerWidth,window.innerHeight,ia);if(Wn)ei(),Object.assign(Ko.style,{left:"50%",top:"auto",bottom:"calc(16px + env(safe-area-inset-bottom,0px))",transform:"translateX(-50%)"});else if(On)ws||(delete Ko.dataset.hidden,ia?Qt():(ei(),Gn&&ce(Gn)),ye());else{delete Ko.dataset.hidden;let i=!ia&&t.drawerContainer?.isConnected?t.drawerContainer.getBoundingClientRect():void 0;i?.width&&!ns&&(fs=i.left+i.width/2);let n=Ko.offsetWidth/2,a=i?.width&&void 0!==fs?Math.max(16+n,Math.min(window.innerWidth-16-n,fs)):e;if(Gn)ce(Gn);else if(a!==gs){let e=Ko.getBoundingClientRect(),t=e.left+e.width/2;ms?.stop(),Ko.style.top="",Ko.style.bottom="",Ko.style.left=`${a}px`,Ko.style.translate="0px 0px",void 0!==gs&&!Pt()&&(ms=x(Ko,{translate:[`${t-a}px ${e.top-Ko.getBoundingClientRect().top}px`,"0px 0px"]},{type:"spring",stiffness:680,damping:32,mass:.55})),gs=a}}let i=e=>({glyph:e}),n=[{id:"browse",label:"Browse website",group:"Modes",shortcut:gn.browse,icon:i("pointer"),onSelect:()=>Vt(!1)},{id:"comment",label:"Add comment",group:"Modes",shortcut:gn.comment,icon:i("comment"),onSelect:()=>Vt(!aa)},...xn?[{id:"design",label:"Design mode",group:"Modes",shortcut:gn.design,icon:i("design"),onSelect:()=>Jt(!sa)}]:[],{id:"comments",group:"Comments & view",label:t.onboarding?ia?"Close project panel":"Project settings":ia?"Close comments panel":"All comments",shortcut:t.onboarding?null:gn.comments,count:t.onboarding||ia?void 0:fa.filter(e=>!e.resolved).length,icon:i("expand"),onSelect:()=>ci(!ia)},{id:"account",group:"Account & help",label:Qn.user?`${Qn.user.name} · Account`:t.onboarding?.inProject?"Set up inline feedback":"Enter your name",icon:{user:Qn.user},onSelect:()=>{pa||rs?(clearTimeout(rs),rs=0,pa=!1,an()):Ii()}},{id:"copy-prompts",group:"Comments & view",keepOpenOnSelect:!0,label:"all"===dl?"Copied prompt":"Copy comments for agent",icon:i("all"===dl?"check":"copy"),showInBar:!1,onSelect:()=>Bt(()=>Ei("all"))},...!$n||Wn||sa?[]:[{id:"layout",group:"Comments & view",label:"edge"===Ln?"Frame view":"Floating view",icon:i("expand"),showInBar:!1,onSelect:()=>Ce("edge"===Ln?"background":"edge")}],{id:"dismiss",group:"Feedback",label:"Dismiss feedback",icon:i("close"),onSelect:hi},{id:"visibility",group:"Comments & view",label:cs?"Show comments":"Hide comments",shortcut:gn.visibility,icon:i("comment"),showInBar:!1,onSelect:()=>gi(!cs)},{id:"pin-size",group:"Comments & view",label:`Pin size: ${je[Tn]}`,icon:i("pointer"),showInBar:!1,children:Ae.map(e=>({id:`pin-size-${e}`,label:je[e],icon:i("check"),checked:e===Tn,onSelect:()=>function(e){if(e!==Tn&&!ta){Tn=e;try{localStorage.setItem(_n,e)}catch{}ur.textContent=`Pin size: ${je[e]}`,tl="",Ci(),wi()}}(e)}))}];n.push({id:"shortcuts",group:"Account & help",label:"Keyboard shortcuts",icon:i("info"),showInBar:!1,onSelect:vi}),vn=n,"Offline"===ja&&n.push({id:"retry",label:`${Oa?.title??"Offline"} · Retry`,icon:i("info"),showInBar:!1,onSelect:Yt});let a=t.onboarding?n.filter(e=>"account"===e.id||"comments"===e.id):n,o=Ve(t.onboarding?Xe:wn,e=>"more"===e||a.some(t=>t.id===e));o.length||(Ko.style.display="none"),hr.render({items:a,bar:o,alignEnd:(!ia||!On)&&!!Gn&&Gn.y>window.innerHeight/2,edge:ia&&On?"bottom":Gn?.edgeX??Gn?.edgeY??(Gn&&Gn.y<window.innerHeight/2?"top":"bottom"),activeId:sa?"design":aa?"comment":"browse",label:"Website review",moreLabel:"More review tools"})}function yi(){Gs=0;for(let e of Uo.querySelectorAll(":scope > .pin")){let t=e.getBoundingClientRect(),i=!!Js&&Math.hypot(Math.max(t.left-Js.x,0,Js.x-t.right),Math.max(t.top-Js.y,0,Js.y-t.bottom))<=24;e.toggleAttribute("data-near",i)}}function ki(e,i){let n=e.querySelector(".page");if(!n)return;let a=new URL(i.page,location.origin).href,o=we(i),r=i.page===kt();n.href=a,n.title=a,n.setAttribute("aria-label",`Open page: ${a}`);let s=n.closest(".card-page-row");s.hidden=r&&!o,s.querySelector(".card-page-url").textContent=a;let l=o?"":a;if(n.dataset.url!==l){n.dataset.url=l;let e=o?"All pages":function(e){let t=e.pathname.split("/").filter(Boolean).map(e=>{try{return decodeURIComponent(e)}catch{return e}});return t.filter(e=>!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)).map(e=>e.replace(/(?<=\p{L})-(?=\p{L})/gu," ").replace(/_/g," ").replace(/\s+/g," ").trim()).filter(Boolean).join(" › ")||(t.length?"Page link":"Home")}(new URL(a));if(n.textContent=e,t.pageLabel&&!o){let i=nl.get(a);i||(i=Promise.resolve().then(()=>t.pageLabel(new URL(a))).then(t=>t?.trim()||e,()=>e),nl.set(a,i)),i.then(e=>{!ta&&n.dataset.url===a&&(n.textContent=e)})}}let d=e.querySelector(".card-status");d.textContent=i.resolved?"Resolved":il.has(i.id)&&r?"Not found on page":"",d.hidden=!d.textContent,e.classList.toggle("resolved",i.resolved),e.classList.toggle("active",ba===i.id),e.querySelector(".thread-card").setAttribute("aria-description",[o&&"All pages",a,d.textContent].filter(Boolean).join(" · "))}function Si(){sl||(sl=!0,import("./pin-groups-GF53RTHP.js").then(e=>Ts=e,()=>rl=!1).then(()=>{tl="",Ci()}))}function Ci(e=!1){let o=oa||cs;if(o&&Zi(),Na||al&&!e)return;if(o)return tl="",sr(),void Uo.replaceChildren();let r=Ks();"full"===r?delete Uo.dataset.size:Uo.dataset.size=r;let s=fa.find(e=>e.id===ba);s&&function(e){let t=e.comments.at(-1)?.createdAt??0;if(Rn[e.id]>=t)return;delete Rn[e.id],Rn[e.id]=t;let i=Object.keys(Rn);for(let e of i.slice(0,Math.max(0,i.length-500)))delete Rn[e];try{localStorage.setItem(Pn,JSON.stringify(Rn))}catch{}}(s);let l=O(),d=kt(),p=fa.filter(e=>!e.resolved&&(!za||!!e.tags?.includes(za))&&ya(e,l.resolve,d));"dot"===r&&function(e){let t=!1;for(let i of e)qn(i)&&!Zs.has(i.id)&&(t=!!Zs.add(i.id));!t||Pt()||(Qs=performance.now(),Uo.style.setProperty("--pin-breathe-delay","0ms"),Uo.dataset.breathe="",clearTimeout(el),el=window.setTimeout(()=>delete Uo.dataset.breathe,5400))}(p);let c=new Map,u=rl?function(e,t){let i=new Map;for(let n of e){if(n.resolved||n.anchor.unstacked)continue;let e=t(n);if(null===e)continue;let a=i.get(e)??[];a.push(n),i.set(e,a)}let n=new Map;for(let e of i.values())if(!(e.length<2)){e.sort(F);for(let t of e)n.set(t.id,e)}return n}(p,e=>{let i=l.resolve(e.anchor),n=i&&_(i,zn,t.anchorTarget);return n&&n!==zn&&n!==document.body?(c.set(e.id,n),n):null}):new Map,h=p.map(e=>{let t=l.locate(e.anchor);if(t.y<-t.height-40||t.y>window.innerHeight+40)return{thread:e,rect:t,blocked:!1};let i=l.resolve(e.anchor),n=Ni(t.x+8,t.y-10);return{thread:e,rect:t,blocked:!(!i||!n||i.contains(n)||n.contains(i))}});for(let{thread:e,rect:t}of h){if(il.has(e.id)===!t.attached)continue;t.attached?il.delete(e.id):il.add(e.id);let i=Io.querySelector(`.thread-item[data-thread="${CSS.escape(e.id)}"]`);i&&ki(i,e)}let g=JSON.stringify([ba,r,xa&&l.locate(xa),h.map(({thread:e,rect:t,blocked:n})=>[e.id,t,n,i(t,window.innerWidth),u.get(e.id)?.[0].id])]);if(g===tl)return;tl=g,mo?.isPreviewing(rr)||sr();let f=Io.activeElement?.matches(".pins :focus-visible")?Io.activeElement.dataset:void 0,b=Uo.querySelector(".pin-cluster[open]")?.dataset.cluster;Uo.replaceChildren(),"breathe"in Uo.dataset&&Uo.style.setProperty("--pin-breathe-delay",(Qs-performance.now())%1800+"ms");let x=new Map(h.map(e=>[e.thread.id,e])),v=ll(),w=[],k=new Set;for(let{thread:e,rect:t,blocked:o}of h){if(!t.attached)continue;let s=u.get(e.id),l=s&&x.get(s[0].id),d=l?.rect.attached?l:{rect:t,blocked:o};if(d.rect.y<-d.rect.height-40||d.rect.y>window.innerHeight+40||d.blocked)continue;if(t.width&&t.height){let i=ut("div","area");Object.assign(i.style,{left:`${t.x}px`,top:`${t.y}px`,width:`${t.width}px`,height:`${t.height}px`,opacity:e.id===ba?"1":".45"}),Uo.append(i)}let p=l?.rect.attached?s:null;if(p&&k.has(p))continue;let h=d.rect,m=p?h.x-9+38*Math.min(p.length,6)>v.right:"right"===i(h,window.innerWidth);p&&k.add(p),w.push({threads:p??[e],rect:h,right:m,owner:p?c.get(p[0].id):void 0,box:e.anchor.unstacked||e.id===ba?null:a(h.x,h.y,m,p?n(p.length,"dot"===r?12:20):24)})}let S={root:Io,bounds:v,pin:e=>((e,i)=>{let n=fa.indexOf(e)+1,a=e.comments[0],o=mt(a?`Comment ${n} by ${a.author.name}: ${zo(a.body)}`:`Comment ${n}`,()=>bi(e),`pin${e.id===ba?" active":""}${e.id===$l?" hot":""}${e.resolved?" resolved":""}${i.attached?"":" detached"}`);if(o.textContent="",o.title="",o.toggleAttribute("data-read",!qn(e)),a){let e=a.author;Tt(o,e.accentColor);let t=xt(e);t.dataset.initial=gt(e.name).slice(0,1),o.append(t);let i=o.querySelector("img");i&&(i.draggable=!1)}if(e.resolved){let e=ut("span","pin-check");e.append(ht("check")),o.append(e)}let r=()=>{if(ba||xa||na||Na||no||tr)return;ir=!1,window.clearTimeout(er);let n=Qo.hidden||nr!==e.id;ar?.cancel(),nr=e.id,Qo.replaceChildren();let a=e.comments[0];if(!a)return;let r=mt("Open comment",()=>bi(e),"pin-preview-open");r.textContent="";let s=xo.test(a.body),l=ut(s?"div":"p","hover-message",Eo(a.body));s&&vo().then(({renderDesignComment:i})=>i(l,a.body,{key:rr=`hover:${a.id}`,resolve:t=>m(e)?wo(e.anchor)(t):null,note:(e,t)=>e.textContent=t,compact:!0,design:t.design})),r.append(Mi(a)),s?(l.classList.add("pin-preview-card"),l.addEventListener("click",t=>{t.target.closest(".design-toggle")||bi(e)})):r.append(l);let d=mt(e.resolved?"Reopen comment":"Resolve comment",()=>{sr(),$i(e)},"icon pin-preview-resolve","check");d.disabled=!vl(),Qo.append(r,...s?[l]:[],d),Qo.hidden=!1;let p=Ji(o,i),c=ia&&!Wn?396:12,u=y(Ki(o),Qo.offsetWidth||320,Qo.offsetHeight,{left:12,top:12,right:window.innerWidth-c,bottom:is?Math.min(window.innerHeight,Vr().bottom)-12:window.innerHeight-92});Object.assign(Qo.style,{left:`${u.x}px`,transformOrigin:p.x<u.x+160?"top left":"top right",top:`${u.y}px`}),n&&!Pt()&&(ar=Qo.animate([{opacity:0,transform:"translateY(6px) scale(.97)"},{opacity:1,transform:"none"}],{duration:250,easing:"cubic-bezier(.22,1,.36,1)"}))};return o.addEventListener("pointerenter",r),o.addEventListener("pointermove",e=>{tr&&!Na&&!no&&0===e.buttons&&(e.movementX||e.movementY)&&(tr=!1,r())}),o.addEventListener("focus",r),o.addEventListener("blur",()=>sr()),o.addEventListener("pointerleave",()=>{er=window.setTimeout(sr,120)}),o.dataset.thread=e.id,o})(e,x.get(e.id).rect),summary:e=>zo(e.comments[0]?.body??""),open:e=>bi(e),menu:_e};for(let e of rl?function(e){let t=e.map((e,t)=>t),i=e=>t[e]===e?e:t[e]=i(t[e]);e.forEach((n,a)=>{for(let o=a+1;n&&o<e.length;o++){let r=e[o];r&&n.left<r.right&&r.left<n.right&&n.top<r.bottom&&r.top<n.bottom&&(t[i(o)]=i(a))}});let n=new Map;return e.forEach((e,t)=>{let a=i(t);n.set(a,[...n.get(a)??[],t])}),[...n.values()]}(w.map(e=>e.box)):w.map((e,t)=>[t])){let t=w[e[0]];if(e.length>1||t.threads.length>1)Ts?Uo.append(e.length>1?Ts.bubble(e.map(e=>w[e]),e.flatMap(e=>w[e].threads).sort(F),S):Ts.stack(t,S)):Si();else{let e=S.pin(t.threads[0]);e.dataset.pointer=t.right?"right":"left",Object.assign(e.style,{left:`${t.rect.x}px`,top:`${t.rect.y}px`}),Uo.append(e)}}if((f?.thread||f?.cluster)&&Uo.querySelector(f.thread?`.pin[data-thread="${CSS.escape(f.thread)}"]`:`[data-cluster="${CSS.escape(f.cluster)}"]`)?.focus({preventScroll:!0}),b&&Uo.querySelector(`[data-cluster="${CSS.escape(b)}"]`)?.setAttribute("open",""),Uo.dataset.size&&Js&&yi(),xa&&xa.width>0&&xa.height>0){let e=_l(xa),t=ut("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`}),Uo.append(t)}}async function Ei(e){let i=it("page"===e?fa.filter(e=>ya(e)):fa,{...t,origin:location.origin,page:"page"===e?kt():void 0});i?(await navigator.clipboard.writeText(i),!ta&&(dl=e,ur.textContent="Agent prompt copied",clearTimeout(pl),wi(),ji(),pl=window.setTimeout(()=>{dl=null,wi(),ji()},2e3))):Wt("page"===e?"No open comments on this page":"No open comments to copy")}function zi(){let e=Jo.getBoundingClientRect();for(let t of Jo.querySelectorAll(".sidebar-tip")){let i="copy"===t.dataset.tip,n=Jo.querySelector(i?".copy-page-prompt":'.toolbar [aria-label^="Add comment"]')?.getBoundingClientRect();if(t.hidden=!n?.width,!n?.width)continue;let a=n.left+n.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=i?n.bottom-e.top+10+"px":n.top-e.top-10-t.offsetHeight+"px",t.style.setProperty("--caret-x",a-o+"px")}}function $i(e,t){if(!(Qn.user||Va&&Mo.trim()))return void Ii();let i=ba===e.id,n=t=>{let n=ba;return i&&(ba=t?null:e.id),b(g(e.id,e=>({...e,resolved:t,resolvedBy:t?Qn.user:null})),async i=>{Qn.user||await Qn.guest(Mo),await Qn.request(`threads/${i(e.id)}`,"PATCH",{resolved:t})},()=>{ba||(ba=n)})};Bt(()=>n(!e.resolved)),Wt(e.resolved?"Comment reopened":"Comment resolved",{label:"Undo",run:()=>Bt(()=>n(e.resolved))},t)}function Ai(e,t){return e.textContent=t,xo.test(t)&&(e.textContent="Design change",vo().then(({summarizeDesignComment:i})=>{e.textContent=i(t)})),e}function ji(){if(t.onboarding){if(Ps?.(),Jo.replaceChildren(),t.onboarding.inProject)return;if(ia){let e=ut("aside","panel");e.setAttribute("aria-label","Project settings");let t=ut("div","panel-head","Project settings"),i=ut("div","empty");i.append(ut("p","","Leave comments on your connected website."),mt("Manage project",()=>{Ii()},"secondary")),e.append(t,i),Jo.append(e)}return}if(!ia&&(On||Wn))return;let e=Jo.querySelector(".list"),i=e?.scrollTop??0,n=Io.activeElement?.closest(".thread-item"),a=n?.querySelector(".reply-composer")?.contains(Io.activeElement)?n:null,o=ut("div"),r="Search comments"===Io.activeElement?.getAttribute("aria-label"),s=r?Io.activeElement.selectionStart:null;if(!ia&&!On&&!Wn)return Ps?.(),void Jo.replaceChildren();let l=Jo.querySelector(".panel");if(!l){l=ut("aside","panel"),l.setAttribute("aria-label","All comments");let e=ut("div","panel-head"),i=ut("div","row between sidebar-title"),n=ut("div","filter-slot"),a=ut("div","row"),o=e=>{let t=l.querySelector(".sidebar-search-field"),i=a.querySelector('[aria-label="Search comments"]'),n=(e?i:t).getBoundingClientRect();bs=e,e||(Aa="",t.querySelector("input").value=""),ji();let o=(e?t:i).getBoundingClientRect();Pt()||t.animate(e?[{transform:`translate(${n.left-o.left}px, ${n.top-o.top}px)`,width:`${n.width}px`,height:`${n.height}px`,borderRadius:"50%",opacity:.4},{transform:"none",width:`${o.width}px`,height:`${o.height}px`,borderRadius:"10px",opacity:1}]:[{transform:"none",opacity:1},{transform:`translate(${o.left-n.left}px, ${o.top-n.top}px) scale(.2)`,opacity:0}],{duration:280,easing:"cubic-bezier(.22,1,.36,1)"}),e?t.querySelector("input")?.focus():i.focus()};a.append(mt("Copy page comments",()=>"resolved"===Ea?function(e){if(!xl||Ca.busy)return;let i=xi().filter(e=>e.resolved).map(e=>e.id);if(!i.length)return;let n=ut("div","cleanup-confirm");n.popover="auto",n.setAttribute("role","alertdialog"),n.setAttribute("aria-label","Delete resolved comments permanently"),n.append(ut("strong","",`Delete ${i.length} resolved ${1===i.length?"thread":"threads"}?`),ut("p","","Their replies will be deleted too. This can’t be undone."));let a=ut("div","cleanup-actions"),o=()=>{n.hidePopover(),e.focus({preventScroll:!0})};a.append(mt("Cancel",o,"secondary"),mt("Delete permanently",()=>{o(),Bt(async()=>{try{for(let e=0;e<i.length;e+=250){let n=i.slice(e,e+250),a=new Set(n);await Ca.submit(e=>e.filter(e=>!a.has(e.id)),async()=>{await Qn.request("project/clear-resolved","POST",{confirm:t.project,threadIds:n})})}}finally{await Xt()}})},"secondary destructive")),n.append(a),Jo.append(n),n.addEventListener("toggle",()=>{n.matches(":popover-open")||n.remove()}),n.showPopover();let r=e.getBoundingClientRect();n.style.left=`${Math.max(12,Math.min(r.right-n.offsetWidth,innerWidth-n.offsetWidth-12))}px`,n.style.top=`${Math.max(12,Math.min(r.bottom+8,innerHeight-n.offsetHeight-12))}px`,a.querySelector("button")?.focus()}(l.querySelector(".copy-page-prompt")):Bt(()=>Ei("page")),"icon copy-page-prompt","copy"),ut("div","tag-filter-slot"),mt("Search comments",()=>o(!0),"icon sidebar-search-trigger","search"),mt("Close sidebar",()=>ci(!1),"icon","close"));let r=ut("div","sidebar-selector");r.append(n,ut("div","scope-slot")),i.append(r,a);let s=ut("div","sidebar-search"),d=ut("div","sidebar-search-inner"),p=ut("div","sidebar-search-row"),c=ut("div","sidebar-search-field"),u=ut("input");u.type="search",u.placeholder="Search",u.setAttribute("aria-label","Search comments"),u.addEventListener("input",()=>{Aa=u.value,ji()}),u.addEventListener("keydown",e=>{"Escape"===e.key&&(e.stopPropagation(),h())}),c.append(ht("search"),u);let h=()=>o(!1);c.append(mt("Close search",h,"icon search-cancel","close")),p.append(c),d.append(p),s.append(d),e.append(i,s);let m=ut("div","morphing-menu__tooltip sidebar-tooltip");m.setAttribute("aria-hidden","true"),Io.append(m);let g=0,f=0,b=()=>{clearTimeout(g),m.dataset.open&&(delete m.dataset.open,f=Date.now()+300)};Ps=()=>{clearTimeout(g),m.remove(),Ps=void 0,Rs=void 0};let x=e=>{clearTimeout(g);let t=()=>{if(!e.isConnected)return;let t=e.getBoundingClientRect();m.textContent=e.ariaLabel;let i=m.offsetWidth/2;m.style.left=`${Math.max(8+i,Math.min(innerWidth-8-i,t.left+t.width/2))}px`,m.style.top=`${t.bottom+8}px`,m.dataset.open="true"};m.dataset.open||Date.now()<f?t():g=window.setTimeout(t,400)};a.querySelectorAll("button").forEach(cl),Rs={show:x,hide:b},l.append(e),Jo.append(l)}let d=l.querySelector(".copy-page-prompt");if("resolved"===Ea&&gl!==Qn.token){gl=Qn.token,xl=!1;let e=gl;e&&Qn.request("project").then(()=>{Qn.token===e&&(xl=!0,ji())}).catch(()=>{})}let p="resolved"===Ea;d.disabled=p&&(!xl||Ca.busy||!xi().length),d.classList.toggle("destructive",p);let c=p?"trash":"page"===dl?"check":"copy";if(d.dataset.glyph!==c){let e=d.querySelector("svg:not([data-leaving])"),t=ht(c),i=void 0!==d.dataset.glyph&&!Pt();if(d.dataset.glyph=c,i&&e){e.setAttribute("data-leaving","true"),d.append(t);let i={duration:200,easing:"cubic-bezier(.22,1,.36,1)"},n={opacity:0,transform:"scale(.7)",filter:"blur(2px)"},a={opacity:1,transform:"scale(1)",filter:"blur(0px)"};e.animate([a,n],{...i,fill:"forwards"}).finished.then(()=>e.remove()).catch(()=>e.remove()),t.animate([n,a],i)}else d.replaceChildren(t)}d.setAttribute("aria-label",p?xl?"Delete resolved comments permanently":"Project owner only":"page"===dl?"Copied prompt":"Copy page comments"),l.dataset.search=String(bs),l.querySelector(".filter-slot").inert=bs,l.querySelector(".scope-slot").inert=!bs,l.querySelector(".sidebar-search-trigger").inert=bs,l.querySelector(".sidebar-search").inert=!bs;let u=l.querySelector(".filter-slot"),h=yn?[...new Set(fa.flatMap(e=>e.tags??[]))].sort():[];za&&!h.includes(za)&&(za=""),u.dataset.value!==Ea&&(u.dataset.value=Ea,u.replaceChildren(Te("Filter comments",[["open","Comments"],["all","All comments"],["resolved","Resolved"]],Ea,e=>{Ea=e,ji(),Ci()})));let m=l.querySelector(".tag-filter-slot"),g=`${za} ${h}`;if(m&&m.dataset.value!==g&&(m.dataset.value=g,m.replaceChildren(),h.length)){let e=za?`Filtered by #${za}`:"Filter by tag",t=Te(e,[["","All tags"],...h.map(e=>[e,`#${e}`])],za,e=>{za=e,ji(),Ci()}),i=t.querySelector("summary");i.className="icon tag-filter-trigger"+(za?" active":""),i.setAttribute("aria-label",e),i.title=e,i.replaceChildren(ht("tag")),m.append(t)}let f=l.querySelector(".scope-slot");f.dataset.value!==String($a)&&(f.dataset.value=String($a),f.replaceChildren(Te("Comment pages",[["page","This page"],["all","All pages"]],$a?"all":"page",e=>{$a="all"===e,ji()})));let b=!Wn&&!ss&&!Pt(),x=new Map;if(b&&e){let t=e.getBoundingClientRect();for(let i of e.querySelectorAll("[data-thread]")){let e=i.getBoundingClientRect();e.bottom>=t.top&&e.top<=t.bottom&&x.set(i.dataset.thread,e.top)}}let v=ut("div","list"),w=xi();w.length>40&&(v.dataset.long="");let y=!ha&&"Connecting"===ja;v.setAttribute("aria-busy",String(y)),clearTimeout(Wo),v.addEventListener("scroll",()=>{v.dataset.scrolling="true",clearTimeout(Wo),Wo=window.setTimeout(()=>{delete v.dataset.scrolling},800)},{passive:!0});for(let e of w){let t=e.comments[0];if(!t)continue;let i=wl.get(e);if(i){i.querySelector(".thread-card").classList.toggle("active",ba===e.id),i.querySelector(".card-resolve").disabled=!vl(),i.querySelector("small").textContent=ft(t.createdAt),i.querySelectorAll(".reply-meta small").forEach((t,i)=>{t.textContent=ft(e.comments[i+1].createdAt)}),ki(i,e);let n=i.querySelector("textarea");n&&Io.activeElement!==n&&requestAnimationFrame(()=>n.dispatchEvent(new Event("palette-sync-reply"))),v.append(i===a?o:i);continue}let n=mt(`Open comment by ${t.author.name}`,()=>bi(e),"thread-card"+(ba===e.id?" active":""));n.replaceChildren(),n.removeAttribute("title");let r=ut("div","row"),s=ut("span","card-status");r.append(xt(t.author),ut("span","author",t.author.name),s,ut("small","",ft(t.createdAt)));let l=ut("div","card-page-row"),d=ut("a","page","Page link");d.addEventListener("click",t=>{t.preventDefault(),bi(e)});let p=mt("Copy page URL",()=>Bt(async()=>{await navigator.clipboard.writeText(new URL(e.page,location.origin).href),Wt("Page URL copied")}),"icon card-page-copy","copy"),c=ut("span","card-page-url");l.append(ht("link"),d,p,c);let u=Ai(ut("p","preview"),t.body);if(n.append(r,u),yn&&e.tags?.length){let t=ut("div","card-tags");t.setAttribute("role","group"),t.setAttribute("aria-label","Tags");for(let i of e.tags){let e=ut("span","card-tag",`#${i}`);e.title=i,t.append(e)}n.append(t)}let h=a?.dataset.thread===e.id?a:null,m=h??ut("div","thread-item"),g=h?.querySelector(".sidebar-replies"),f=g?.querySelector(".reply-composer");if(h)for(let e of[...h.children])e!==g&&e.remove();m.dataset.thread=e.id;let b=mt(e.resolved?"Reopen comment":"Resolve comment",()=>$i(e),"icon card-resolve","check");b.disabled=!vl(),cl(b),m.insertBefore(n,g??null),m.insertBefore(b,g??null),e.snapshot?.image&&m.insertBefore(Co(0,e),g??null),m.insertBefore(l,g??null),ki(m,e);{let i=g??ut("div","sidebar-replies");if(f)for(let e of[...i.children])e!==f&&e.remove();i.id=`replies-${e.id}`,i.setAttribute("role","group"),i.setAttribute("aria-label",`Replies to ${t.author.name}`);let n=1===e.comments.length?"Reply":`${e.comments.length-1} ${2===e.comments.length?"reply":"replies"}`,a=mt(n,()=>{yl.has(e.id)?yl.delete(e.id):yl.add(e.id),o()},"card-reply-toggle");a.replaceChildren(ht("comment"),ut("span","",n),ht("chevron")),a.removeAttribute("title"),a.setAttribute("aria-controls",i.id);let o=()=>{let t=yl.has(e.id);i.hidden=!t,a.setAttribute("aria-expanded",String(t)),a.setAttribute("aria-label",`${t?"Hide":"Show"} ${n}`),t&&requestAnimationFrame(()=>i.querySelector("textarea")?.dispatchEvent(new Event("palette-sync-reply")))};o();for(let t of e.comments.slice(1)){let e=ut("div","sidebar-reply"),n=ut("div","row reply-meta");n.append(xt(t.author),ut("span","author",t.author.name),ut("small","",ft(t.createdAt))),e.append(n,ut("p","",t.body)),i.insertBefore(e,f??null)}f||i.append(qi(e)),m.insertBefore(a,g??null),g||m.append(i),m.onkeydown=t=>{"Escape"!==t.key||!yl.has(e.id)||(t.preventDefault(),t.stopPropagation(),yl.delete(e.id),o(),a.focus({preventScroll:!0}))}}wl.set(e,m),v.append(h?o:m)}if(!v.childElementCount){let e=ut("div","empty");if(y&&e.setAttribute("role","status"),e.append(ht("comment"),ut("strong","",Wa?Ba?"Private project":"Sign in required":"Offline"===ja&&Oa?Oa.title:y?"Loading comments…":Aa?"No matching comments":"resolved"===Ea?"Nothing resolved yet":"No comments yet")),Wa)e.append(ut("p","",Wa)),Qn.user?.verified||e.append(mt("Sign in",Ii,"secondary"));else if("Offline"===ja&&Oa){e.append(ut("p","",Oa.detail));let i=ut("div","empty-actions");"site"===Oa.kind&&i.append(mt("Turn on comments",()=>{let e=new URL("setup",t.endpoint.replace(/\/?$/,"/"));e.searchParams.set("workspace",t.project),e.searchParams.set("site",location.origin),window.open(e,"_blank","noopener")},"primary"),mt("Copy link",()=>{navigator.clipboard.writeText(location.origin).then(()=>Wt("Link copied")).catch(()=>Wt(location.origin))},"secondary")),"site"!==Oa.kind&&i.append(mt("Try again",Yt,"secondary")),e.append(i)}else ha&&!Aa&&"resolved"!==Ea&&e.append(mt("Add a comment",()=>{xe(window.innerWidth,window.innerHeight)&&ci(!1),Vt(!0)},"secondary"));v.append(e),v.dataset.empty=""}if(fa.length&&"Offline"===ja&&v.prepend(mt("Saved comments · Try again",Yt,"secondary")),e&&a&&o.parentNode===v){for(let t of[...e.children])t!==a&&t.remove();for(let t of[...v.children]){if(t===o)break;e.insertBefore(t,a)}o.remove(),e.append(...v.childNodes),e.setAttribute("aria-busy",String(y)),w.length>40?e.dataset.long="":delete e.dataset.long,v=e}else e?e.replaceWith(v):l.append(v);if(function(e){try{let e=JSON.parse(localStorage.getItem(hl)??"[]");if(Array.isArray(e))for(let t of e)"string"==typeof t&&ul.add(t)}catch{}for(let[t,i]of ml){let n=Jo.querySelector(`[data-tip="${t}"]`);if(!e||ul.has(t)){n?.remove();continue}if(n)continue;n=ut("div","morphing-menu__tooltip sidebar-tip"),n.dataset.tip=t;let a=n;n.append(ut("p","",i),mt("Dismiss tip",()=>{ul.add(t);try{localStorage.setItem(hl,JSON.stringify([...ul]))}catch{}a.dataset.leaving="",setTimeout(()=>a.remove(),150)},"icon","close")),Jo.append(n)}zi()}(!!v.querySelector(".empty [aria-label='Add a comment']")),requestAnimationFrame(zi),v.scrollTop=i,v.style.setProperty("--palette-scrollbar",v.offsetWidth-v.clientWidth+"px"),b){let e=0,t=v.getBoundingClientRect();for(let i of v.querySelectorAll("[data-thread]")){let n=i.getBoundingClientRect();if(n.bottom<t.top||n.top>t.bottom)continue;let a=x.get(i.dataset.thread),o=void 0===a?8:a-n.top;Math.abs(o)>.5&&i.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"})}v.querySelector("[data-thread]")||v.animate([{opacity:0},{opacity:1}],{duration:150})}if(r){let e=l.querySelector('input[type="search"]');e.focus(),null!==s&&e.setSelectionRange(s,s)}}function Mi(e){let t=ut("div","row");return t.append(xt(e.author),ut("span","author",e.author.name),ut("small","",ft(e.createdAt))),t.title=e.author.verified?"Verified":"Guest",t}function Li(e,t){return Qn.user?.id!==e.author.id||"[Comment deleted]"===e.body?[]:[{label:"Edit",icon:"edit",onSelect:()=>{Lo=e.id,_o=e.body,Hi()}},{label:"Delete",icon:"trash",destructive:!0,onSelect:()=>{let i=$t(t.anchor);Wt("Delete this comment?",{label:"Delete",run:()=>{let n=ba;1===t.comments.length&&(ba=null),Bt(()=>b(g(t.id,t=>{let i=t.comments.filter(t=>t.id!==Ca.id(e.id));return i.length?{...t,comments:i}:null}),async i=>{await Qn.request(`threads/${i(t.id)}/comments/${i(e.id)}`,"DELETE")},()=>{ba||(ba=n)})),Wt("Comment deleted",void 0,i)}})}}]}function _i(e,i){let n=ut("article","message");if(n.dataset.comment=e.id,n.append(Mi(e)),Lo===e.id){let t=ut("div","message-content message-edit"),a=ut("textarea","message-editor");a.value=_o,a.rows=1,a.maxLength=4e3,a.setAttribute("aria-label","Edit comment"),a.dataset.focusKey="edit";let o=()=>{a.style.height="auto",a.style.height=a.scrollHeight+a.offsetHeight-a.clientHeight+"px"};a.addEventListener("input",()=>{_o=a.value,o()}),requestAnimationFrame(()=>a.isConnected&&o());let r=()=>{Lo=null,Hi()},s=mt("Save changes",()=>{let t=_o;Lo=null,Bt(()=>b(g(i.id,i=>({...i,comments:i.comments.map(i=>i.id===Ca.id(e.id)?{...i,body:t,editedAt:Date.now()}:i)})),async n=>{await Qn.request(`threads/${n(i.id)}/comments/${n(e.id)}`,"PATCH",{body:t})},()=>{Lo||(Lo=Ca.id(e.id),_o=t)}))},"primary");s.disabled=ca;let l=ot(),d=(e,t,i,n=!1)=>(e.replaceChildren(t,st({key:i,ctrl:n&&!l,meta:n&&l},l)),e.removeAttribute("title"),e);a.addEventListener("keydown",e=>{e.isComposing||("Escape"===e.key?(e.preventDefault(),e.stopPropagation(),r()):"Enter"===e.key&&(l?e.metaKey:e.ctrlKey)&&!s.disabled&&(e.preventDefault(),s.click()))});let p=ut("div","edit-actions");return p.append(d(mt("Cancel",r,"secondary"),"Cancel","Escape"),d(s,"Save","Enter",!0)),t.append(a,p),n.append(t),n}let a=ut("div","message-content"),o=xo.test(e.body),r=ut(o?"div":"p","message-text");if(h(r,e.body),o){let n=({renderDesignComment:n})=>n(r,e.body,{key:e.id,resolve:e=>m(i)?wo(i.anchor)(e):null,note:h,sourceHref:Xi,design:t.design,tip:cl,onSwitch:()=>Fi(),blocked:()=>m(i)?sa&&!1===Io.querySelector(".design-inspector__compare")?.hidden?"Send or reset your Design mode edits first":void 0:"Proposed on another page"});mo?n(mo):vo().then(n)}if(a.append(r),"[Comment deleted]"!==e.body){let n=mt("Add reaction",()=>{fo?.(!0),fo=function(e,t,i,n,a="palette:emoji:guest",o="https://cdn.jsdelivr.net/npm/emoji-picker-element-data@1.8.0/en/emojibase/data.json"){let r=ut("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,p=(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))},c=(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 i=parseFloat(getComputedStyle(r).getPropertyValue("--dropdown-close-dur"))||150;p(e),e?r.remove():window.setTimeout(()=>r.remove(),i)},h=function(e,t){let i=[...new Set([...me,...Object.keys(e.counts)])].filter(he),n=t=>e.counts[t]??(me.includes(t)?1:0),a=(e,t)=>n(t)-n(e),o=i.sort(a).slice(0,6),r=t??e.recent;return r&&he(r)&&!o.includes(r)&&(o[o.length-1]=r,o.sort(a)),o}(u(a),n).map((e,t)=>{let a=mt(e,()=>{c(),i(e)},"emoji-choice");return a.setAttribute("role","menuitemradio"),a.setAttribute("aria-checked",String(e===n)),a.style.setProperty("--emoji-index",String(t)),r.append(a),a}),m=mt("Choose another emoji",async()=>{if(d)return;let t=d=ut("div","emoji-keyboard t-dropdown");d.setAttribute("role","dialog"),d.setAttribute("aria-label","Choose an emoji");let n=mt("Close emoji keyboard",()=>{p(),m.focus()},"icon emoji-keyboard-close","close"),a=ut("span","emoji-keyboard-status","Loading…");d.append(n,a),e.append(d),n.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 n=new e({dataSource:o});n.i18n={...n.i18n,networkErrorMessage:"Couldn’t load emojis. Close and try again."},n.classList.add("dark"),n.addEventListener("emoji-click",e=>{let t=e.detail.unicode;he(t)&&(c(),i(t))}),a.replaceWith(n);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 ',n.shadowRoot?.append(r),s()}catch{a.textContent="Couldn’t load emojis. Close and try again."}},"emoji-choice","plus");m.setAttribute("role","menuitem"),m.setAttribute("aria-haspopup","dialog"),m.style.setProperty("--emoji-index",String(h.length)),r.append(m),h.push(m),e.addEventListener("keydown",e=>{e instanceof KeyboardEvent&&"Escape"===e.key&&d&&(e.preventDefault(),e.stopPropagation(),p(),m.focus())},{signal:s.signal}),e.append(r);let g=t.getBoundingClientRect();return r.dataset.placement=g.right+6+r.offsetWidth>innerWidth-8?"below":"right",r.style.left=`${Math.max(8,Math.min(g.right+6,innerWidth-r.offsetWidth-8))}px`,r.style.top=`${Math.max(8,Math.min(innerHeight-r.offsetHeight-8,g.right+6+r.offsetWidth>innerWidth-8?g.bottom+6:g.top-4))}px`,t.setAttribute("aria-expanded","true"),r.offsetWidth,r.classList.add("is-open"),(h.find(e=>"true"===e.getAttribute("aria-checked"))??h[0])?.focus({preventScroll:!0}),ct(r,"pointerdown",e=>{!e.composedPath().includes(r)&&(!d||!e.composedPath().includes(d))&&c()},{signal:s.signal}),document.addEventListener("scroll",e=>{d&&e.composedPath().includes(d)||c()},{capture:!0,signal:s.signal}),r.addEventListener("keydown",e=>{("Escape"===e.key||"Tab"===e.key)&&(c(),"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),t.focus()));let i=h.indexOf(e.target),n="ArrowRight"===e.key?(i+1)%h.length:"ArrowLeft"===e.key?(i+h.length-1)%h.length:-1;n>=0&&(e.preventDefault(),h[n]?.focus())}),c}(Io,n,n=>function(e,i,n,a){Qn.user||Va&&Mo.trim()?Bt(async()=>{Qn.user||await Qn.guest(Mo);let o=Qn.user;await b(g(i.id,t=>({...t,comments:t.comments.map(t=>{if(t.id!==Ca.id(e.id))return t;let i=Object.fromEntries(Object.entries(t.reactions).map(([e,t])=>[e,t.filter(e=>e!==o.id)]));return a&&(i[n]=[...i[n]??[],o.id]),{...t,reactions:i}})})),async t=>{await Qn.request(`threads/${t(i.id)}/comments/${t(e.id)}/reactions`,"POST",{emoji:n,active:a})}),a&&function(e,t){if(!he(t))return;let i=u(e);i.counts[t]=(i.counts[t]??(me.includes(t)?1:0))+1,i.recent=t,i.counts=Object.fromEntries(Object.entries(i.counts).sort((e,t)=>t[1]-e[1]).slice(0,200));try{localStorage.setItem(e,JSON.stringify(i))}catch{}}(`palette:emoji:${t.project}:${o.id}`,n)}):Ii()}(e,i,n,!(Qn.user&&e.reactions[n]?.includes(Qn.user.id))),Object.entries(e.reactions).find(([,e])=>Qn.user&&e.includes(Qn.user.id))?.[0],`palette:emoji:${t.project}:${Qn.user?.id??"guest"}`,t.emojiDataSource)},"icon message-reaction","smile"),o=Object.entries(e.reactions).filter(([,e])=>e.length>0);if(n.dataset.reactions=JSON.stringify(o),o.length){n.replaceChildren(),n.classList.add("has-reactions");for(let[e,t]of o)n.append(ut("span","reaction-value",`${e}${t.length>1?` ${t.length}`:""}`));n.setAttribute("aria-label","Change reactions")}n.setAttribute("aria-haspopup","menu"),n.setAttribute("aria-expanded","false"),a.append(n)}n.append(a);let s=ut("div","actions");if(Qn.user?.id===e.author.id&&"[Comment deleted]"!==e.body){let t=_e("Message actions",Li(e,i));i.comments[0]?.id!==e.id&&n.firstElementChild?.append(t)}return e.editedAt&&s.append(ut("small","","Edited")),s.childElementCount&&n.append(s),n}async function Ti(e="github"){let i=window.open("about:blank","branch-comments-signin","popup,width=600,height=720");if(!i)throw new Error("Allow popups to sign in.");try{let n=await Qn.request(`auth/${e}/start`,"POST",{}),a=new URL(n.url).origin,o=e=>{if(e.origin!==a||e.source!==i||"branch-comments:auth"!==e.data?.type)return;let{token:n,user:r}=e.data;"string"!=typeof n||!r?.id||!r?.name||!0!==r.verified||(Qn.save({token:n,user:r}),Le(),La=null,window.removeEventListener("message",o),clearTimeout(Ho),i.close(),pa=!!t.onboarding,an(),!t.onboarding&&(To?Bt(Oi):(Bt(Xt),Wt(`Signed in as ${r.name}`))))};window.addEventListener("message",o,{signal:ea.signal}),Ho=window.setTimeout(()=>{window.removeEventListener("message",o)},6e5),i.location.href=n.url}catch(e){throw i.close(),e}}function Pi(e,t,i,n){let a=ut("div","tag-slot");a.hidden=!!n&&!e.length;let o=({tagEditor:o})=>o(a,{tags:e,suggestions:[...new Set(fa.flatMap(e=>e.tags??[]))].sort(),onAdd:t,onRemove:i,trigger:n});if(fl)o(fl);else{let e=!1;n&&(n.onclick=()=>{e=!0}),import("./tag-editor-B3I7WD4N.js").then(t=>{fl=t,o(t),e&&n?.isConnected&&n.click(),Fi()})}return a}function Ri(e,t){Qn.user?Bt(async()=>{let{tags:i}=await Qn.request(`threads/${Ca.id(e.id)}`,"PATCH",t);fa=fa.map(t=>t.id===e.id?{...t,tags:i}:t),ji()}):Ii()}function qi(e){let i=ut("form","composer "+(e?"reply-composer":"new-comment-composer")),n=ut("textarea"),a=e?"":Ao;if(n.placeholder=e?"Reply…":a?"Add a note…":"Add a comment…",n.rows=1,n.maxLength=4e3,n.required=!!e||!Ao,n.value=e?Bo.get(e.id)??"":$o,n.setAttribute("aria-label",e?"Reply":"Comment"),n.dataset.focusKey="body",e){let t=Do.get(e.id);t&&n.setSelectionRange(...t);let i=()=>Do.set(e.id,[n.selectionStart,n.selectionEnd,n.selectionDirection]);n.addEventListener("select",i),n.addEventListener("keyup",i),n.addEventListener("pointerup",i)}let o=()=>{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",Fi()};n.addEventListener("input",o),n.addEventListener("input",()=>{e?Bo.set(e.id,n.value):$o=n.value}),n.addEventListener("keydown",e=>{"Enter"===e.key&&!e.shiftKey&&!e.isComposing&&(e.preventDefault(),i.requestSubmit())});let r=mt(e?"Send reply":"Post comment",()=>{},"send","arrow");if(r.type="submit",r.disabled=ca,e)Qn.user&&i.append(xt(Qn.user)),i.append(n,r);else{let e=ut("div","draft-body");Qn.user&&e.append(xt(Qn.user)),e.append(n,r),yn&&e.append(Pi(jo,e=>jo=[...jo,e],e=>jo=jo.filter(t=>t!==e))),i.append(e)}n.addEventListener("input",()=>{r.disabled=ca||!n.value.trim()&&!a}),r.disabled||=!n.value.trim()&&!a,n.addEventListener("palette-sync-reply",()=>{if(!e||!n.isConnected||Io.activeElement===n&&Bo.has(e.id))return;n.value=Bo.get(e.id)??"";let t=Do.get(e.id);t&&n.setSelectionRange(...t),r.disabled=ca||!n.value.trim(),n.closest(".sidebar-replies")?.hidden||o()});let s=!e&&xa&&!So.has(xa)&&yo(xa);if(s&&i.append(Co(3,{anchor:xa,page:"",id:""},s)),a){let e=ut("div","draft-proposal");e.textContent=a;let n=xa?wo(xa):()=>null;vo().then(({renderDraftProposal:i})=>{if(!e.isConnected||Ao!==a)return;let o=xa;return Promise.resolve(i(e,a,n,{design:t.design,sourceHref:Xi,tip:cl,onUpdate(e){xa===o&&Ao&&(Ao=e)}})).then(Fi)}),i.prepend(e)}return i.addEventListener("submit",t=>{if(t.preventDefault(),(n.value.trim()||a)&&!ca){if(!Qn.user)return To=()=>Wi(e),void Ii();Bt(()=>Wi(e))}}),requestAnimationFrame(()=>{n.isConnected&&o()}),i}async function Wi(e){if(t.onboarding)throw new Error("Open your connected website to leave a comment.");if(!Qn.user)throw new Error("Enter your name to leave a comment.");let i=Date.now(),n={id:`pending-${crypto.randomUUID()}`,body:e?Bo.get(e.id)??"":[$o.trim(),Ao].filter(Boolean).join("\n\n"),author:{...Qn.user},createdAt:i,editedAt:null,reactions:{}};if(n.body.trim())if(e)Bo.delete(e.id),await b(g(e.id,e=>({...e,updatedAt:i,comments:[...e.comments,n]})),async t=>{let i=(await Qn.request(`threads/${t(e.id)}/comments`,"POST",{body:n.body})).id??(await Qn.list()).find(i=>i.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=Ca.id(e.id);fa.some(e=>e.id===t)?Bo.set(t,[n.body,Bo.get(t)].filter(Boolean).join("\n")):xa===e.anchor?$o=[$o,n.body].filter(Boolean).join("\n"):Za.push({anchor:e.anchor,text:n.body})});else if(xa){let e=xa,a=jo,o=$o,r=Ao,s=P(e),l=s&&function(e,t){return!!t.isPersistent?.(e)||!!t.persistentRegions?.some(t=>{try{return!!e.closest(t)}catch{return!1}})}(s,t)?"all":void 0,d=Qn,p={id:`pending-${crypto.randomUUID()}`,page:kt(),anchor:e,tags:a,...l&&{scope:l},resolved:!1,resolvedBy:null,createdAt:i,updatedAt:i,comments:[n]};ba=p.id,xa=null,$o=Ao="",jo=[],await b(e=>[...e,p],async()=>{let t=await Qn.request("threads","POST",{page:p.page,anchor:e,body:n.body,...a.length?{tags:a}:{},...l&&{scope:l}});So.has(e)||yo(e,(e,i)=>d.request(`threads/${t.id}/snapshot?kind=${e}`,"POST",i,i.type));let i=t.commentId??(await Qn.list()).find(e=>e.id===t.id)?.comments[0]?.id;return{[p.id]:t.id,...i?{[n.id]:i}:{}}},()=>{xa?Za.push({anchor:e,text:n.body}):(ba=null,xa=e,$o=o,Ao=r,jo=a)}),aa&&!xa&&!pa&&ba===Ca.id(p.id)&&(Ns()||(ba=null,ia&&ci(!1)),na=!0,an())}}async function Oi(){let e=To;To=null,e&&await e()}function Hi(){Jn&&(Jn!==Qn||!Ds())&&Ft(),uo?.then(({resetDesignPreviews:e})=>e(new Set([...pa?[]:fa.find(e=>e.id===ba&&m(e))?.comments.map(e=>e.id)??[],...Qo.hidden?[]:[rr],...xa?["draft"]:[]])));let e=Xn;Xn=void 0,fo?.(!0),fo=void 0;let n=Io.activeElement,a=n?.dataset.focusKey,o=a?n?.selectionStart:null,r=!!n?.matches(":focus-visible"),s=Vo.querySelector(".messages")?.scrollTop??0,l=Vo.querySelector(".account-dialog")?.scrollTop??0,d=pa?"account":xa?"draft":ba;d!==Qa&&(eo=null);let c=Vo.firstElementChild,u=ti(),h=Vo.classList.contains("thread-pane"),f=Qa!==d,x=c?.getBoundingClientRect(),v=new Map([...c?.querySelectorAll("[data-comment]")??[]].map(e=>[e.dataset.comment,e.querySelector(".message-reaction")]));if(c&&f&&!Pt()&&(!h||!u&&Vo.isConnected)){let t=getComputedStyle(c),i={opacity:t.opacity,transform:t.transform};c.getAnimations().forEach(e=>e.cancel());let n={duration:150,easing:"cubic-bezier(.22,1,.36,1)",fill:"forwards"},a="account"===Qa?ut("div","account-layer"):h?ut("div","thread-pane"):c;a!==c&&a.append(c),c.animate([{transform:i.transform},{transform:h?"translateX(24px)":"translateY(4px) scale(.99)"}],n);let o=a.animate([{opacity:i.opacity},{opacity:0}],n);a.inert=!0,a.setAttribute("aria-hidden","true"),c.style.pointerEvents="none",(h?Vo.parentElement:a!==c&&On?Jo:Io).append(a),bo.set(a,e),e=void 0,o.finished.catch(()=>{}).finally(()=>{a.remove(),bo.get(a)?.(),bo.delete(a)})}e?.(),Vo.replaceChildren(),function(e){let t=e??(On&&pa?Jo:Io);Vo.parentNode!==t&&(t===Io?Qo.before(Vo):t.append(Vo)),Vo.classList.toggle("thread-pane",!!e),Jo.querySelector(".panel")?.toggleAttribute("data-thread",!!e)}(u);let w=Jo.querySelector(".panel");if(w&&h!==!!u){if(!Pt())for(let e of w.querySelectorAll(":scope > :not(.thread-pane)")){let t=[{visibility:"visible",opacity:1,transform:"none"},{visibility:"visible",opacity:0,transform:"translateX(-24px)"}];e.animate(u?t:t.reverse(),{duration:250,easing:"cubic-bezier(.22,1,.36,1)"})}let e=`[data-thread="${CSS.escape(Qa??"")}"] .thread-card`;(u?Po:!xa&&r&&(w.contains(n)||!n.isConnected))&&queueMicrotask(()=>(u?Vo:w).querySelector(u?".thread-back":e)?.focus({preventScroll:!0})),Po=!1}if(Qa=d,Vo.classList.toggle("account-layer",pa),!xa&&!ba&&!pa)return void Ot();let y=ut("section",pa?"dialog account-dialog":"dialog");pa&&y.setAttribute("aria-modal","false"),y.setAttribute("role","dialog"),y.setAttribute("aria-label",pa?"Reviewer account":xa?"New comment":"Comment thread");let k,S=ut("div","dialog-head row between"),z=ut("div","row"),$=fa.find(e=>e.id===ba)??null;if($&&!pa){let e=(e,t)=>({label:e,icon:"Copy link"===e?"link":"Copy selector"===e?"code":"comment",onSelect:()=>Bt(async()=>{await navigator.clipboard.writeText(t()),Wt("Copied")})}),n=$.anchor.source,a=n?Xi(n):"",o=_e("Comment actions",[...Li($.comments[0],$),...Gi($)?[{label:"Move pin",icon:"pointer",onSelect:()=>{!async function(e){Zi();let n=Xa,a=ma;if(ca||!Gi(e))return;let o=await import("./pin-move-G6EWHLDO.js").catch(()=>null);if(!o)return void Wt("Moving is unavailable. Try again.");if(ta||n!==Xa||a!==ma||!Gi(e))return;let r=Uo.querySelector(`.pin[data-thread="${CSS.escape(e.id)}"]`),s=_l(e.anchor);if(!ya(e)||!s.attached||!r)return void Wt("This pin isn’t visible on this page. Open its page before moving it.");let l=Ji(r,s);Na=e.id,tr=!0,sr(),io.stop(),Uo.append(r),Object.assign(r.style,{position:"fixed",margin:"0",left:`${l.x}px`,top:`${l.y}px`}),Ya=o.startPinMove({root:Io,pin:r,point:l,bounds:ll,preview(t){r.dataset.pointer=i(t,window.innerWidth),r.style.left=`${t.x}px`,r.style.top=`${t.y}px`,no={id:e.id,...t},Fi()},finish(i){if(Ya=null,Na=null,no=null,tl="",Ci(),Fi(),Vo.querySelector('summary[aria-label="Comment actions"]')?.focus({preventScroll:!0}),!i||ta||!ya(e)||!Gi(e))return;let n=Qi(i.x,i.y);if(!n)return void Wt("Pin unchanged. Choose an element on this page.");let a=T(_(n,Jr(),t.anchorTarget),i,{x:i.x+s.width,y:i.y+s.height},t.source);a.unstacked=!0,to.delete(e.id),Bt(async()=>{await b(g(e.id,e=>({...e,anchor:a})),async t=>{await Qn.request(`threads/${t(e.id)}`,"PATCH",{anchor:a})}),Wt("Pin moved")})}})}($)}}]:[],...Tl($)?[{label:we($)?`Only on ${$.page===kt()?"this":"its own"} page`:"Show on all pages",icon:"expand",onSelect:()=>function(e){if(!(Qn.user||Va&&Mo.trim()))return Ii();let t=we(e)?"page":"all";Bt(async()=>{await b(g(e.id,e=>({...e,scope:t})),async i=>{Qn.user||await Qn.guest(Mo),await Qn.request(`threads/${i(e.id)}`,"PATCH",{scope:t})}),Wt("Shown on "+("all"===t?"all pages":"its own page"))})}($)}]:[],...$.snapshot&&Qn.user&&(Qn.user.verified||Un?.guests&&$.comments[0]?.author.id===Qn.user.id)?[{label:"Remove snapshot",icon:"trash",destructive:!0,onSelect:()=>{ko().then(e=>e.confirmRemove($,No))}}]:[],...xn?[{label:"Open in Design",icon:"design",onSelect:()=>{Vi($)}}]:[],...a&&/^(https?:|vscode:|cursor:)/.test(a)?[{label:"Open source",icon:"code",onSelect:()=>window.open(a,"_blank","noopener,noreferrer")}]:[],e("Copy link",()=>{let e=new URL($.page,location.origin);return e.searchParams.set("comment",$.id),e.href}),e("Copy feedback",()=>[`Repository: ${t.repo}`,`Branch: ${t.branch}`,`Page: ${new URL($.page,location.origin).href}`,`Target: ${$.anchor.selector||"Page position"}`,...$.anchor.source?[`Source: ${$.anchor.source}`]:[],...$.anchor.text?[`Element text: ${$.anchor.text}`]:[],"",...$.comments.map(e=>`${e.author.name}: ${e.body}`)].join("\n")),e("Copy selector",()=>$.anchor.selector)]);z.append(o),yn&&(k=mt($.tags?.length?"Manage tags":"Add tag",()=>{},"icon thread-tag-action","tag"),z.append(k));let r=mt($.resolved?"Reopen comment":"Resolve comment",()=>$i($,$t($.anchor)),"icon","check");r.disabled=!vl(),z.append(r)}if(z.append(u?mt("Close sidebar",()=>{ui(),ci(!1)},"icon","close"):mt(pa?"Close account":"Close comment",ui,"icon","close")),u&&S.append(mt("Back to comments",ui,"icon thread-back","chevron"),Ai(ut("strong","thread-title"),$?.comments[0]?.body??"")),S.append(z),$||pa||u?y.append(S):y.append(mt("Close comment",ui,"draft-close icon","close")),Jn)y.append(function(){if(Vn)return Vn;let e=Qn;return Kn??=import("./account-tokens-YO6MIZFF.js").then(({accountTokens:i})=>Jn!==e?ut("div"):(Vn=i(e,t.project,()=>{Ft(),Hi(),Vo.querySelector('[data-focus-key="account-tokens"]')?.focus()}),Vn.focusStart(),Vn),e=>{throw Kn=Jn=void 0,Hi(),e}),Dt(ut("p","account account-usage-status","Loading API tokens…"),Kn)}());else if(pa){let e=ut("form","account");if(Qn.user){La??={name:Qn.user.name,avatarUrl:Qn.user.avatarUrl??"",accentColor:Qn.user.accentColor??_t};let i=La,n=xt({...Qn.user,...i}),a=ut("div","account-summary"),o=ut("span","account-status");Qn.user.verified?(o.append(document.createTextNode("Connected with ")),Qn.user.id.startsWith("google:")&&o.append(vt()),o.append(document.createTextNode(Qn.user.id.startsWith("google:")?"Google":"GitHub"))):o.textContent="Guest account";let r=mt("Update profile photo",()=>d.click(),"account-avatar-button");r.replaceChildren(n),a.append(r,ut("h2","","Your profile"),o),e.append(a);let s=ut("label","account-name-label","Display name"),l=ut("input");l.value=i.name,l.name="name",l.autocomplete="name",l.required=!0,l.maxLength=60,l.dataset.focusKey="profile-name",l.addEventListener("input",()=>{i.name=l.value,C(i)}),l.addEventListener("blur",()=>{C(i,!0)}),s.append(l);let d=ut("input");d.type="file",d.accept="image/png,image/jpeg,image/webp",d.hidden=!0,d.setAttribute("aria-label","Choose profile photo"),d.addEventListener("change",()=>Bt(async()=>{let e=d.files?.[0];if(!e)return;if(e.size>10485760)throw new Error("Choose a photo under 10 MB.");let t=await createImageBitmap(e),n=document.createElement("canvas");n.width=n.height=128;let a=n.getContext("2d"),o=Math.min(t.width,t.height);a.drawImage(t,(t.width-o)/2,(t.height-o)/2,o,o,0,0,128,128),t.close();let r=.8;do{i.avatarUrl=n.toDataURL("image/jpeg",r),r-=.15}while(i.avatarUrl.length>12e3&&r>.1);if(i.avatarUrl.length>12e3)throw new Error("Choose a smaller photo.");C(i,!0),Hi()})),a.append(d);let p=function(e,t){let i=ut("div","account-accent-mount");i.style.minHeight="62px";let n,a=!1,o=async()=>{i.replaceChildren(),i.setAttribute("aria-busy","true");try{let o=await import("./accent-picker-PPVPURA7.js");if(a)return;let r=o.accentPicker(e,t);n=r.destroy,i.replaceChildren(r.element)}catch{a||i.replaceChildren(mt("Load accent colors",()=>{o()},"secondary"))}finally{i.removeAttribute("aria-busy")}};return o(),{element:i,destroy:()=>{a=!0,n?.()}}}(i.accentColor,e=>{i.accentColor=e,Tt(n,e),C(i)});if(Xn=p.destroy,e.append(s,p.element),t.onboarding){let i=t.onboarding;e.append(Dt(ut("section","onboarding-panel"),import("./onboarding-6OSADOWE.js").then(({onboardingPanel:e})=>e(Qn,i))))}else e.append(function(){return Wn?Ee("sidebar","Sidebar",[["mobile","Floating sidebar"]],"mobile",()=>{}):$n?Ee("sidebar","Sidebar",[["edge","Floating"],["background","Frame"]],Ln,Ce):ut("p","muted","Floating sidebar · Set pageRoot for Frame.")}()),Fn&&e.append(function(){let e=Ee("channel","Comments",[["local","Local development"],["shared","Site comments"]],Yn,ze);return e.append(ut("p","muted","Separate channels, both saved to this project.")),e}()),e.append(Nt());if(Qn.user?.verified&&!t.onboarding?.code&&!t.onboarding?.claimKey&&!t.onboarding?.invite){let i=ut("div");e.append(i),import("./onboarding-6OSADOWE.js").then(({projectManagement:n})=>{i.isConnected&&i.replaceWith(n(Qn,t.onboarding?.workspace,i=>{if(i)ba=null,Ca.replace([],Ca.revision),e.querySelector(".account-usage")?.remove();else{let i=t.onboarding?.workspace?`usage?workspace=${encodeURIComponent(t.onboarding.workspace)}`:"usage";e.querySelector(".account-usage")?.replaceWith(Nt(i)),Xt().catch(()=>{})}}))})}e.addEventListener("submit",e=>{e.preventDefault(),C(i,!0)});let c=ut("div","account-session");if(c.append(mt("Sign out",()=>Bt(async()=>{if(Ca.busy||ca)return void Wt("Wait for your changes to save.");clearTimeout(_a),qa=null;let e=Qn.logout();Le(),La=null,Pa=null,an();try{await e}finally{Le(),Bt(Xt),an()}}),"secondary")),Ds()){let t=mt("API tokens",It,"account-sites-summary account-tokens-entry");t.removeAttribute("title"),t.replaceChildren(ut("span","","API tokens"),ht("chevron")),t.dataset.focusKey="account-tokens";let i=ut("div","account-sites");i.append(t),e.append(i)}e.append(c),!Qn.user.verified&&Ia&&e.append(E()),!Qn.user.verified&&Ua&&e.append(mt("Sign in with GitHub",()=>Bt(()=>Ti()),"primary"))}else{if(e.append(ut("h2","",t.onboarding?"Set up inline feedback":"Leave comments")),t.onboarding?.inProject){e.append(ut("p","","Add the sites where you want to leave feedback. One site per line."));let i=ut("label","account-name-label","Production and preview sites"),n=ut("textarea");n.rows=2,n.placeholder="https://your-site.com",n.value=Fa,n.dataset.focusKey="setup-sites",n.addEventListener("input",()=>{Fa=n.value}),i.append(n),e.append(i);let a=mt("Connect",()=>Bt(async()=>{if(!Da){Da=!0,a.disabled=!0;try{let e=await function(e,t,i=[location.origin]){let n=new URL(e.endpoint),a=new URL("/setup/connect",n);a.searchParams.set("code",e.onboarding.code),a.searchParams.set("origin",location.origin),a.searchParams.set("sites",JSON.stringify(i));let o=window.open("about:blank","palette-connect","popup,width=600,height=720");return o?new Promise((i,r)=>{let s=()=>{window.removeEventListener("message",p),t.removeEventListener("abort",d),clearInterval(c),clearTimeout(u),o.close()},l=e=>{s(),r(new Error(e))},d=()=>l("Setup closed. Reopen inline feedback to try again."),p=t=>{let a=t.data;t.origin!==n.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(),i(a))},c=window.setInterval(()=>{o.closed&&l("Sign-in closed. Try connecting again.")},1e3),u=window.setTimeout(()=>l("Setup expired. Run palette init again."),6e5);window.addEventListener("message",p),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."))}(t,ea.signal,function(e,t){let i=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}),n=[...new Set([t,...i])];if(n.length>10)throw new Error("Connect up to ten sites at a time.");return n}(Fa,location.origin));if(ta)return;(function(e,t){try{localStorage.setItem(D(e),JSON.stringify({project:t.project,repo:t.repo}))}catch{}})(t,e),t={...t,project:e.project,repo:e.repo,onboarding:void 0},Qn=new Qe(t),Qn.save(e),pa=!1,La=null,Qa=null,await un(),an(),Wt("Inline feedback is connected. Select an element to comment.")}finally{Da=!1,ta||an()}}}),"primary");a.disabled=Da,e.append(a)}if(Va){let t=ut("label","account-name-label","Your name"),i=ut("input");i.name="name",i.autocomplete="name",i.placeholder="Your name",i.required=!0,i.maxLength=60,i.value=Mo,i.dataset.focusKey="account-name",i.addEventListener("input",()=>Mo=i.value),t.append(i),e.append(t);let n=mt("Continue",()=>{},"primary");n.type="submit",n.disabled=ca,ca&&n.setAttribute("aria-busy","true"),e.append(n)}Va&&(Ia||Ua)&&e.append(ut("div","account-divider","or")),Ia&&e.append(E()),Ua&&e.append(mt("Continue with GitHub",()=>Bt(()=>Ti()),"secondary")),e.addEventListener("submit",e=>{e.preventDefault(),Bt(async()=>{await async function(){if(!ca){ca=!0,Ma="",Hi();try{for(await(async()=>{await Qn.guest(Mo),pa=!1})();ua&&!ta;)await new Promise(e=>setTimeout(e,20));await Xt()}finally{ca=!1,an()}}}(),await Oi()})})}y.append(e)}else if(xa)y.append(qi(null));else if($){if(m($)){if(!P($.anchor)){let e=ut("div","notice thread-navigation thread-anchor-status");e.setAttribute("role","status"),e.append(ut("p","","Element not found on this page. The conversation is still available."),Co(4,$)),y.append(e)}}else{let e=ut("div","notice thread-navigation");e.setAttribute("role","status"),e.append(ut("p","",va?.id===$.id&&va.rejected?"Navigation could not be completed. The conversation is still available.":va?.pending?"Opening this comment’s page…":"The app is on a different page. The conversation is still available."));let t=ut("a","thread-destination","Open destination");t.dataset.focusKey="thread-destination",t.href=new URL($.page,location.origin).href,t.title=t.href,t.setAttribute("aria-label",`Open destination: ${t.href}`),t.setAttribute("aria-disabled",String(!!va?.pending)),t.addEventListener("click",e=>{e.preventDefault(),va?.pending||bi($)}),e.append(t),$.snapshot&&e.append(Co(2,$)),y.append(e)}let e=ut("div","messages");for(let t of $.comments)e.append(_i(t,$));y.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),$.snapshot&&e.querySelector(".message .message-text")?.after(Co(1,$)),yn){let t=Pi($.tags??[],e=>Ri($,{tag:e}),e=>Ri($,{untag:e}),k);t.classList.add("thread-tags");let i=e.querySelector(".message"),n=i?.querySelector(".message-text, .edit-actions");n?n.after(t):i?.append(t)}y.append(qi($))}else y.append(ut("div","empty","This comment is no longer available."));if(Vo.append(y),pa&&f&&!Pt()&&(Vo.animate([{opacity:0},{opacity:1}],{duration:250,easing:"ease-out"}),y.animate([{opacity:0,transform:"translateY(8px) scale(.97)"},{opacity:1,transform:"none"}],{duration:250,easing:"cubic-bezier(.22,1,.36,1)"})),!pa&&!u){let e=ut("div","comment-drag-handle");e.setAttribute("aria-hidden","true"),y.prepend(e),p(y,e,e=>{Qa&&to.set(Qa,e),Fi()},ea.signal,()=>io.stop())}if(Fi(),u){f&&(El=!1,Di(!0,1200));let e=e=>{El=e,Di(e)};for(let t of[S,y.querySelector(".messages")])t?.addEventListener("pointermove",()=>El||e(!0)),t?.addEventListener("pointerleave",()=>e(!1)),t?.addEventListener("focusin",t=>{t.target.matches(":focus-visible")&&e(!0)}),t?.addEventListener("focusout",()=>e(!1));y.addEventListener("click",()=>Di(!1,600)),y.addEventListener("pointerover",e=>e.target.closest(".design-card-target")?.removeAttribute("title"))}if(!pa&&!Pt()){let e=y.getBoundingClientRect(),t=or??(f?null:x);u?f&&y.animate([{opacity:0,transform:h?"none":"translateX(24px)"},{opacity:1,transform:"none"}],{duration:250,easing:"cubic-bezier(.22,1,.36,1)"}):t&&(or||Math.abs(t.height-e.height)>1||Math.abs(t.width-e.width)>1)?y.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)"}):f&&y.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 y.querySelectorAll("[data-comment]")){let t=e.querySelector(".message-reaction"),i=v.get(e.dataset.comment),n=e.dataset.comment;t&&i&&i.dataset.reactions!==t.dataset.reactions&&kl.set(n,{from:i,to:t.dataset.reactions,started:performance.now()});let a=kl.get(n),o=a?performance.now()-a.started:470;if(t&&a&&o<470&&a.to===t.dataset.reactions){let e=ut("span","reaction-leaving");e.setAttribute("aria-hidden","true");for(let t of a.from.children){if(t.classList.contains("reaction-leaving"))continue;let i=t.cloneNode(!0);e.append(i)}let i=[...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 i){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(()=>{kl.get(n)===a&&kl.delete(n)}).catch(()=>{})}}}}or=null;let A=y.querySelector(".messages");if(A&&(A.scrollTop=s),pa&&!f&&(y.scrollTop=l),a){let e=y.querySelector(`[data-focus-key="${a}"]`);e&&(e.focus({preventScroll:!0}),null!=o&&e.setSelectionRange(o,o))}}function Bi(e=Al||jl){if(clearTimeout(Ml),e!==$l){$l=e;for(let t of Uo.querySelectorAll(".pin"))t.classList.toggle("hot",t.dataset.thread===e);en()}}function Di(e,t=0){clearTimeout(zl),Cl=e,en(),t&&(zl=window.setTimeout(()=>Di(El),t))}function Fi(){let e=Math.min(window.innerHeight,window.visualViewport?.height??window.innerHeight),t=Vo.firstElementChild;if(!t||pa)return;let i=fa.find(e=>e.id===ba),n=t.querySelector(".thread-anchor-status");if(n&&(n.hidden=!!(i&&m(i)&&P(i.anchor))),Vo.classList.contains("thread-pane")){let e=Sl;Sl=performance.now()+500;let t=()=>{en(),performance.now()<Sl?requestAnimationFrame(t):Sl=0};return void(e||t())}if(Wn&&t.querySelector("textarea:focus")){let i=window.visualViewport?.offsetTop??0;t.style.maxHeight=`${Math.max(0,e-24)}px`;let n=function(e,t,i,n,a){return{x:Math.max(12,(e-n)/2),y:i+Math.max(12,(t-a)/2)}}(window.innerWidth,e,i,t.offsetWidth,t.offsetHeight);return io.place(Qa,t,n.x,n.y,!0),t.style.bottom="auto",t.style.transformOrigin="bottom center",void Ot()}let a=is?Math.min(e,Vr().bottom)-12:e-92;t.style.maxHeight=a-12+"px",(bl??=new ResizeObserver(()=>Fi())).observe(t);let o,r,s=xa??(i&&m(i)?i.anchor:null),d=no?.id===ba?no:s?(()=>{let e=_l(s);if(!e.attached)return eo!==Qa&&null;eo=Qa,o=e.width>16&&e.height>16?{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height}:(xa?Wl:xo.test(i?.comments[0]?.body??""))?e.component:void 0;let t=ba&&Uo.querySelector(`[data-thread="${CSS.escape(ba)}"]`);return r=t?Ki(t):void 0,t?Ji(t,e):e})():null;if(!1===d)return xa&&$o.trim()&&(Ga={anchor:xa,text:$o}),ui();let p=no?.id===ba,c=()=>{t.style.transformOrigin=!d||d.x<t.offsetLeft+t.offsetWidth/2?"top left":"top right"},u=!p&&Qa&&to.get(Qa);if(u){let i=l(u,t.offsetWidth,t.offsetHeight,vr.clientWidth,e);return io.place(Qa,t,i.x,i.y,p),c(),void Ot()}let h=(window.innerWidth-354)/2,g=e-450,f=ia&&!Wn?396:12,b=t.offsetWidth,x=t.offsetHeight;if(d&&({x:h,y:g}=y(r?.width&&!p?r:ve(d),b,x,{left:12,top:12,right:window.innerWidth-f,bottom:a})),o&&!Wn&&!p){let e=a-o.bottom-14,i=o.top-26;if(o.right+14+b<=window.innerWidth-f)[h,g]=[o.right+14,o.top];else if(o.left-14-b>=12)[h,g]=[o.left-14-b,o.top];else if(Math.max(e,i)>=Math.min(x,200)){let n=e>=x||e>=i?e:i;t.style.maxHeight=`${n}px`,[h,g]=[o.left,n===e?o.bottom+14:o.top-14-Math.min(x,n)]}}io.place(Qa,t,Math.max(12,Math.min(h,window.innerWidth-t.offsetWidth-f)),Math.max(12,Math.min(g,a-t.offsetHeight)),p),c(),Ot()}function Ii(){d(),Zi(),clearTimeout(rs),La=null,na=!1;let e=Wn;e&&!ia&&ci(!0),rs=0,!(ta||e&&!ia)&&(pa=!0,an(),function(){queueMicrotask(()=>{if(!pa)return;let e=Wn,t=e?Vo.querySelector(".account-dialog"):Vo.querySelector("input,button");e&&t&&(t.tabIndex=-1),t?.focus({preventScroll:!0})})}())}function Ni(e,t){return jt(e,t).find(e=>e!==Fo&&!Fo.contains(e))??null}function Yi(e){let i=yt();return!!e&&e!==Jr()&&e!==i.body&&(i===document&&t.pickRoots?[zn,...t.pickRoots()]:[i.body]).some(t=>t.contains(e))}function Xi(e,i){return t.sourceUrl?.(e,t.branch)??`https://github.com/${t.repo}/blob/${encodeURIComponent(t.branch)}/${e.split("/").map(encodeURIComponent).join("/")}${i?`#L${i}`:""}`}function Ui(){return ka?Promise.resolve(ka):(Sa||(Sa=import("./design-mode.js").then(({createDesignMode:e})=>{let i=e({root:Io,panelRoot:Jo,host:Fo,shortcutHelp:vi,visibility:gn.visibility,keys:fn,reservedKey:e=>Object.values(gn).some(t=>qe(e,t)),design:t.design,sourceHref:Xi,page:kt,bounds:e=>is&&Kr(e)?Vr():void 0,flip(){if(!On||!ia||Dn||ws)return;let e=Jo.getBoundingClientRect();ue({x:vr.clientWidth-e.right,y:e.top}),Bn=!0,Jo.animate([{transform:`translateX(${e.left-Jo.getBoundingClientRect().left}px)`},{}],{duration:320,easing:"cubic-bezier(.22,1,.36,1)"})},targetAt(e,t){let i=Ni(e,t);return Yi(i)?i:null},onComment(e,t){la=!1,ia&&!Ns()&&ci(!1),Jt(!1),$o="",Ao=t??"",jo=[];let i=Et(e),n={x:(Math.max(i.left,0)+Math.min(i.right,innerWidth))/2,y:(Math.max(i.top,0)+Math.min(i.bottom,innerHeight))/2};on(e,n,n,!0)},onExit(){sa=!1,ka?.setReturnAction(null),Ut(),wi(),Kt()}});return Promise.race([i.ready,new Promise(e=>setTimeout(e,2e3))]).then(()=>ta?(i.destroy(),null):(ka=i,i.setActive(sa),i))}).catch(()=>(sa=!1,Ut(),wi(),null)).finally(()=>{Sa=null})),Sa)}async function Vi(e){if(!xn||ta)return;if(!ya(e)){let t=new URL(e.page,location.origin);return t.searchParams.set("comment",e.id),t.searchParams.set("comment-view","design"),void await ln(t)}if(!m(e))return void Wt("Design is unavailable until this comment’s page is reached.");let t=P(e.anchor);if(!t||!Yi(t)||!_l(e.anchor).attached)return void Wt("Design is unavailable: this comment’s element isn’t visible on this page.");let i=ia;Jt(!0),ga=i;let n=await Ui();if(n&&sa&&!ta&&ba===e.id&&ya(e)){if(!t.isConnected||P(e.anchor)!==t)return Jt(!1),void Wt("Design is unavailable: this comment’s element has changed.");n.select(t),n.setReturnAction({label:"Back to comment",run:()=>Jt(!1)})}}function Ki(e){let t=e.parentElement;if(!t.matches(".pin-stack"))return e.getBoundingClientRect();let i=t.getBoundingClientRect(),n=38*Math.min(t.children.length,6)+4,a="right"===t.dataset.pointer?i.right-n:i.left,o=t.hasAttribute("data-below")?i.top:i.bottom-38;return{left:a,right:a+n,top:o,bottom:o+38,width:n}}function Ji(e,t){if(!e.closest(".pin-stack")||e.dataset.dragging)return t;let i=e.getBoundingClientRect();return{x:i.left+("right"===e.dataset.pointer?25:9),y:i.top+28}}function Gi(e){return!!Qn.user&&(Qn.user.verified||e.comments[0]?.author.id===Qn.user.id)}function Zi(){Xa++,Ya?.cancel()}function Qi(e,t){let i=Ni(e,t);if(!Yi(i))return null;let n=i.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")??i,a=n.closest("button,a,[role=button],[role=link]");return Yi(a)?a:n}function en(){let e=!na&&!!ti(),i=e?ba:ia&&!xa&&!ti()&&Jo.querySelector(`.list [data-thread="${CSS.escape($l)}"]`)&&$l,n=i&&fa.find(e=>e.id===i),a=n&&m(n)&&_l(n.anchor),o=a&&a.attached&&(a.width&&a.height?{left:a.x,top:a.y,right:a.x+a.width,bottom:a.y+a.height}:a.component);if(lr.toggleAttribute("data-thread",!!o),Uo.toggleAttribute("data-quiet",!!o&&e),Uo.toggleAttribute("data-outlined",!!o&&e&&Cl),o){let t=Ll(n.anchor);return tn(o,a.width&&a.height?null:t,is&&!!t&&Kr(t)),void(e&&!Cl&&(lr.style.opacity="0"))}if(!na&&!xa||Rl||xa&&xa.width>0&&xa.height>0)return lr.style.opacity="0",void(!na&&!xa&&(dr=null,pr=null));xa&&(dr=Ll(xa)),na&&pr&&(dr=Qi(pr.x,pr.y)),na&&dr&&(dr=_(dr,Jr(),t.anchorTarget)),dr?.isConnected?tn(Et(dr),dr,is&&Kr(dr)):lr.style.opacity="0"}function tn(e,t,i){Pl=t,lr.style.opacity=nt(lr,e,t,i?Vr():void 0)?"1":"0"}function nn(){cr||(cr=requestAnimationFrame(()=>{cr=0,en()}))}function an(){if(ta)return;if(Fo.classList.toggle("design-active",sa),pa&&!ia)return void(xe(window.innerWidth,window.innerHeight)?(pa=!1,Ii()):ci(!0));Zt();let e=!!xa&&!pa&&xe(window.innerWidth,window.innerHeight);Fo.classList.toggle("mobile-composing",e),Jo.inert=Wn?!ia||pa:On?!ia:pa,(ba||xa||na||oa||cs||pa)&&sr(!0),Fo.toggleAttribute("data-comments-hidden",cs),Vo.style.display=cs&&!pa?"none":"",Xo.hidden=!na,en(),Go.replaceChildren(),wi(),Ko.inert=sa,Ci(),ji(),Hi();let t=Jo.querySelector(".panel");t&&(t.inert=sa,t.setAttribute("aria-hidden",String(sa)),t.hidden=sa),sa&&ka?.mountPanel(Jo);let i=Jo.querySelector(".design-inspector__heading");i&&!i.dataset.drag&&(i.dataset.drag="",Es(i))}function on(e,i,n=i,a=!1){if(d(),mi(),Wl=a,sr(),e=_(e,Jr(),t.anchorTarget),xa=T(e,i,n,t.source),is&&!qr){let e=zn.getBoundingClientRect(),t=Xs*qs();xa.pageX=(Math.min(i.x,n.x)-e.left)/t+zn.scrollLeft,xa.pageY=(Math.min(i.y,n.y)-e.top)/t+zn.scrollTop}dr=e,na=!1,ba=null,pa=!1,Lo=null,Ma="",an(),Vo.querySelector('[data-focus-key="body"]')?.focus({preventScroll:!0}),Fi()}function rn(){if(Na&&!fa.some(e=>e.id===Na&&ya(e))&&Zi(),Oo||ta||document.hidden)return;let e=kt();!Os&&(cs&&!pa||!xa&&!ba&&!na&&(oa||!fa.some(t=>(t.page===e||we(t))&&!t.resolved)))||(Oo=requestAnimationFrame(()=>{Oo=0,Ci(),Fi(),Ot(),en()}))}function sn(){ta||kt()===Ro||(Ro=kt(),mo?.resetDesignPreviews(),ka?.clearSelection(),ka?.setReturnAction(null),Ga=null,ba=va?.id===ba?ba:null,xa=null,an())}async function ln(e){let i=St()?.contentWindow;if(i&&e.origin===location.origin)return e.searchParams.delete("comment"),e.searchParams.delete("comment-view"),i.location.assign(e);if(!t.navigate||e.origin!==location.origin)return location.assign(e);let n=e.searchParams.get("comment");if(!n)return;d(),wa.delete(n);let a={id:n,inspect:"design"===e.searchParams.get("comment-view"),pending:!0,rejected:!1};va=a,ba===n&&Hi();try{await t.navigate(e)}catch{a.rejected=!0}ta||va!==a||(a.pending=!1,sn(),await dn(a))}async function dn(e){let t=fa.find(t=>t.id===e.id);if(!t||Nl===e||e.opened)return;Nl=e;for(let i=0;i<5e3&&m(t)&&!P(t.anchor)&&(await new Promise(e=>setTimeout(e,100)),!ta&&va===e);i+=100);if(Nl===e&&(Nl=null),ta||va!==e||!fa.some(e=>e.id===t.id))return;let i=new URL(location.href);i.searchParams.get("comment")===e.id&&(i.searchParams.delete("comment"),i.searchParams.delete("comment-view"),history.replaceState(history.state,"",i)),sn(),e.opened=!0,ia||ci(!0),bi(t,!0),e.inspect&&m(t)&&Vi(t)}async function pn(){let e=new URL(location.href),t=e.searchParams.get("comment");if(t&&wa.has(t))return e.searchParams.delete("comment"),e.searchParams.delete("comment-view"),void history.replaceState(history.state,"",e);let i=fa.find(e=>e.id===t);!i||va?.pending||(va?.id!==i.id&&(d(),va={id:i.id,inspect:"design"===e.searchParams.get("comment-view"),pending:!1,rejected:!1}),await dn(va))}function cn(){let e=new Qe(t);return!(e.token===Qn.token||Qn.transient&&!e.token||(Qn.cancelReads(),Qn=e,Ha=!1,Oa=null,ja="Connecting",Ia=Ua=Va=Ka=Ba=Ja=!1,xa=Ga=null,$o=Ao="",jo=[],Bo.clear(),Do.clear(),Za.length=0,qa=La=Pa=null,Ta++,clearTimeout(_a),Le(),an(),Bt(un),0))}async function un(){let e,t=Qn,i=t.token;try{await t.restore()}catch{}if(ta||t!==Qn)return;i!==t.token&&Le(),wi(),pa&&Hi();let n=Xt();n.catch(()=>{});try{e=await t.request("config")}catch(e){if(ta||t!==Qn||e instanceof DOMException&&"AbortError"===e.name)return;let i=k(e),n=Oa?.detail!==i.detail;throw Oa=i,ja="Offline",n&&an(),e}if(ta||t!==Qn)return;Ha=!0,Ia=!!e.google,Ua=e.github,Va=e.guests,Ka=e.guestResolve,Ba=!!e.private,Ja=!0===e.tokens,Un=e.snapshots,an();let a=await n;return ta||t!==Qn?void 0:(pn(),an(),a)}let hn={destroy(){},open(){},close(){},comment(){},async refresh(){}};if(typeof document>"u"||!1===t.enabled||wt())return hn;if(!t.endpoint)return console.error("Palette: set `endpoint` to your Palette server (see the self-hosting guide)."),hn;if(et(),!t.repo||!t.branch||!t.project)throw new Error("Comments require repo, branch, and project.");if(t.pageRoot&&(t.pageRoot===document.body||!document.body.contains(t.pageRoot)))throw new Error("pageRoot must be mounted inside body.");let mn=new URL(t.endpoint);if(mn.username||mn.password||"https:"!==mn.protocol&&("http:"!==mn.protocol||!["localhost","127.0.0.1","[::1]"].includes(mn.hostname)))throw new Error("Use an HTTPS API endpoint without credentials; HTTP is allowed on localhost.");bt(t.avatar);let gn=Re(t.shortcuts),fn=Pe(t.shortcuts),bn=t.pins?.size??"full";if(!Ae.includes(bn))throw new Error(`Invalid Palette pins.size: "${bn}".`);let xn=!1!==t.features?.designMode,vn=[],wn=Ue(t.toolbar?.items),yn=!1!==t.features?.tags,kn=JSON.stringify([mn.href,t.project,t.repo,t.branch]),Sn=Me.get(document);if(Sn){if(Sn.scope!==kn)throw new Error("Destroy the current Palette instance before changing projects or branches.");return Sn.controller}t={...e(t)};let Cn=[...document.body.childNodes].filter(e=>e instanceof Element?!e.matches("script,style,link,meta,template,noscript"):3===e.nodeType&&e.textContent?.trim()),En=t.pageRoot??(1===Cn.length&&Cn[0]instanceof HTMLElement?Cn[0]:document.body),zn="contents"===getComputedStyle(En).display?document.body:En,$n=zn!==document.body,An="iframe"===t.frame?.mode&&!0!==t.frame.scale&&!0===t.frame.shell,jn=An?function(e){try{if(/^(palette|komo)-viewport$/.test(window.name))return"";let t=new URL(location.href).searchParams,i=t.get(G)??t.get(Z),n=JSON.parse(sessionStorage.getItem(Q)??sessionStorage.getItem("komo:shell")??"null");return i&&1===n?.v&&n.nonce===i&&n.project===e&&n.origin===location.origin?i:""}catch{return""}}(t.project):"",Mn=`palette:sidebar-mode:${t.project}:${t.repo}`,Ln=(()=>{if(!$n)return"edge";if(jn)return"background";try{let e=localStorage.getItem(Mn);if("edge"===e||"background"===e)return e}catch{}return"background"===t.sidebar?"background":"edge"})(),_n=`palette:pin-size:${t.project}:${t.repo}`,Tn=bn;try{let e=localStorage.getItem(_n);e&&Ae.includes(e)&&(Tn=e)}catch{}let Pn=`palette:read:${t.project}:${t.repo}`,Rn={};try{let e=JSON.parse(localStorage.getItem(Pn)??"{}");e&&"object"==typeof e&&(Rn=e)}catch{}let qn=e=>{let t=e.comments.at(-1);return!(!t||t.author.id===Qn.user?.id||Rn[e.id]>=t.createdAt)},Wn=xe(window.innerWidth,window.innerHeight),On=!Wn&&"edge"===Ln,Hn=!1,Bn=!1,Dn=!1,Fn=["localhost","127.0.0.1","[::1]"].includes(location.hostname),In=t.branch,Nn=`palette:channel:${t.project}:${t.repo}`,Yn="local";try{"shared"===localStorage.getItem(Nn)&&(Yn="shared")}catch{}Fn&&"local"===Yn&&(t={...t,branch:"local"});let Xn,Un,Vn,Kn,Jn,Gn,Zn,Qn=new Qe(t),ea=new AbortController,ta=!1,ia=!!t.onboarding,na=!1,aa=!1,oa=!1===t.showToolbar,ra=!1===t.showToolbar,sa=!1,la=!1,da=0,pa=!!t.onboarding,ca=!1,ua=!1,ha=!!t.onboarding,ma=0,ga=null,fa=[],ba=null,xa=null,va=null,wa=new Set,ya=(e,t=P,i=kt())=>function(e,t,i){return e.page===t||we(e)&&!!i(e.anchor)}(e,i,t),ka=null,Sa=null,Ca=new ie([],e=>{if(!ta){if(ba){let e=Ca.id(ba);e!==ba&&(Bo.has(ba)&&(Bo.set(e,Bo.get(ba)),Bo.delete(ba)),Qa===ba&&(Qa=e),ba=e)}Lo&&(Lo=Ca.id(Lo)),fa=e,tl="",Ci(),ji(),wi(),pa||Hi()}},(e,t)=>e.map(e=>({...e,id:t(e.id),comments:e.comments.map(e=>({...e,id:t(e.id)}))}))),Ea="open",za="",$a=!0,Aa="",ja="Connecting",Ma="",La=null,_a=0,Ta=0,Pa=null,Ra=Promise.resolve(),qa=null,Wa="",Oa=null,Ha=!1,Ba=!1,Da=!1,Fa=t.onboarding?.sites?.filter(e=>e.startsWith("https://")&&e!==location.origin).join("\n")??"",Ia=!1,Na=null,Ya=null,Xa=0,Ua=!1,Va=!1,Ka=!1,Ja=!1,Ga=null,Za=[],Qa=null,eo=null,to=new Map,io=function(e){let t=null,i=null,n=0,a=0,o=0,r=0,l=0,d=0,p=0,c=0,u=0,h=0,m=1,g=matchMedia("(prefers-reduced-motion: reduce)"),f=()=>{i&&(i.style.translate=`${o-p}px ${r-c}px`,i.style.scale=`${1-u*m} ${1-u*(1-m)}`)},b=()=>{cancelAnimationFrame(n),n=0,l=d=u=h=0,i&&(i.style.translate="",i.style.scale="",i.style.willChange="")},x=t=>{if(!i?.isConnected||g.matches)return void b();let v=Math.min((t-a)/1e3,.032);a=t;let w=Math.max(1,Math.ceil(v/.008));for(let e=0;e<w;e++){let e=v/w,t=s(o,l,p,e),i=s(r,d,c,e);o=t.value,l=t.velocity,r=i.value,d=i.velocity;let n=Math.hypot(l,d);n>30&&(m=Math.abs(l)/(Math.abs(l)+Math.abs(d)));let a=s(u,h,Math.min(.035,n/24e3),e,220,15);u=Math.max(-.012,Math.min(.04,a.value)),h=a.velocity}if(f(),e(),Math.hypot(o-p,r-c)<.1&&Math.hypot(l,d)<1&&Math.abs(u)<2e-4&&Math.abs(h)<.002)return o=p,r=c,b(),void e();n=requestAnimationFrame(x)};return{place(e,s,l,d,u){if(t!==e&&(b(),t=e,o=l,r=d),i=s,p=l,c=d,s.style.left=`${l}px`,s.style.top=`${d}px`,g.matches||!u&&!n)return o=l,r=d,void b();f(),s.style.willChange="translate, scale",n||(a=performance.now(),n=requestAnimationFrame(x))},stop:b}}(()=>Ot()),no=null,ao=`palette:drawer:${t.project}:${t.repo}`;try{let e=JSON.parse(localStorage.getItem(ao)??"null");e&&Number.isFinite(e.x)&&Number.isFinite(e.y)&&(Zn={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},Gn=Zn)}catch{}let oo,ro,so=`palette:sidebar:${t.project}:${t.repo}`,lo=!1,po=ae,co=null;try{let e=JSON.parse(localStorage.getItem(so)??"null");Number.isFinite(e?.width)&&(po=e.width),Number.isFinite(e?.height)&&(co=e.height),e&&Number.isFinite(e.x)&&Number.isFinite(e.y)&&(oo={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},ro=oo)}catch{}let uo,ho,mo,go,fo,bo=new Map,xo=/^Proposed .+ \(preview only\)$/m,vo=()=>uo??=import("./design-comment-BF2KGPWU.js").then(e=>(mo=e,ho=e.summarizeDesignComment,ta||(tl="",Ci(!0)),e)),wo=e=>t=>{let i=P(e),n=[];try{t&&(n=[...yt().querySelectorAll(t)])}catch{}return 1!==n.length||i&&n.includes(i)?i??n[0]??null:n[0]},yo=(e,i)=>t.snapshots&&Un&&Qn.user&&(Qn.user.verified||Un.guests)?import("./snapshot-3PSQKXUV.js").then(n=>n.snapshotFor(e,P,t.snapshots,Un,i),()=>null):void 0,ko=()=>go??=import("./thread-snapshot-ML2RZVID.js"),So=new WeakSet,Co=(e,t,i)=>{let n=ut("div");return ko().then(a=>ta||a.mountSnapshot(n,No,e,t,i),()=>{}),n},Eo=e=>xo.test(e)?ho?.(e)??(vo(),"Design change"):e,zo=e=>Eo(e).trim().split("\n")[0].slice(0,100),$o="",Ao="",jo=[],Mo="",Lo=null,_o="",To=null,Po=!1,Ro=kt(),qo=0,Wo=0,Oo=0,Ho=0,Bo=new Map,Do=new Map,Fo=ut("div");Fo.dataset.branchComments=t.project,Fo.dataset.sidebar=Wn?"mobile":On?"edge":"background",Object.assign(Fo.style,{position:"fixed",inset:"0",pointerEvents:"none",zIndex:"2147483647",isolation:"isolate"});let Io=Fo.attachShadow({mode:"open"}),No={root:Io,token:()=>Qn.token,origin:()=>new URL(t.endpoint).origin,dropped:So,go:e=>{ln(e)},notify:Wt,remove:e=>Bt(()=>b(g(e.id,({snapshot:e,...t})=>t),async t=>{for(let i in e.snapshot)await Qn.request(`threads/${t(e.id)}/snapshot/${i}`,"DELETE")}))},Yo=ut("style");Yo.textContent=$e;let Xo=ut("div","catch");Xo.hidden=!0;let Uo=ut("div","pins"),Vo=ut("div"),Ko=ut("div","toolbar"),Jo=ut("div"),Go=ut("div");Jo.tabIndex=-1,On&&Jo.classList.add("edge-sidebar");let Zo=ut("div","edge-sidebar-sensor");Zo.hidden=!0,Object.assign(Uo.style,{position:"fixed",inset:"0"});let Qo=ut("div","pin-preview");Qo.hidden=!0;let er=0,tr=!1,ir=!1,nr=null,ar=null,or=null,rr="",sr=(e=!1)=>{if(window.clearTimeout(er),Qo.hidden||ir&&!e)return;if(mo?.resetDesignPreviews(new Set([...fa.find(e=>e.id===ba&&m(e))?.comments.map(e=>e.id)??[],"draft"])),ir=!0,ar?.cancel(),e||Pt())return Qo.hidden=!0,void(nr=null);let t=Qo.animate([{opacity:1,transform:"scale(1)"},{opacity:0,transform:"translateY(3px) scale(.99)"}],{duration:150,easing:"cubic-bezier(.22,1,.36,1)",fill:"forwards"});ar=t,t.finished.then(()=>{ar===t&&(Qo.hidden=!0,nr=null)}).catch(()=>{})};Qo.addEventListener("pointerenter",()=>{tr||Na||no||(ir=!1,window.clearTimeout(er),ar?.cancel())}),Qo.addEventListener("pointerleave",()=>sr());let lr=ut("div","component-hover");lr.setAttribute("aria-hidden","true");let dr=null,pr=null,cr=0,ur=ut("div","sr-only");ur.setAttribute("aria-live","polite");let hr=function(e,t){let i,n,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 p=()=>n||r?Promise.resolve():a||(a=import("./toolbar-runtime-TZWY2KH3.js").then(async t=>{if(s&&await new Promise(e=>{o=e}),r)return;let a=e.getRootNode().activeElement?.dataset.menuItem;n=t.mountToolbar(e,i),a&&e.querySelector(`[data-menu-item="${a}"]`)?.focus({preventScroll:!0})}).catch(()=>{a=void 0}),a);return e.addEventListener("pointerenter",()=>{p()},{once:!0}),e.addEventListener("focusin",()=>{p()},{once:!0}),{render(a){if(i=a,r)return;if(n)return void n.render(i);let o=ut("nav","morphing-menu");o.setAttribute("aria-label",i.label??"Website review"),o.dataset.view="collapsed",o.dataset.edge=i.edge??"bottom",o.dataset.vertical=String("left"===i.edge||"right"===i.edge),o.dataset.alignEnd=String(!!i.alignEnd);let s=Ke(i.items,i.bar),l=s.filter(e=>"|"!==e).length;o.style.setProperty("--mm-count",String(l)),o.style.setProperty("--mm-gaps",String(s.length-l));let d=ut("div","morphing-menu__shell"),c=ut("div","morphing-menu__bar");for(let a of s){let o=i.items.find(e=>e.id===a);if("|"===a){let e=ut("span","morphing-menu__separator");e.setAttribute("aria-hidden","true"),c.append(e)}else if("more"===a){let t=mt(i.moreLabel??"More review tools",()=>{p().then(()=>{n?e.querySelector('[data-menu-item="more"]')?.click():(t.title="Could not load menu. Tap to retry.",t.setAttribute("aria-label",t.title))})},"morphing-menu__shortcut","more");t.dataset.menuItem="more",t.setAttribute("aria-expanded","false"),c.append(t)}else if(o){let e=mt(Ge(o.label,o.count),()=>{o.onSelect?.(),p()},"morphing-menu__shortcut");if(o.shortcut&&(e.title+=` · ${rt(o.shortcut).spoken}`,e.setAttribute("aria-keyshortcuts",rt(o.shortcut).aria)),e.dataset.menuItem=o.id,o.id===i.activeId&&e.setAttribute("aria-current","page"),e.replaceChildren(t("glyph"in o.icon?o.icon.glyph:o.id)),o.count){let t=ut("span","morphing-menu__badge",Je(o.count));t.setAttribute("aria-hidden","true"),e.append(t)}c.append(e)}}d.append(c),o.append(d),e.replaceChildren(o)},unmount(){r=!0,l.abort(),o?.(),n?.unmount(),e.replaceChildren()}}}(Ko,e=>{if("account"===e){if(!Qn.user)return ht("person");let e=xt(Qn.user);return e.classList.add("review-avatar"),e}return ht(e)});Io.append(Yo,Xo,lr,Uo,Jo,Zo,Vo,Qo,Go,Ko,ur),document.body.append(Fo);let mr=0,gr=0,fr=new MutationObserver(e=>{if(Date.now()-gr>1e3&&([mr,gr]=[0,Date.now()]),++mr<20)for(let t of e)Fo.removeAttribute(t.attributeName)});fr.observe(Fo,{attributeFilter:["aria-hidden","inert"]});let br,xr,vr=document.documentElement,wr=z(zn,["width","boxSizing","zoom","transformOrigin","transform","position","left","top","height","minHeight","paddingBottom","overflow","borderRadius","background","borderRight","borderBottom","clipPath"]),yr=Object.keys(wr).map(e=>e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)),kr=o(zn,yr),Sr=z(document.body,["overflow","background"]),Cr=o(document.body,["overflow","background"]),Er=o(vr,["overflow","background"]),zr=new Map,$r=vr.style.background,Ar=function(e,t,i,n){function a(){g||!m||(g=requestAnimationFrame(()=>{g=0,p(),n()}))}function o(e,t){!t.animation&&e.style.translate!==t.appliedTranslate&&(t.translate=N(e,"translate")),!t.animation&&e.style.scale!==t.appliedScale&&(t.scale=N(e,"scale")),t.animation?.cancel(),t.animation||(Y(e,"translate",t.translate),Y(e,"scale",t.scale),r(e,["translate","scale"]));for(let[e,i]of t.constraints??[])l(e,i);s(e,t),X(e,t.bare),v.unobserve(e)}function s(e,t){let i=[];for(let[n,a,o]of t.layout??[])Y(e,n,e.style.getPropertyValue(n)===o?a:N(e,n)),i.push(n);r(e,i),t.layout=void 0}function l(e,t,i=!1){for(let[i,n]of t.properties)e.style.getPropertyValue(i)!==n.applied&&(n.original=N(e,i)),Y(e,i,n.original);X(e,t.bare),i||v.unobserve(e)}function d(e,t,i,n){t.constraints??=new Map;let a=t.constraints.get(e);a||(a={properties:new Map,style:null,bare:!e.hasAttribute("style")},t.constraints.set(e,a),v.observe(e));let o=getComputedStyle(e),s=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),l={"min-width":"0px","min-height":"0px","max-width":`${Math.max(1,i-s("Width"))}px`,"max-height":`${Math.max(1,n-s("Height"))}px`,overflow:"auto"};for(let[t,i]of Object.entries(l)){let n=a.properties.get(t);n?e.style.getPropertyValue(t)!==n.applied&&(n.original=N(e,t),t.startsWith("max-")&&(n.maximum=o.getPropertyValue(t))):a.properties.set(t,n={original:N(e,t),applied:"",maximum:t.startsWith("max-")?o.getPropertyValue(t):void 0});let r=n.maximum;e.style.setProperty(t,r&&"none"!==r?`min(${r}, ${i})`:i,"important"),n.applied=e.style.getPropertyValue(t)}r(e,Object.keys(l)),a.style=e.getAttribute("style")}function p(){if(!m)return;let n=new Set,p=!1,c=(i,a)=>{if(i===t||i.contains(e))return;let o=getComputedStyle(i).position;if(!1===a)return;if(!0!==a&&"fixed"!==o){for(let e of i.children)e instanceof HTMLElement&&c(e);return}n.add(i);let u=h.get(i);if(u)u.animation&&(i.style.getPropertyPriority("translate")||i.style.getPropertyPriority("scale"))&&(u.animation.cancel(),u.animation=void 0,u.translate=N(i,"translate"),u.scale=N(i,"scale"),u.appliedTranslate=i.style.translate,u.appliedScale=i.style.scale),!u.animation&&i.style.translate!==u.appliedTranslate&&(u.translate=N(i,"translate")),!u.animation&&i.style.scale!==u.appliedScale&&(u.scale=N(i,"scale")),i.style.transform!==u.transform&&(u.transform=i.style.transform,u.positioningFrame={...m});else{if(u={translate:N(i,"translate"),scale:N(i,"scale"),appliedTranslate:i.style.translate,appliedScale:i.style.scale,style:i.getAttribute("style"),bare:!i.hasAttribute("style"),transform:i.style.transform,positioningFrame:f?null:{...m}},"function"==typeof i.animate&&!u.scale.priority&&!u.translate.priority)try{let e=i.animate(V(1),{duration:1,fill:"both",composite:"add"});"add"===e.effect?.composite?(u.animation=e,e.pause(),e.currentTime=0):e.cancel()}catch{}h.set(i,u),v.observe(i)}u.animation?u.animation.effect.setKeyframes(V(1)):(Y(i,"translate",u.translate),Y(i,"scale",u.scale),r(i,["translate","scale"])),s(i,u),"fixed"===o&&function(e,t){let i=e.computedStyleMap?.(),n=m.bounds,a=m.zoom??1;if(!i||!n)return;let o=[n.width,n.height].map(e=>e/m.scale),s=[innerWidth/a-o[0],innerHeight/a-o[1]];if(Math.abs(s[0])<.5&&Math.abs(s[1])<.5)return;let l=t.layout=[];["left","right","width","top","bottom","height"].forEach((t,n)=>{let a,r,d=+(n>2),p=n%3==1;try{[a,r]=[...i.get(t).toSum("px","percent").values].map(e=>e.value)}catch{return}if(!r&&!p)return;let c=N(e,t);e.style.setProperty(t,`${a+r/100*o[d]+(p?s[d]:0)}px`,"important"),l.push([t,c,e.style.getPropertyValue(t)])}),r(e,l.map(([e])=>e))}(i,u);let g='[role="dialog"], [role="alertdialog"]',b=i.matches(g)?null:i.querySelector(g);for(let[e,t]of u.constraints??[])e!==i&&(l(e,t,e===b),u.constraints.delete(e));let x=getComputedStyle(i),w=U(x.translate),y=m.scale,k=m.zoom??1,S=!0!==a&&!!i.style.transform&&!i.style.transform.includes("%")&&/^(?:translate(?:3d|X|Y)?\([^%]+\)\s*)+$/i.test(i.style.transform),C=i.getBoundingClientRect(),E=[m.left,m.top],z=m.bounds??e.getBoundingClientRect(),$=S?8/k:0,A=[z.width-2*$,z.height-2*$];if(z.width&&z.height&&(u.constraints?.has(i)||C.width/k*y>A[0]||C.height/k*y>A[1])&&d(i,u,A[0]/y,A[1]/y),b instanceof HTMLElement&&z.width&&z.height){let e=b.getBoundingClientRect();if(u.constraints?.has(i)||e.width/k*y>A[0]||e.height/k*y>A[1]){let e=e=>{let t="Width"===e?["left","right"]:["top","bottom"],n=0;for(let e=b;e!==i&&e.parentElement;e=e.parentElement){let a=getComputedStyle(e),o=getComputedStyle(e.parentElement);for(let r of t)n+=(parseFloat(a.getPropertyValue(`margin-${r}`))||0)+(parseFloat(o.getPropertyValue(`padding-${r}`))||0)+(e.parentElement===i?0:parseFloat(o.getPropertyValue(`border-${r}-width`))||0)}return Math.min(A["Width"===e?0:1]/y,i[`client${e}`])-n};d(b,u,e("Width"),e("Height"))}u.constraints?.has(b)||v.unobserve(b)}let j=i.getBoundingClientRect(),M=S?[j.left/k,j.top/k]:null,L=getComputedStyle(i).transformOrigin.split(" ").map(parseFloat),_=[i.offsetLeft,i.offsetTop],T=E.map((e,t)=>{let i=_[t]+(L[t]||0),n=e-(1-y)*i;if(M&&j){let a=u.positioningFrame,o=e+y*(M[t]-(a?[a.left,a.top][t]:0))/(a?.scale??1);if(z.width&&z.height){let e=[z.left,z.top][t]+$,i=[z.right,z.bottom][t]-$-[j.width,j.height][t]/k*y;o=Math.max(e,Math.min(i,o))}n=o-y*M[t]-(1-y)*i}return`calc(${n}px + ${u.animation?y-1:y} * ${w[t]??"0px"})`}).join(" ");u.animation?u.animation.effect.setKeyframes(V(y,T)):(i.style.setProperty("translate",T,u.translate.priority),i.style.setProperty("scale",U(x.scale).length?U(x.scale).map(e=>String(Number(e)*y)).join(" "):String(y),u.scale.priority),r(i,["translate","scale"])),u.appliedTranslate=i.style.translate,u.appliedScale=i.style.scale,u.style=i.getAttribute("style"),p||=(i.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&&c(e,i?.(e));for(let[e,t]of h)n.has(e)||(o(e,t),h.delete(e));p&&a()}function c(){cancelAnimationFrame(g),g=0,u?.abort(),u=void 0,w.disconnect(),v.disconnect();for(let[e,t]of h)o(e,t);h.clear()}let u,h=new Map,m=null,g=0,f=!1,b=0,x=()=>{b||(b=requestAnimationFrame(()=>{b=0,e.ownerDocument.defaultView?.dispatchEvent(new Event("resize")),a()}))},v=new ResizeObserver(a),w=new MutationObserver(i=>{m&&i.some(i=>{let n=i.target;return n instanceof HTMLElement&&n!==t&&!t.contains(n)&&n!==e&&!e.contains(n)&&("attributes"!==i.type||"style"!==i.attributeName||h.get(n)?.style!==n.getAttribute("style")&&![...h.values()].some(e=>e.constraints?.get(n)?.style===n.getAttribute("style")))})&&a()});return{update(t){let i=m;if(f=!i&&!!t,m=t,!t)return c(),void(i&&x());if(!u){u=new AbortController,w.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,a,{capture:!0,signal:u.signal});e.addEventListener("scroll",x,{passive:!0,signal:u.signal})}p(),f=!1,(!i||i.scale!==t.scale||i.left!==t.left||i.top!==t.top)&&x()},reposition:x,destroy(){m=null,c(),cancelAnimationFrame(b)}}}(zn,Fo,t.frame?.include,rn),jr=function(e){function t(e,t){let i=n.get(e);for(let a=0;a<e.length;a++){let o=e[a],r=e.getPropertyValue(o),s=i?.values.get(o),l=s&&s[2]===r?s[0]:r,p=d(l);if(p===l){i?.values.delete(o);continue}if(p===r)continue;i||n.set(e,i={node:t,attribute:t?.getAttribute("style")??null,css:e.cssText,values:new Map});let c=e.getPropertyPriority(o);e.setProperty(o,p,c),i.values.set(o,[l,c,e.getPropertyValue(o)])}}function i(e){if(a){if(e){for(let e of u())c(e,p);for(let e of[...[...n.values()].map(e=>e.node),...document.querySelectorAll(J)])e&&h(e)}else for(let e of s??[]){h(e);for(let t of e.querySelectorAll(J))h(t)}s=null,m.takeRecords()}}let n=new Map,a=null,o=-1,r=0,s=null,l=!1,d=e=>e.includes("url(")?e:e.replace(K,(e,t,i)=>{let[n,o]=a;return+t*("w"===i||"i"===i?n:"h"===i||"b"===i?o:Math[i](n,o))/100+"px"}),p=e=>{for(let i of e){let{style:e,cssRules:n,styleSheet:a}=i;e&&t(e),n&&p(n),a&&c(a,p)}},c=(e,t)=>{try{t(e.cssRules)}catch{}},u=()=>[...document.styleSheets,...document.adoptedStyleSheets??[]],h=i=>{i!==e&&i instanceof HTMLElement&&(n.has(i.style)||i.matches(J))&&t(i.style,i)},m=new MutationObserver(e=>{for(let{target:t,addedNodes:i}of e){/^(STYLE|LINK)$/.test(t.nodeName)&&(l=!0);for(let e of[t,...i])e instanceof Element&&(/^(STYLE|LINK)$/.test(e.nodeName)&&(l=!0),(s??=new Set).add(e))}r||=requestAnimationFrame(()=>{r=0,i(l),l=!1})}),g=e=>{e.target instanceof HTMLLinkElement&&i(!0)};return{update(e){if(!e){if(!a)return;a=null,m.disconnect(),cancelAnimationFrame(r),r=0,s=null,document.removeEventListener("load",g,!0);for(let[e,{node:t,attribute:i,css:a,values:o}]of n){for(let[t,[i,n,a]]of o)e.getPropertyValue(t)===a&&e.setProperty(t,i,n);t&&null!==i&&e.cssText===a&&t.setAttribute("style",i)}return n.clear(),void(o=-1)}a||(m.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"]}),document.addEventListener("load",g,!0));let t=0;for(let e of u())c(e,e=>t+=e.length);a&&a[0]===e[0]&&a[1]===e[1]&&t===o||(a=e,o=t,i(!0))}}}(Fo),Mr={left:0,top:0,width:0,height:0,logical:[0,0],pan:!1},Lr=`palette:frame-size:${t.project}:${t.repo}`,_r=!1,Tr=null,Pr="iframe"===t.frame?.mode&&!0!==t.frame.scale,Rr=!1,qr=!1,Wr=!1,Or="",Hr="transform"===t.frame?.defaultMode;try{let e=JSON.parse(localStorage.getItem(Lr)??"{}");Hr=2===e.v&&"boolean"==typeof e.inPlace?e.inPlace:"transform"===t.frame?.defaultMode}catch{}let Br=()=>Pr&&!Or&&(br?br.separate:!Hr),Dr=!1,Fr=!1,Ir=!1;try{Ir=!!sessionStorage.getItem(ee)}catch{Ir=!0}let Nr,Yr=()=>Nr??=import("./shell-mode-PLV6F474.js"),Xr=()=>{Yr().then(({syncShell:e})=>e(xr?.iframe.contentWindow,jn))},Ur=()=>{Us="",Zt(),sn(),rn()},Vr=()=>(qr&&xr?xr.port:zn).getBoundingClientRect(),Kr=e=>qr?e.ownerDocument===yt():zn.contains(e),Jr=()=>{let e=yt();return e===document?zn:$n&&Mt(zn,e)||e.body};try{localStorage.getItem(Lr)&&L()}catch{}let Gr=0,Zr=!1,Qr=()=>{Zr=!0,document.dispatchEvent(new Event("scroll",{bubbles:!0})),Zr=!1},es=0,ts=new MutationObserver(()=>{es||=requestAnimationFrame(()=>{es=0,as=B(),I(),(is||ns)&&(zn.style.background=as)})}),is=!1,ns=!1,as=B();I();for(let e of[vr,document.body])ts.observe(e,{attributes:!0});let os,rs=0,ss=!1,ls=function(e,t="session"){let i;try{"always"!==t&&tt(localStorage,e)}catch{}try{i="always"===t?localStorage:t?sessionStorage:void 0}catch{}return{get(){try{return"1"===i?.getItem(e)}catch{return!1}},set(t){try{t?i?.setItem(e,"1"):i&&tt(i,e)}catch{}}}}(`palette:open:${t.project}:${t.repo}`,t.restoreOpen),ds=`palette:toolbar-dismissed:${t.project}:${t.repo}`;try{"1"===sessionStorage.getItem(ds)&&(ra=!0,oa=!0)}catch{}let ps=`palette:comments-hidden:${t.project}:${t.repo}`,cs=!1,us=!1,hs=0;try{cs=!t.onboarding&&"1"===sessionStorage.getItem(ps)}catch{}let ms,gs,fs,bs=!1,xs=[],vs=0,ws=!1,ys=null,ks=[],Ss=!1,Cs=ut("div","edge-sidebar-grip");Cs.setAttribute("aria-hidden","true");let Es=e=>p(Jo,e,ue,ea.signal,()=>{Bn=!1,Dn=!0,As.show()},()=>{fe(),As.update()},()=>ia&&On&&!ws);Es(Cs),Jo.prepend(Cs);let zs=["n","s","e","w","ne","nw","se","sw"];for(let e of zs){let t=ut("div",`edge-sidebar-resize edge-sidebar-resize-${e}`);t.addEventListener("pointerdown",t=>{if(0!==t.button||!ia||!On||ws)return;t.preventDefault(),t.stopPropagation();for(let e of Jo.getAnimations())e.cancel();Jo.style.transition="none";let i=Jo.getBoundingClientRect(),n=t.clientX,a=t.clientY,o=o=>{if(o.pointerId!==t.pointerId)return;let r=c(e,i,o.clientX-n,o.clientY-a,vr.clientWidth,window.innerHeight);po=r.width,(e.includes("n")||e.includes("s"))&&(co=r.height),ro={x:r.left,y:r.top},Jo.style.left=`${r.left}px`,Jo.style.top=`${r.top}px`,ge()},r=e=>{e.pointerId===t.pointerId&&(window.removeEventListener("pointermove",o,!0),window.removeEventListener("pointerup",r,!0),window.removeEventListener("pointercancel",r,!0),Jo.style.transition="",fe(),ye())};window.addEventListener("pointermove",o,{capture:!0,passive:!1}),window.addEventListener("pointerup",r,!0),window.addEventListener("pointercancel",r,!0)},{signal:ea.signal}),Jo.append(t)}for(let e of["left","right","top","bottom"])Jo.append(ut("div",`edge-sidebar-snap edge-sidebar-snap-${e}`));let $s=e=>{lo=e,!ia&&On&&!ws&&ye()};Zo.addEventListener("pointerenter",()=>$s(!0)),Zo.addEventListener("pointerleave",()=>$s(!1)),Zo.addEventListener("pointerup",e=>{0===e.button&&!ia&&ci(!0)}),Jo.addEventListener("pointerenter",()=>$s(!0)),Jo.addEventListener("pointerleave",()=>$s(!1)),window.addEventListener("resize",()=>{ta||!On||ws||(be(),ye())},{signal:ea.signal,passive:!0}),ke();let As=function(e,t,i,n=!0){if(!n)return{show(){},update(){}};let a,o=0,r=0,s=0,l=0,d=0,p=matchMedia("(hover: hover) and (pointer: fine)");p.matches&&(e.dataset.away="true",e.dataset.intro="true",e.dataset.introWait="true");let c=()=>{let t=e.getBoundingClientRect(),i=[t.left,window.innerWidth-t.right,t.top,window.innerHeight-t.bottom],n=i.indexOf(Math.min(...i));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===n?-24:1===n?24:0)+"px"),e.style.setProperty("--drawer-away-y",(2===n?-24:3===n?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(!p.matches||t())return void u();let i=e.getBoundingClientRect(),n=a&&a.x>=i.left-72&&a.x<=i.right+72&&a.y>=i.top-72&&a.y<=i.bottom+72,r=e.querySelector(".morphing-menu"),s=e.getRootNode()instanceof ShadowRoot&&e.contains(e.getRootNode().activeElement);!p.matches||t()||n||s||e.dataset.dragging||r&&"collapsed"!==r.getAttribute("data-view")?u():o||e.dataset.away||(o=window.setTimeout(()=>{o=0,c(),e.dataset.away="true"},450))},m=()=>{!p.matches||i.aborted||(s=window.setTimeout(()=>{if(!e.dataset.away||t())return;c();let i=e.querySelector(".morphing-menu");i&&getComputedStyle(i).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:i}),document.addEventListener("pointermove",e=>{a={x:e.clientX,y:e.clientY},r||(r=requestAnimationFrame(()=>{r=0,h()}))},{passive:!0,signal:i}),e.addEventListener("focusin",u,{signal:i}),e.addEventListener("focusout",()=>queueMicrotask(h),{signal:i});let g=new MutationObserver(h);return g.observe(e,{subtree:!0,attributes:!0,attributeFilter:["data-view","data-dragging"]}),i.addEventListener("abort",()=>{clearTimeout(o),cancelAnimationFrame(r),clearTimeout(s),clearTimeout(l),clearTimeout(d),g.disconnect()},{once:!0}),{show:u,update:h}}(Ko,()=>ia||na||pa||!!xa||!!ba,ea.signal,t.autoHideDrawer);p(Ko,Ko,ce,ea.signal,()=>{As.show(),ms?.stop(),Ko.style.translate="0px 0px"},()=>{Zn=Gn;try{localStorage.setItem(ao,JSON.stringify(Zn))}catch{}wi(),As.update()},()=>!ia,e=>!!e.closest(".morphing-menu__shortcut"));let js=new ResizeObserver(()=>{"true"!==Ko.dataset.edgeTabs&&(Gn?ce(Gn):t.drawerContainer&&wi())});js.observe(Ko),t.drawerContainer&&js.observe(t.drawerContainer);let Ms,Ls,_s,Ts,Ps,Rs,qs=()=>vr.currentCSSZoom??1,Ws=new WeakMap,Os=null,Hs=0,Bs=new WeakMap,Ds=()=>pa&&Ja&&!t.onboarding&&!!Qn.user?.verified&&Qn.user.id.startsWith("google:"),Fs=e=>e.map(e=>({...e,comments:e.comments.filter(e=>"[Comment deleted]"!==e.body)})).filter(e=>e.comments.length>0),Is=-1,Ns=()=>ia&&!On&&!Wn&&!Hn,Ys=0,Xs=1,Us="",Vs=()=>(window.visualViewport?.offsetTop??0)+Math.min(window.innerHeight,window.visualViewport?.height??window.innerHeight)-window.innerHeight,Ks=()=>"auto"===Tn?na||aa||ia?"full":"dot":Tn,Js=null,Gs=0,Zs=new Set,Qs=0,el=0,tl="",il=new Set,nl=new Map,al=!1,ol=0,rl=!1!==t.pins?.cluster,sl=!1,ll=()=>is?Vr():{left:0,top:0,right:window.innerWidth,bottom:window.innerHeight},dl=null,pl=0,cl=e=>{e.removeAttribute("title"),e.addEventListener("pointerenter",t=>{"mouse"===t.pointerType&&Rs?.show(e)}),e.addEventListener("focus",()=>Rs?.show(e));for(let t of["pointerleave","blur","pointerdown"])e.addEventListener(t,()=>Rs?.hide())},ul=new Set,hl="palette:dismissed-tips",ml=[["copy","Copy comments for your agent."]];gn.comment&&ml.push(["shortcut",`Press ${gn.comment.label} to comment.`]);let gl,fl,bl,xl=!1,vl=()=>!ca&&(Ka||!!Qn.user?.verified),wl=new WeakMap,yl=new Set,kl=new Map,Sl=0,Cl=!1,El=!1,zl=0,$l="",Al="",jl="",Ml=0,Ll=P,_l=q,Tl=e=>Ka||Gi(e),Pl=null,Rl=null,ql=null;Xo.addEventListener("pointerdown",e=>{if(0!==e.button)return;e.preventDefault(),e.stopPropagation();let t=Qi(e.clientX,e.clientY);t&&(dr=t,pr=null,lr.style.opacity="0",Rl={x:e.clientX,y:e.clientY,element:t,pointerId:e.pointerId},Xo.setPointerCapture(e.pointerId),ql=ut("div","selection"),Io.append(ql))}),Xo.addEventListener("pointermove",e=>{if(!Rl||!ql)return pr={x:e.clientX,y:e.clientY},void nn();Object.assign(ql.style,{left:`${Math.min(Rl.x,e.clientX)}px`,top:`${Math.min(Rl.y,e.clientY)}px`,width:`${Math.abs(Rl.x-e.clientX)}px`,height:`${Math.abs(Rl.y-e.clientY)}px`})});let Wl=!1;Xo.addEventListener("pointerup",e=>{if(!Rl)return;let t=Rl;ql?.remove(),ql=null,Rl=null,on(t.element,t,{x:e.clientX,y:e.clientY})}),Xo.addEventListener("pointerleave",()=>{Rl||xa||(pr=null,dr=null,lr.style.opacity="0")}),Xo.addEventListener("pointercancel",()=>{Rl=null,ql?.remove(),ql=null,pr=null,dr=null,lr.style.opacity="0"});let Ol=e=>{if(Zr)return;tr=!0,sr();let t=e.target;if(t===Fo||!t||t instanceof Node&&t.getRootNode()===Io)return;let i=t.nodeType===Node.DOCUMENT_NODE?t.scrollingElement:t;Ct(i)&&(is&&Mr.pan&&t===document&&(H(),br?.update(Tr,qs())),Na||(al=!0,Uo.dataset.scrolling="true",clearTimeout(ol),ol=window.setTimeout(()=>{ta||(tl="",Ci(!0),al=!1,delete Uo.dataset.scrolling)},180)),rn())},Hl={capture:!0,passive:!0,signal:ea.signal};document.addEventListener("scroll",Ol,Hl),Lt("scroll",Ol,Hl);for(let e of["focusin","focusout","click"])Vo.addEventListener(e,()=>requestAnimationFrame(Fi),{signal:ea.signal});window.visualViewport?.addEventListener("scroll",()=>{xe(window.innerWidth,window.innerHeight)&&(Zt(),(pa||xa||ba)&&rn())},{signal:ea.signal}),window.visualViewport?.addEventListener("resize",()=>{xe(window.innerWidth,window.innerHeight)&&(Zt(),rn())},{signal:ea.signal}),window.addEventListener("resize",()=>{(function(){let e=xe(window.innerWidth,window.innerHeight);e!==Wn&&(Io.append(Jo),Se(),pi(!0),ri(),ei(),Wn=e,e||(Ko.style.translate="",Gn||(Ko.style.bottom="")),On=!e&&"edge"===Ln,Jo.removeAttribute("style"),ke(),Us="",an())})(),Zt(),Wn||wi(),rn()},{signal:ea.signal}),ct(Io,"keydown",e=>{let i=e.composedPath()[0];if((pa||Wn&&ia)&&"Tab"===e.key){let t=[...(pa?Vo:sa?Io.querySelector(".design-inspector")??Io:Io).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]")&&(pa||sa||!Wn||!!e.closest(".panel,.toolbar"))),i=t[0],n=t.at(-1);!e.shiftKey||Io.activeElement!==i&&t.includes(Io.activeElement)?!e.shiftKey&&(Io.activeElement===n||!t.includes(Io.activeElement))&&(e.preventDefault(),i?.focus()):(e.preventDefault(),n?.focus())}let n=document.activeElement;for(;n?.shadowRoot?.activeElement;)n=n.shadowRoot.activeElement;n===St()&&(n=yt().activeElement);let a=Rt(i)||Rt(n)||e.isComposing;if("Escape"!==e.key){if(!a){if(ra&&qe(e,gn.restore))return e.preventDefault(),void fi();t.onboarding||(qe(e,gn.comment)?(e.preventDefault(),Vt(!aa)):qe(e,gn.browse)?(e.preventDefault(),Vt(!1)):xn&&qe(e,gn.design)?(e.preventDefault(),Jt(!sa)):qe(e,gn.comments)?(e.preventDefault(),ci(!ia)):!sa&&qe(e,gn.visibility)&&(e.preventDefault(),gi(!cs)))}}else{if(sa||e.defaultPrevented&&!e.composedPath().includes(Fo)||cs&&!pa)return;na||xa||ba||pa?(e.preventDefault(),ui()):ia&&(e.preventDefault(),ci(!1))}},{signal:ea.signal}),ct(Io,"pointermove",e=>{"touch"!==e.pointerType&&(Js=At(e),Uo.dataset.size&&(Gs||=requestAnimationFrame(yi)))},{passive:!0,signal:ea.signal}),vr.addEventListener("pointerleave",()=>{Js=null,yi()},{signal:ea.signal}),ct(Io,"pointerdown",e=>{let t=e.composedPath(),i=t.some(e=>e instanceof Element&&e.getRootNode()===Io&&e.matches("button,input,textarea,summary,[role=menu],[role=listbox],.emoji-menu,.emoji-keyboard,.floating-notice"));0===e.button&&(ba||xa)&&!cs&&(!xa||!xe(window.innerWidth,window.innerHeight))&&!pa&&!t.includes(Vo)&&!t.includes(Ko)&&!t.includes(Uo)&&(!na||!t.includes(Xo))&&!i&&(xa&&$o.trim()&&(Ga={anchor:xa,text:$o}),ui());for(let t of Io.querySelectorAll(".comment-menu[open]"))e.composedPath().includes(t)||(t.open=!1)},{signal:ea.signal});let Bl=new ResizeObserver(()=>{H(),rn()});Bl.observe(zn);let Dl=0,Fl=new MutationObserver(e=>{if(e.some(e=>e.target===document.body)&&H(),xa||ba||na||Os)return rn();Dl||(Dl=window.setTimeout(()=>{Dl=0,rn()},80))});Fl.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),at(Fo,()=>"0"!==lr.style.opacity?[Pl]:[],nn,ea.signal),Vo.addEventListener("pointerdown",e=>{pa&&e.target===Vo&&ui()});let Il=()=>setTimeout(()=>(sn(),pn()));window.addEventListener("popstate",Il,{signal:ea.signal}),window.navigation?.addEventListener("navigatesuccess",Il,{signal:ea.signal});let Nl=null;window.addEventListener("storage",e=>{e.storageArea===localStorage&&e.key===Qn.sessionKey&&e.newValue!==Qn.token&&cn()},{signal:ea.signal}),window.addEventListener("focus",()=>{cn()||Ms?.wake()},{signal:ea.signal});let Yl=e=>e.target.closest?.(".list .thread-item")?.dataset.thread??"",Xl=()=>{clearTimeout(Ml),Ml=window.setTimeout(()=>Bi(),80)};for(let[e,t]of[["pointerover",e=>(Al=Yl(e))?Bi():Xl()],["pointerleave",()=>{Al="",Xl()}],["focusin",e=>{jl=Yl(e),Bi()}],["focusout",()=>{jl="",Xl()}],["scroll",()=>{Al=jl="",Bi()}]])Jo.addEventListener(e,t,{capture:!0,signal:ea.signal});Ms=function(e){function t(e=!0){r=0,clearTimeout(i),e?l():n||s()}let i,n=!1,a=!1,o=!1,r=0,s=()=>{if(clearTimeout(i),a||!e.enabled())return;let t=e.active()?Math.min(Math.max(15e3,e.interval),e.interval*2**Math.min(r,3)):Math.max(6e4,e.interval);i=setTimeout(l,t*(.9+.2*Math.random()))},l=async()=>{if(!a&&e.enabled()){if(n)return void(o=!0);n=!0;try{r=await e.read()?0:r+1}catch{r++}finally{n=!1,o?(o=!1,t()):s()}}};return{wake:t,stop(){a=!0,clearTimeout(i)}}}({interval:Math.max(2e3,t.pollInterval??4e3),enabled:()=>!ta&&!document.hidden&&!1!==navigator.onLine&&!t.onboarding,active:()=>ia||pa||na||!!xa||!!ba,read:async()=>(sn(),Ha?Xt():un())});for(let e of["online","offline"])window.addEventListener(e,()=>Ms?.wake(),{signal:ea.signal});if(Fo.addEventListener("click",()=>Ms?.wake(!1),{signal:ea.signal}),Fo.addEventListener("keydown",()=>Ms?.wake(!1),{signal:ea.signal}),!1!==t.isolateEvents){Fo.setAttribute("data-isolate",""),pt(Fo,ea.signal);for(let e of lt)Fo.addEventListener(e,e=>dt(e,Io)&&e.stopPropagation(),{passive:!0,signal:ea.signal});document.addEventListener("focusout",e=>e.relatedTarget===Fo&&e.stopImmediatePropagation(),{signal:ea.signal})}document.addEventListener("visibilitychange",()=>{document.hidden?(Fl.disconnect(),clearTimeout(Dl),Dl=0):(Fl.observe(document.body,{childList:!0,subtree:!0,characterData:!0}),H(),rn()),(document.hidden||!cn())&&Ms?.wake()},{signal:ea.signal});let Ul={destroy(){if(ta)return;jn&&$(),ta=!0,br?.destroy(),d(),Zi(),Ms?.stop(),ka?.destroy(),mo?.resetDesignPreviews(),Qn.cancelReads(),Se(),Ps?.(),cancelAnimationFrame(Ys),clearTimeout(Dl),clearTimeout(ol),clearTimeout(el),clearTimeout(rs),clearTimeout(pl),kl.clear(),go?.then(e=>e.disposeSnapshots(Io)),io.stop(),Bt(S),Xn?.(),fo?.(!0);for(let[e,t]of bo)t?.(),e.getAnimations().forEach(e=>e.cancel()),e.remove();bo.clear(),os?.cancel(),ms?.stop(),pi(!0),ea.abort(),clearTimeout(qo),clearTimeout(Wo),clearTimeout(Ho),cancelAnimationFrame(Oo),cancelAnimationFrame(cr),cancelAnimationFrame(Gs),cancelAnimationFrame(Gr),cancelAnimationFrame(Hs),sr(),Bl.disconnect(),Fl.disconnect(),ts.disconnect(),fr.disconnect(),cancelAnimationFrame(es);let e=is&&!Wr?zn.scrollTop*qs():window.scrollY/Xs;A(),H(),(is||!On)&&(Gt(),window.scrollTo({top:e,behavior:"instant"})),js.disconnect(),hr.unmount(),Fo.remove(),Me.delete(document)},comment(e){let t=()=>{if(ta||!e.isConnected)return;let t=e.getBoundingClientRect();!t.width||!t.height||on(e,{x:t.left+t.width/2,y:t.top+t.height/2})};ia&&!Ns()?(ci(!1),os&&ns?os.finished.then(t).catch(()=>{}):t()):t()},open(){ta||(fi(),ci(!0))},close(){ta||(ui(),ci(!1))},async refresh(){await Xt()}};Me.set(document,{scope:kn,controller:Ul}),ss=!!jn||!t.onboarding&&ls.get(),Zt();let Vl=t.onboarding?null:Qn.cached();ha||=null!==Vl;let Kl=ss;if(ss=!0,Vl&&Ca.replace(Fs(Vl)),an(),On&&(Jo.style.transition="none",ye(),Jo.offsetWidth,Jo.style.transition=""),us=Kl&&cs,ss=Kl&&!cs,ss&&(ci(!0),ss=!1,!Pt()))for(let e of[Fo,is?zn:null])e?.animate([{opacity:0},{opacity:1}],{duration:200,easing:"cubic-bezier(0.22, 1, 0.36, 1)"});jn&&(function(e){for(let t of te())window[t]=e}(jn),Dr=!0,$n?ia||ci(!0):$("Single-copy mode needs the app's root element in the page's HTML.")),pn(),t.onboarding?.inProject||Bt(()=>un().finally(()=>Ms?.wake(!1)));let Jl=()=>{f().catch(()=>{})};return"requestIdleCallback"in window?requestIdleCallback(Jl,{timeout:2e3}):setTimeout(Jl,200),Ul}var D,F,I,N,Y,X,U,V,K,J,G,Z,Q,ee,te,ie,ne,ae,oe,re,se,le,de,pe,ce,ue,he,me,ge,fe,be,xe,ve,we,ye,ke,Se,Ce,Ee,ze,$e,Ae,je,Me,Le;import{a as _e,b as Te}from"./chunk-KLPQTFVH.js";import{a as Pe,b as Re,c as qe}from"./chunk-RBHY7UDS.js";import{a as We,b as Oe,c as He,d as Be,e as De,f as Fe,g as Ie,h as Ne,i as Ye,j as Xe,k as Ue,l as Ve,m as Ke,n as Je,o as Ge}from"./chunk-LMXFSXO6.js";import{a as Ze,b as Qe}from"./chunk-DU7H4TEX.js";import{b as et,c as tt}from"./chunk-5HZI7HRR.js";import{b as it}from"./chunk-2BS2OWWH.js";import{a as nt,b as at}from"./chunk-J47R52WX.js";import{a as ot,b as rt,c as st}from"./chunk-VX6XCU4E.js";import{A as lt,B as dt,C as pt,D as ct,E as ut,F as ht,G as mt,H as gt,I as ft,J as bt,L as xt,M as vt,b as wt,c as yt,d as kt,h as St,i as Ct,l as Et,m as zt,n as $t,o as At,p as jt,q as Mt,t as Lt,v as _t,w as Tt,y as Pt,z as Rt}from"./chunk-4HBBEVFK.js";D=e=>`palette:setup:${e.endpoint}:${e.onboarding?.code}`,F=(e,t)=>e.createdAt-t.createdAt||e.id.localeCompare(t.id),I=e=>e>3?1:e,N=(e,t)=>({value:e.style.getPropertyValue(t),priority:e.style.getPropertyPriority(t)}),Y=(e,t,i)=>{e.style.setProperty(t,i.value,i.priority)},X=(e,t)=>{t&&!e.style.length&&(e.getAttribute("style"),e.removeAttribute("style"))},U=e=>e&&"none"!==e?e.match(/calc\(.*?\)|[^\s(]+/g)??[]:[],V=(e,t="0px 0px")=>[{scale:String(e),translate:t},{scale:String(e),translate:t}],K=/(?<![\w.#-])(-?[\d.]+)[sld]?v(w|h|i|b|min|max)\b/g,J='[style*="vw"],[style*="vh"],[style*="vmin"],[style*="vmax"]',G="palette-shell",Z="komo-shell",Q="palette:shell",ee="palette:shell-off",te=()=>[Symbol.for("palette.shell"),Symbol.for("komo.shell")],ie=class{constructor(e,t,i=e=>e){this.confirmed=e,this.changed=t,this.normalize=i}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 i=new Promise((i,n)=>{this.jobs.push({change:e,save:t,resolve:i,reject:n})});return this.revision++,this.changed(this.value),1===this.jobs.length&&this.drain(),i}async drain(){for(;this.jobs.length;){let e,t=this.jobs[0],i=!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,i]of Object.entries(e??{}))this.aliases.set(t,i);this.confirmed=this.normalize(this.confirmed,this.id)}catch(t){i=!0,e=t}if(this.jobs[0]!==t)return;this.jobs.shift(),this.revision++,this.changed(this.value),i?t.reject(e):t.resolve()}}},ne=(e,t)=>Math.max(16,Math.min(e,t)),ae=380,oe=16,re=76,se=24,le=680,de=240,pe=200,ce=(e,t,i)=>Math.min(Math.max(e,t),Math.max(t,i)),ue=/^(?:\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,he=e=>"string"==typeof e&&e.length<=128&&ue.test(e),me=["👍","❤️","🎉","👀","✅","🤔"],ge=new Map,xe=(e,t)=>e<=760||e<=1e3&&t<=500,ve=({x:e,y:t})=>({left:e-4,top:t-28,right:e+12,bottom:t+4}),we=e=>"all"===e.scope,ye="input,textarea,select,script,style,[contenteditable],[hidden],[aria-hidden=true]",ke=(e,t=160)=>e.replace(/\s+/g," ").trim().slice(0,t),Se=/^radix-|^:r|_r_|«r/,Ce=e=>e.matches("dialog,[role=dialog],[role=alertdialog],[popover]")||"fixed"===getComputedStyle(e).position,Ee=(e,t,i)=>[...i?e.querySelectorAll(t.context.tag):e.children].filter(e=>M(e,t)),ze=Symbol.for("palette.stand-in"),$e='.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;--mm-surface: #0d0d0d;--mm-ink: #f8f7f4;--mm-tooltip-surface: color-mix(in oklab, var(--mm-surface) 88%, var(--mm-ink))}*{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 var(--accent, #bda6ef);outline-offset:2px}:is(.design-toggle,.design-inspector__compare,.design-segments) button:focus-visible{outline-offset:-2px}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 var(--accent, #bda6ef)}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-item:after{content:"";position:absolute;bottom:0;height:1px;background:#e8e5de}.thread-item:hover{background:#f0eee8}.thread-item{position:relative;padding-bottom:12px;border-radius:8px}.list[data-long]>.thread-item{content-visibility:auto;contain-intrinsic-block-size:auto 160px}.thread-item>.card-resolve{position:absolute;top:calc(14px + var(--palette-avatar) / 2 - var(--palette-action) / 2);right:12px;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:is(:hover,:has(>.thread-card:focus-visible,>.card-resolve:focus-visible))>.card-resolve{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-item.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}.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}.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 p{margin:0 0 4px}.thread-destination,.thread-route{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) + var(--mm-gaps, 0) * 9px + 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:4px 8px;border-radius:999px;background:var(--mm-tooltip-surface, color-mix(in oklab, var(--mm-surface, #0d0d0d) 88%, var(--mm-ink, #fff)));color:var(--mm-ink, #fff);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--mm-ink, #fff) 10%,transparent),0 4px 12px -2px #00000047;font-size:12px;font-weight:500;line-height:16px;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: inherit;--mm-ink: inherit;--mm-hover: color-mix(in oklab, var(--mm-ink) 7%, transparent)}.toolbar .morphing-menu__row{justify-content:flex-start}.toolbar .morphing-menu__shortcut{padding:0}.palette-kbd{display:inline-flex;gap:3px;white-space:nowrap}.palette-kbd kbd{min-width:16px;padding:0 4px;border-radius:4px;background:color-mix(in oklab,currentColor 14%,transparent);color:color-mix(in oklab,currentColor 82%,transparent);font:inherit;font-size:10px;font-weight:500;line-height:16px;text-align:center}.palette-kbd[data-variant=outline] kbd{background:none;box-shadow:inset 0 0 0 1px currentColor}.morphing-menu__trailing{display:flex;align-items:center;gap:6px;margin-left:auto;flex:none}.morphing-menu__count{font-size:11px;font-variant-numeric:tabular-nums;opacity:.7}.morphing-menu__section+.morphing-menu__section{border-top:1px solid #ffffff18;margin-top:4px;padding-top:4px}.morphing-menu__section h3{margin:5px 12px 2px;font:inherit;font-size:10px;opacity:.6}.morphing-menu__panel[aria-hidden=true] .morphing-menu__section{border-color:transparent}.morphing-menu__panel[aria-hidden=true] h3{opacity:0}.morphing-menu__row{font-size:12px}.morphing-menu__label{min-width:0}.morphing-menu__tooltip .palette-kbd{margin-left:6px;vertical-align:top}.morphing-menu__separator{flex:none;align-self:center;width:1px;height:20px;margin:0 4px;border-radius:1px;background:currentColor;opacity:.16}.morphing-menu[data-vertical=true] .morphing-menu__separator{width:20px;height:1px;margin:4px 0}.toolbar .morphing-menu__shortcut{position:relative}.morphing-menu__badge{position:absolute;top:4px;left:calc(50% + 3px);min-width:16px;height:16px;padding:0 4px;box-sizing:border-box;border-radius:8px;background:var(--accent,#bda6ef);color:#1d1530;font-size:10px;font-weight:600;line-height:16px;font-variant-numeric:tabular-nums;text-align:center;pointer-events:none}.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-item: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:8px}.thread-card .preview{font-size:15px;line-height:1.5;-webkit-line-clamp:5;color:#f1f1f1;letter-spacing:-.015em}.thread-card .row{min-width:0}.thread-card .author,.reply-meta .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{position:relative;display:flex;align-items:center;gap:6px;min-width:0;color:#aaa;font-size:11px}.card-page-row .page{min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;text-decoration:none}.card-page-row .page:hover{text-decoration:underline}.card-page-row>svg{width:13px;height:13px;flex:none}.card-page-row .card-page-copy{flex:none;width:28px;height:28px}.card-page-url{display:none;position:absolute;z-index:3;top:100%;left:0;right:0;padding:8px;border-radius:6px;background:#333;color:#eee;overflow-wrap:anywhere;box-shadow:0 4px 12px #0003}.card-page-row:has(.page:hover) .card-page-url,.card-page-row:has(.page:focus-visible) .card-page-url{display:block}.card-page-row[hidden],.card-status[hidden],.sidebar-replies[hidden]{display:none}.card-tags{display:flex;flex-wrap:wrap;gap:4px 8px;min-width:0;margin-top:6px}.card-tag{min-width:0;max-width:100%;color:#aaa;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.card-reply-toggle:hover{color:#eee}.card-reply-toggle svg:last-child{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-item:after{background:#ffffff0c}:host(.review-open) .panel .thread-item.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;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}.composer textarea{max-height:180px;resize:none;outline:none}.composer input{width:130px;min-width:0;background:#f5f5f7;box-shadow:none;padding:7px 10px;border-radius:20px;font-size:12px}.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 textarea{min-height:34px;font-size:13px;line-height:22px}.message-text{font-size:13px;line-height:1.5}.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:14px 12px 8px}.thread-item:after{left:12px;right:12px}:host(.review-open) .toolbar .morphing-menu{--mm-surface: #1c1c1c;--mm-hover: #ffffff10}.toolbar .morphing-menu__shell{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}.message{padding:18px 0 16px}.message .row{gap:8px}.message+.message:before{left:-16px;right:-16px}.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{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}.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-reply p{font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;color:#d9d9d9}.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 var(--palette-inset) 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:var(--palette-inset)}.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-reaction{position:relative;height:26px}.message>.row>.comment-menu{margin-left:auto}.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}@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 .menu-action{min-height:28px;padding:4px 8px;border-radius:7px;font-size:12px}.selection-menu .menu-action svg{order:1;margin-left:auto;color:#bda6ef}.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-body{display:grid;grid-template-rows:minmax(28px,auto) 28px;align-items:start;row-gap:8px}.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 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 .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-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),var(--pin-y, -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),var(--pin-y, -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}}.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-tokens-entry svg{margin-left:auto;rotate:-90deg}.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"]) .toolbar[data-edge-orient=horizontal] .morphing-menu__separator{width:1px;height:20px;margin:0 4px}: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:6px 4px 6px 10px;border-radius:12px;white-space:normal;overflow:visible;pointer-events:auto}.sidebar-tip[hidden]{display:none}.sidebar-tip p{margin:0}.sidebar-tip .icon{flex:none;width:24px;height:24px;border-radius:8px;color:inherit;opacity:.45}.sidebar-tip .icon:hover{opacity:1;background:color-mix(in oklab,currentColor 8%,transparent)}.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"]) .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;background:none;box-shadow:none;border-radius:0}.thread-pane .messages{max-height:none}.thread-pane .composer{margin-top:auto}.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 svg{rotate:90deg}.thread-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500}:host([data-comments-hidden]) .pins,:host([data-comments-hidden]) .pin-preview,:host([data-comments-hidden]) .component-hover,:host([data-comments-hidden]) .edge-sidebar-sensor{display:none!important}:host([data-comments-hidden]) .edge-sidebar[data-collapsed]{visibility:hidden}.morphing-menu__row[aria-pressed=false] .morphing-menu__icon{visibility:hidden}.pins{--pin-ring: var(--mm-ink);--pin-drop: 0 1px 3px #00000047}.pins[data-page=dark]{--pin-ring: var(--mm-surface);--pin-drop: 0 0 0 1px #ffffff1a, 0 1px 4px #00000099;--bubble: #ededed;--bubble-ink: #161616}.pins[data-size]>.pin{overflow:visible;background-color:transparent!important;box-shadow:none;transition:transform .18s cubic-bezier(.22,1,.36,1),width .18s cubic-bezier(.22,1,.36,1),height .18s cubic-bezier(.22,1,.36,1)}.pins[data-size]>.pin .avatar{box-shadow:0 0 0 2px var(--pin-ring),0 3px 10px #0003;transition:all .18s cubic-bezier(.22,1,.36,1)}.pins[data-size]>.pin.active .avatar{box-shadow:0 0 0 2px var(--pin-ring),0 0 0 4px #4388ff,0 4px 14px #0003}.pins[data-size]>.pin:is(:hover,:focus-visible,[data-near]){z-index:3}.pins[data-size=compact]{--pin-face: 20px}.pins[data-size=dot]{--pin-face: 12px;--pin-dot: 50%;--pin-read: .5}.pins[data-size]>.pin:not(.active,.hot,:hover,:focus-visible,[data-near],[data-moving],[data-dragging]){--pin-y: -18px;width:24px;height:24px;border-radius:0}.pins[data-size]>.pin:not(.active,.hot,:hover,:focus-visible,[data-near],[data-moving],[data-dragging])[data-pointer=right]{--pin-x: -15px}.pins[data-size]>.pin:not(.active,.hot,:hover,:focus-visible,[data-near],[data-moving],[data-dragging]) .avatar{display:flex;align-items:center;justify-content:center;left:calc(50% - var(--pin-face) / 2);top:calc(50% - var(--pin-face) / 2);width:var(--pin-face);height:var(--pin-face);border-radius:var(--pin-dot, 50% 50% 50% 5px);font-size:0;box-shadow:0 0 0 2px var(--pin-ring),var(--pin-drop)}.pins[data-size]>.pin:not(.active,.hot,:hover,:focus-visible,[data-near],[data-moving],[data-dragging])[data-pointer=right] .avatar{border-radius:var(--pin-dot, 50% 50% 5px 50%)}.pins[data-size]>.pin:not(.active,.hot,:hover,:focus-visible,[data-near],[data-moving],[data-dragging])[data-read] .avatar{opacity:var(--pin-read, 1)}.pins[data-size]>.pin:not(.active,.hot,:hover,:focus-visible,[data-near],[data-moving],[data-dragging]) .avatar img{display:none}.pins[data-size=compact]>.pin:not(.active,.hot,:hover,:focus-visible,[data-near],[data-moving],[data-dragging]) .avatar:after{content:attr(data-initial);font-size:10px;font-weight:650;line-height:1}.pins[data-size=dot][data-breathe]>.pin:not(.active,.hot,:hover,:focus-visible,[data-near],[data-moving],[data-dragging]):not([data-read]):before{content:"";position:absolute;inset:calc(50% - var(--pin-face) / 2);border-radius:50%;background:var(--reviewer-accent, #c8b5f4);opacity:0;pointer-events:none;animation:palette-pin-breathe 1.8s cubic-bezier(.22,1,.36,1) var(--pin-breathe-delay, 0ms) infinite}@keyframes palette-pin-breathe{0%{opacity:.28}75%,to{opacity:0;transform:scale(2.3)}}@media(prefers-reduced-motion:reduce){.pins[data-size]>.pin,.pins[data-size]>.pin .avatar{transition:none}.pins>.pin:before{display:none}}.pin-stack{position:fixed;width:max-content;display:flex;flex-wrap:wrap-reverse;align-items:flex-end;min-width:24px;min-height:24px;max-width:232px;padding:2px;pointer-events:auto;z-index:2;--face: 20px;--gap: -12px}.pins[data-size=dot] .pin-stack{--face: 12px;--gap: -7px;--ini: none}.pins .pin-stack:is([data-open],:hover,:focus-within,:has(.active,.hot)){--face: 34px;--gap: 4px;--fs: 11px;--img: block;--ini: none;--chip: none;--more: grid;--tail: 5px;--delay: 0s;z-index:4}.pin-stack[data-pointer=right]{flex-direction:row-reverse}.pin-stack[data-below]{flex-wrap:wrap;align-items:flex-start}.pin-stack .pin{position:relative;flex:none;width:var(--face);height:var(--face);margin:2px 0;border-radius:50%;transform:none;font-size:var(--fs, 0);overflow:visible;box-shadow:0 0 0 2px var(--pin-ring),var(--pin-drop);transition:.18s cubic-bezier(.22,1,.36,1) var(--delay, .15s);transition-property:width,height,margin}.pin-stack .pin+.pin{margin-left:var(--gap)}.pin-stack[data-pointer=right] .pin+.pin{margin:2px var(--gap) 2px 0}.pin-stack .pin:first-child{border-radius:50% 50% 50% var(--tail, 50%)}.pin-stack[data-pointer=right] .pin:first-child{border-radius:50% 50% var(--tail, 50%) 50%}.pin-stack .avatar:after{content:attr(data-initial);display:var(--ini, block);font-size:10px}.pin-stack img{display:var(--img, none)}.pin-stack[data-more] .pin:nth-child(n+2){display:var(--more, none)}.pin-stack .pin.active{box-shadow:0 0 0 2px var(--pin-ring),0 0 0 4px #4388ff,0 4px 14px #0003}.pin-stack[data-more]:after,.pin-cluster>summary{display:var(--chip, grid);place-content:center;align-self:center;height:16px;margin:0 4px;padding:0 5px;border-radius:9px;background:var(--bubble, #252522);color:var(--bubble-ink, #fff);font:650 10px system-ui,sans-serif;box-shadow:0 0 0 2px var(--pin-ring),var(--pin-drop)}.pin-stack[data-more]:after{content:attr(data-more)}.pin-cluster{position:fixed;z-index:2;translate:-50% -50%;pointer-events:auto}.pin-cluster>summary{min-width:26px;height:26px;margin:0;border-radius:13px;font-size:12px}.pin-cluster:is(:hover,[open])>summary{scale:1.1}.pin-cluster>summary:focus-visible{outline:2px solid var(--accent, #bda6ef);outline-offset:2px}.pin-cluster .menu-action{max-width:300px}.pin-cluster .menu-action:last-child{margin:0}.pin-cluster .menu-action:last-child:before{content:none}.pin-cluster [popover]{max-height:min(320px,100dvh - 16px);overflow:auto}.pin-cluster .avatar{width:20px;height:20px;font-size:9px}.pin-cluster span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pins[data-scrolling=true] :is(.pin-stack,.pin-cluster){pointer-events:none}@media(prefers-reduced-motion:reduce){.pin-stack .pin{transition:none}}:host{--palette-inset: 16px;--palette-avatar: 24px;--palette-gutter: 8px;--palette-action: 28px}:host(.review-open) .panel{--palette-inset: 24px;padding-inline:var(--palette-inset)}:host([data-sidebar="mobile"]) .panel{--palette-inset: 20px}.list{--palette-avatar: 20px;--palette-reply: 16px}.thread-card .row .avatar{width:var(--palette-avatar);height:var(--palette-avatar);font-size:8px}.sidebar-reply .avatar{width:var(--palette-reply);height:var(--palette-reply);font-size:7px}.thread-card small,.reply-meta small{margin-left:auto;font-size:10px;transition:opacity .15s}.thread-item:is(:hover,:has(>.thread-card:focus-visible,>.card-resolve:focus-visible))>.thread-card small{opacity:0}@media(hover:none){.thread-card small{display:none}}.thread-card>:not(.row){margin-left:calc(var(--palette-avatar) + var(--palette-gutter))}.thread-card .preview{margin-top:6px}.card-status{flex:none;padding:0 6px;border-radius:9px;background:#ffffff0d;color:#999;font-size:10px;line-height:16px;white-space:nowrap}:host(.review-open) .panel .card-resolve:hover{background:#ffffff12;color:#eee}.card-page-row,.card-reply-toggle,.sidebar-replies{margin:4px 12px 0 calc(12px + var(--palette-avatar) + var(--palette-gutter))}.card-reply-toggle{display:flex;width:max-content;min-height:24px;padding:0;gap:6px;color:#999;font-size:12px}.card-reply-toggle svg{width:14px;height:14px}:host(.review-open:not([data-sidebar="mobile"])) .panel .list{margin-right:calc(-12px - var(--palette-scrollbar, 0px))}.sidebar-replies{display:grid;gap:12px;margin-top:8px}.sidebar-reply p{margin:4px 0 0 calc(var(--palette-reply) + var(--palette-gutter))}.messages{padding:0 var(--palette-inset)}.thread-pane .dialog{margin:0 calc(-1 * var(--palette-inset))}.thread-pane .dialog-head{position:static;height:auto;padding:0 var(--palette-inset) 8px;background:none;gap:var(--palette-gutter)}.dialog-head>.row{gap:2px}.dialog-head .icon,.draft-close,:host(.review-open) .panel .dialog-head .icon{width:var(--palette-action);height:var(--palette-action)}.dialog-head .thread-back,:host(.review-open) .panel .dialog-head .thread-back{width:var(--palette-avatar)}.dialog:not(.account-dialog)>.dialog-head:not(.thread-pane *),.draft-close{top:10px;right:var(--palette-inset)}.message:first-child>.row{padding-right:calc(4 * var(--palette-action) + 6px)}.thread-pane .message:first-child>.row{padding-right:0}.message .avatar,.composer.reply-composer>.avatar{width:var(--palette-avatar);height:var(--palette-avatar)}.message>.row>.comment-menu>summary{width:var(--palette-action);height:24px}.message+.message:before{left:0;right:0}.message-content{display:grid;grid-template-columns:minmax(0,1fr) var(--palette-action);align-items:start;gap:0 var(--palette-gutter);padding-left:calc(var(--palette-avatar) + var(--palette-gutter))}.message-content>*{grid-column:1}.message-content>.message-text{margin:3px 0 0}.message-content>.message-reaction{grid-area:1 / 2;justify-self:center;width:var(--palette-action)}.message-content>.message-reaction.has-reactions{width:auto;justify-self:end}.message-content>.thread-tags{margin:8px 0 0}.message .actions{padding-left:calc(var(--palette-avatar) + var(--palette-gutter))}.message-editor{display:block;min-height:0;padding:5px 8px;font-size:13px;line-height:1.5;resize:none;overflow-y:auto}.edit-actions{display:flex;justify-content:flex-end;gap:var(--palette-gutter);margin-top:8px}.edit-actions>button{min-height:28px;padding:4px 6px 4px 10px}.edit-actions>.primary{background:var(--accent, #c8b5f4);color:#21172f}:host(.review-open) .panel .edit-actions>.secondary,.edit-actions>.secondary{background:none}.composer.reply-composer{position:relative;display:grid;grid-template-columns:var(--palette-avatar) minmax(0,1fr) var(--palette-action);align-items:center;gap:var(--palette-gutter);min-height:0;margin:0;box-shadow:none}.composer.reply-composer>*{grid-column:2}.composer.reply-composer>.avatar{grid-column:1}.composer.reply-composer>textarea,.composer.reply-composer>textarea:focus{min-height:0;padding:5px 0;border:0;background:none;box-shadow:none;line-height:22px}.composer.reply-composer>.send{grid-column:3;justify-self:center;width:var(--palette-action);height:var(--palette-action)}.dialog>.composer.reply-composer{padding:12px var(--palette-inset)}.thread-pane .dialog>.composer.reply-composer{margin-top:auto}.dialog>.reply-composer:before{content:"";position:absolute;top:0;left:var(--palette-inset);right:var(--palette-inset);height:1px;background:#ffffff0c}.dialog>.reply-composer:focus-within:before{background:#ffffff2e}.sidebar-replies .composer.reply-composer{--palette-avatar: var(--palette-reply);margin:0 -6px;padding:3px 6px;border-radius:10px;box-shadow:inset 0 0 0 1px #ffffff14}.sidebar-replies .reply-composer:focus-within{box-shadow:inset 0 0 0 1px #ffffff30}.dialog:has(.draft-close) .new-comment-composer{padding:16px var(--palette-inset)}.new-comment-composer .draft-body{grid-template-columns:var(--palette-avatar) minmax(0,1fr) var(--palette-action);column-gap:var(--palette-gutter)}.new-comment-composer .draft-body:not(:has(.avatar)){grid-template-columns:minmax(0,1fr) var(--palette-action)}.dialog .new-comment-composer .draft-body .send{justify-self:center}.new-comment-composer .draft-proposal{margin-right:calc(var(--palette-action) + var(--palette-gutter));max-height:min(45dvh,360px);min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.thread-navigation{margin:0 var(--palette-inset) 12px;padding:10px 12px;border:1px solid #8883;border-radius:8px;color:#aaa}.account-layer .account-dialog{--palette-inset: 24px}\n',Ae=["full","compact","dot","auto"],je={full:"Full",compact:"Compact",dot:"Dot",auto:"Auto"},Me=new WeakMap,Le=H;export{t as a,H as b,Le as c,B as d};
|