@idl3/claude-control 0.1.11 → 0.1.12
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@idl3/claude-control",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.12",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Local web UI to watch and drive your Claude Code sessions running in tmux — live transcripts, reply, answer AskUserQuestion, attach files, from a browser or phone.",
|
|
6
6
|
"keywords": [
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{g as Ve}from"./index-CzRrc0Jz.js";function xe(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const i=e[t],u=typeof i;(u==="object"||u==="function")&&!Object.isFrozen(i)&&xe(i)}),e}class he{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function we(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function B(e,...t){const i=Object.create(null);for(const u in e)i[u]=e[u];return t.forEach(function(u){for(const b in u)i[b]=u[b]}),i}const qe="</span>",pe=e=>!!e.scope,Qe=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const i=e.split(".");return[`${t}${i.shift()}`,...i.map((u,b)=>`${u}${"_".repeat(b+1)}`)].join(" ")}return`${t}${e}`};class me{constructor(t,i){this.buffer="",this.classPrefix=i.classPrefix,t.walk(this)}addText(t){this.buffer+=we(t)}openNode(t){if(!pe(t))return;const i=Qe(t.scope,{prefix:this.classPrefix});this.span(i)}closeNode(t){pe(t)&&(this.buffer+=qe)}value(){return this.buffer}span(t){this.buffer+=`<span class="${t}">`}}const de=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class te{constructor(){this.rootNode=de(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const i=de({scope:t});this.add(i),this.stack.push(i)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,i){return typeof i=="string"?t.addText(i):i.children&&(t.openNode(i),i.children.forEach(u=>this._walk(t,u)),t.closeNode(i)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(i=>typeof i=="string")?t.children=[t.children.join("")]:t.children.forEach(i=>{te._collapse(i)}))}}class et extends te{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,i){const u=t.root;i&&(u.scope=`language:${i}`),this.add(u)}toHTML(){return new me(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function P(e){return e?typeof e=="string"?e:e.source:null}function Oe(e){return C("(?=",e,")")}function tt(e){return C("(?:",e,")*")}function nt(e){return C("(?:",e,")?")}function C(...e){return e.map(i=>P(i)).join("")}function it(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function ne(...e){return"("+(it(e).capture?"":"?:")+e.map(u=>P(u)).join("|")+")"}function Re(e){return new RegExp(e.toString()+"|").exec("").length-1}function st(e,t){const i=e&&e.exec(t);return i&&i.index===0}const rt=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function ie(e,{joinWith:t}){let i=0;return e.map(u=>{i+=1;const b=i;let _=P(u),c="";for(;_.length>0;){const r=rt.exec(_);if(!r){c+=_;break}c+=_.substring(0,r.index),_=_.substring(r.index+r[0].length),r[0][0]==="\\"&&r[1]?c+="\\"+String(Number(r[1])+b):(c+=r[0],r[0]==="("&&i++)}return c}).map(u=>`(${u})`).join(t)}const ct=/\b\B/,ye="[a-zA-Z]\\w*",se="[a-zA-Z_]\\w*",Se="\\b\\d+(\\.\\d+)?",Ne="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Ae="\\b(0b[01]+)",ot="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",at=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=C(t,/.*\b/,e.binary,/\b.*/)),B({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(i,u)=>{i.index!==0&&u.ignoreMatch()}},e)},U={begin:"\\\\[\\s\\S]",relevance:0},lt={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[U]},ut={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[U]},ft={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Y=function(e,t,i={}){const u=B({scope:"comment",begin:e,end:t,contains:[]},i);u.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const b=ne("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return u.contains.push({begin:C(/[ ]+/,"(",b,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),u},gt=Y("//","$"),ht=Y("/\\*","\\*/"),pt=Y("#","$"),dt={scope:"number",begin:Se,relevance:0},Et={scope:"number",begin:Ne,relevance:0},bt={scope:"number",begin:Ae,relevance:0},_t={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[U,{begin:/\[/,end:/\]/,relevance:0,contains:[U]}]},Mt={scope:"title",begin:ye,relevance:0},xt={scope:"title",begin:se,relevance:0},wt={begin:"\\.\\s*"+se,relevance:0},Ot=function(e){return Object.assign(e,{"on:begin":(t,i)=>{i.data._beginMatch=t[1]},"on:end":(t,i)=>{i.data._beginMatch!==t[1]&&i.ignoreMatch()}})};var z=Object.freeze({__proto__:null,APOS_STRING_MODE:lt,BACKSLASH_ESCAPE:U,BINARY_NUMBER_MODE:bt,BINARY_NUMBER_RE:Ae,COMMENT:Y,C_BLOCK_COMMENT_MODE:ht,C_LINE_COMMENT_MODE:gt,C_NUMBER_MODE:Et,C_NUMBER_RE:Ne,END_SAME_AS_BEGIN:Ot,HASH_COMMENT_MODE:pt,IDENT_RE:ye,MATCH_NOTHING_RE:ct,METHOD_GUARD:wt,NUMBER_MODE:dt,NUMBER_RE:Se,PHRASAL_WORDS_MODE:ft,QUOTE_STRING_MODE:ut,REGEXP_MODE:_t,RE_STARTERS_RE:ot,SHEBANG:at,TITLE_MODE:Mt,UNDERSCORE_IDENT_RE:se,UNDERSCORE_TITLE_MODE:xt});function Rt(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function yt(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function St(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Rt,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function Nt(e,t){Array.isArray(e.illegal)&&(e.illegal=ne(...e.illegal))}function At(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function kt(e,t){e.relevance===void 0&&(e.relevance=1)}const Tt=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const i=Object.assign({},e);Object.keys(e).forEach(u=>{delete e[u]}),e.keywords=i.keywords,e.begin=C(i.beforeMatch,Oe(i.begin)),e.starts={relevance:0,contains:[Object.assign(i,{endsParent:!0})]},e.relevance=0,delete i.beforeMatch},It=["of","and","for","in","not","or","if","then","parent","list","value"],Bt="keyword";function ke(e,t,i=Bt){const u=Object.create(null);return typeof e=="string"?b(i,e.split(" ")):Array.isArray(e)?b(i,e):Object.keys(e).forEach(function(_){Object.assign(u,ke(e[_],t,_))}),u;function b(_,c){t&&(c=c.map(r=>r.toLowerCase())),c.forEach(function(r){const l=r.split("|");u[l[0]]=[_,Dt(l[0],l[1])]})}}function Dt(e,t){return t?Number(t):vt(e)?0:1}function vt(e){return It.includes(e.toLowerCase())}const Ee={},v=e=>{console.error(e)},be=(e,...t)=>{console.log(`WARN: ${e}`,...t)},L=(e,t)=>{Ee[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),Ee[`${e}/${t}`]=!0)},X=new Error;function Te(e,t,{key:i}){let u=0;const b=e[i],_={},c={};for(let r=1;r<=t.length;r++)c[r+u]=b[r],_[r+u]=!0,u+=Re(t[r-1]);e[i]=c,e[i]._emit=_,e[i]._multi=!0}function Ct(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw v("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),X;if(typeof e.beginScope!="object"||e.beginScope===null)throw v("beginScope must be object"),X;Te(e,e.begin,{key:"beginScope"}),e.begin=ie(e.begin,{joinWith:""})}}function Lt(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw v("skip, excludeEnd, returnEnd not compatible with endScope: {}"),X;if(typeof e.endScope!="object"||e.endScope===null)throw v("endScope must be object"),X;Te(e,e.end,{key:"endScope"}),e.end=ie(e.end,{joinWith:""})}}function Ht(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function jt(e){Ht(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),Ct(e),Lt(e)}function Pt(e){function t(c,r){return new RegExp(P(c),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(r?"g":""))}class i{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(r,l){l.position=this.position++,this.matchIndexes[this.matchAt]=l,this.regexes.push([l,r]),this.matchAt+=Re(r)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const r=this.regexes.map(l=>l[1]);this.matcherRe=t(ie(r,{joinWith:"|"}),!0),this.lastIndex=0}exec(r){this.matcherRe.lastIndex=this.lastIndex;const l=this.matcherRe.exec(r);if(!l)return null;const w=l.findIndex((j,Z)=>Z>0&&j!==void 0),M=this.matchIndexes[w];return l.splice(0,w),Object.assign(l,M)}}class u{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(r){if(this.multiRegexes[r])return this.multiRegexes[r];const l=new i;return this.rules.slice(r).forEach(([w,M])=>l.addRule(w,M)),l.compile(),this.multiRegexes[r]=l,l}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(r,l){this.rules.push([r,l]),l.type==="begin"&&this.count++}exec(r){const l=this.getMatcher(this.regexIndex);l.lastIndex=this.lastIndex;let w=l.exec(r);if(this.resumingScanAtSamePosition()&&!(w&&w.index===this.lastIndex)){const M=this.getMatcher(0);M.lastIndex=this.lastIndex+1,w=M.exec(r)}return w&&(this.regexIndex+=w.position+1,this.regexIndex===this.count&&this.considerAll()),w}}function b(c){const r=new u;return c.contains.forEach(l=>r.addRule(l.begin,{rule:l,type:"begin"})),c.terminatorEnd&&r.addRule(c.terminatorEnd,{type:"end"}),c.illegal&&r.addRule(c.illegal,{type:"illegal"}),r}function _(c,r){const l=c;if(c.isCompiled)return l;[yt,At,jt,Tt].forEach(M=>M(c,r)),e.compilerExtensions.forEach(M=>M(c,r)),c.__beforeBegin=null,[St,Nt,kt].forEach(M=>M(c,r)),c.isCompiled=!0;let w=null;return typeof c.keywords=="object"&&c.keywords.$pattern&&(c.keywords=Object.assign({},c.keywords),w=c.keywords.$pattern,delete c.keywords.$pattern),w=w||/\w+/,c.keywords&&(c.keywords=ke(c.keywords,e.case_insensitive)),l.keywordPatternRe=t(w,!0),r&&(c.begin||(c.begin=/\B|\b/),l.beginRe=t(l.begin),!c.end&&!c.endsWithParent&&(c.end=/\B|\b/),c.end&&(l.endRe=t(l.end)),l.terminatorEnd=P(l.end)||"",c.endsWithParent&&r.terminatorEnd&&(l.terminatorEnd+=(c.end?"|":"")+r.terminatorEnd)),c.illegal&&(l.illegalRe=t(c.illegal)),c.contains||(c.contains=[]),c.contains=[].concat(...c.contains.map(function(M){return Ut(M==="self"?c:M)})),c.contains.forEach(function(M){_(M,l)}),c.starts&&_(c.starts,r),l.matcher=b(l),l}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=B(e.classNameAliases||{}),_(e)}function Ie(e){return e?e.endsWithParent||Ie(e.starts):!1}function Ut(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return B(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:Ie(e)?B(e,{starts:e.starts?B(e.starts):null}):Object.isFrozen(e)?B(e):e}var $t="11.11.1";class Gt extends Error{constructor(t,i){super(t),this.name="HTMLInjectionError",this.html=i}}const ee=we,_e=B,Me=Symbol("nomatch"),Wt=7,Be=function(e){const t=Object.create(null),i=Object.create(null),u=[];let b=!0;const _="Could not find the language '{}', did you forget to load/include a language module?",c={disableAutodetect:!0,name:"Plain text",contains:[]};let r={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:et};function l(n){return r.noHighlightRe.test(n)}function w(n){let a=n.className+" ";a+=n.parentNode?n.parentNode.className:"";const h=r.languageDetectRe.exec(a);if(h){const d=T(h[1]);return d||(be(_.replace("{}",h[1])),be("Falling back to no-highlight mode for this block.",n)),d?h[1]:"no-highlight"}return a.split(/\s+/).find(d=>l(d)||T(d))}function M(n,a,h){let d="",x="";typeof a=="object"?(d=n,h=a.ignoreIllegals,x=a.language):(L("10.7.0","highlight(lang, code, ...args) has been deprecated."),L("10.7.0",`Please use highlight(code, options) instead.
|
|
1
|
+
import{g as Ve}from"./index-D4ifwG3m.js";function xe(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const i=e[t],u=typeof i;(u==="object"||u==="function")&&!Object.isFrozen(i)&&xe(i)}),e}class he{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function we(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function B(e,...t){const i=Object.create(null);for(const u in e)i[u]=e[u];return t.forEach(function(u){for(const b in u)i[b]=u[b]}),i}const qe="</span>",pe=e=>!!e.scope,Qe=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const i=e.split(".");return[`${t}${i.shift()}`,...i.map((u,b)=>`${u}${"_".repeat(b+1)}`)].join(" ")}return`${t}${e}`};class me{constructor(t,i){this.buffer="",this.classPrefix=i.classPrefix,t.walk(this)}addText(t){this.buffer+=we(t)}openNode(t){if(!pe(t))return;const i=Qe(t.scope,{prefix:this.classPrefix});this.span(i)}closeNode(t){pe(t)&&(this.buffer+=qe)}value(){return this.buffer}span(t){this.buffer+=`<span class="${t}">`}}const de=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class te{constructor(){this.rootNode=de(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const i=de({scope:t});this.add(i),this.stack.push(i)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,i){return typeof i=="string"?t.addText(i):i.children&&(t.openNode(i),i.children.forEach(u=>this._walk(t,u)),t.closeNode(i)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(i=>typeof i=="string")?t.children=[t.children.join("")]:t.children.forEach(i=>{te._collapse(i)}))}}class et extends te{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,i){const u=t.root;i&&(u.scope=`language:${i}`),this.add(u)}toHTML(){return new me(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function P(e){return e?typeof e=="string"?e:e.source:null}function Oe(e){return C("(?=",e,")")}function tt(e){return C("(?:",e,")*")}function nt(e){return C("(?:",e,")?")}function C(...e){return e.map(i=>P(i)).join("")}function it(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function ne(...e){return"("+(it(e).capture?"":"?:")+e.map(u=>P(u)).join("|")+")"}function Re(e){return new RegExp(e.toString()+"|").exec("").length-1}function st(e,t){const i=e&&e.exec(t);return i&&i.index===0}const rt=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function ie(e,{joinWith:t}){let i=0;return e.map(u=>{i+=1;const b=i;let _=P(u),c="";for(;_.length>0;){const r=rt.exec(_);if(!r){c+=_;break}c+=_.substring(0,r.index),_=_.substring(r.index+r[0].length),r[0][0]==="\\"&&r[1]?c+="\\"+String(Number(r[1])+b):(c+=r[0],r[0]==="("&&i++)}return c}).map(u=>`(${u})`).join(t)}const ct=/\b\B/,ye="[a-zA-Z]\\w*",se="[a-zA-Z_]\\w*",Se="\\b\\d+(\\.\\d+)?",Ne="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Ae="\\b(0b[01]+)",ot="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",at=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=C(t,/.*\b/,e.binary,/\b.*/)),B({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(i,u)=>{i.index!==0&&u.ignoreMatch()}},e)},U={begin:"\\\\[\\s\\S]",relevance:0},lt={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[U]},ut={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[U]},ft={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Y=function(e,t,i={}){const u=B({scope:"comment",begin:e,end:t,contains:[]},i);u.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const b=ne("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return u.contains.push({begin:C(/[ ]+/,"(",b,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),u},gt=Y("//","$"),ht=Y("/\\*","\\*/"),pt=Y("#","$"),dt={scope:"number",begin:Se,relevance:0},Et={scope:"number",begin:Ne,relevance:0},bt={scope:"number",begin:Ae,relevance:0},_t={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[U,{begin:/\[/,end:/\]/,relevance:0,contains:[U]}]},Mt={scope:"title",begin:ye,relevance:0},xt={scope:"title",begin:se,relevance:0},wt={begin:"\\.\\s*"+se,relevance:0},Ot=function(e){return Object.assign(e,{"on:begin":(t,i)=>{i.data._beginMatch=t[1]},"on:end":(t,i)=>{i.data._beginMatch!==t[1]&&i.ignoreMatch()}})};var z=Object.freeze({__proto__:null,APOS_STRING_MODE:lt,BACKSLASH_ESCAPE:U,BINARY_NUMBER_MODE:bt,BINARY_NUMBER_RE:Ae,COMMENT:Y,C_BLOCK_COMMENT_MODE:ht,C_LINE_COMMENT_MODE:gt,C_NUMBER_MODE:Et,C_NUMBER_RE:Ne,END_SAME_AS_BEGIN:Ot,HASH_COMMENT_MODE:pt,IDENT_RE:ye,MATCH_NOTHING_RE:ct,METHOD_GUARD:wt,NUMBER_MODE:dt,NUMBER_RE:Se,PHRASAL_WORDS_MODE:ft,QUOTE_STRING_MODE:ut,REGEXP_MODE:_t,RE_STARTERS_RE:ot,SHEBANG:at,TITLE_MODE:Mt,UNDERSCORE_IDENT_RE:se,UNDERSCORE_TITLE_MODE:xt});function Rt(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function yt(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function St(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Rt,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function Nt(e,t){Array.isArray(e.illegal)&&(e.illegal=ne(...e.illegal))}function At(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function kt(e,t){e.relevance===void 0&&(e.relevance=1)}const Tt=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const i=Object.assign({},e);Object.keys(e).forEach(u=>{delete e[u]}),e.keywords=i.keywords,e.begin=C(i.beforeMatch,Oe(i.begin)),e.starts={relevance:0,contains:[Object.assign(i,{endsParent:!0})]},e.relevance=0,delete i.beforeMatch},It=["of","and","for","in","not","or","if","then","parent","list","value"],Bt="keyword";function ke(e,t,i=Bt){const u=Object.create(null);return typeof e=="string"?b(i,e.split(" ")):Array.isArray(e)?b(i,e):Object.keys(e).forEach(function(_){Object.assign(u,ke(e[_],t,_))}),u;function b(_,c){t&&(c=c.map(r=>r.toLowerCase())),c.forEach(function(r){const l=r.split("|");u[l[0]]=[_,Dt(l[0],l[1])]})}}function Dt(e,t){return t?Number(t):vt(e)?0:1}function vt(e){return It.includes(e.toLowerCase())}const Ee={},v=e=>{console.error(e)},be=(e,...t)=>{console.log(`WARN: ${e}`,...t)},L=(e,t)=>{Ee[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),Ee[`${e}/${t}`]=!0)},X=new Error;function Te(e,t,{key:i}){let u=0;const b=e[i],_={},c={};for(let r=1;r<=t.length;r++)c[r+u]=b[r],_[r+u]=!0,u+=Re(t[r-1]);e[i]=c,e[i]._emit=_,e[i]._multi=!0}function Ct(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw v("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),X;if(typeof e.beginScope!="object"||e.beginScope===null)throw v("beginScope must be object"),X;Te(e,e.begin,{key:"beginScope"}),e.begin=ie(e.begin,{joinWith:""})}}function Lt(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw v("skip, excludeEnd, returnEnd not compatible with endScope: {}"),X;if(typeof e.endScope!="object"||e.endScope===null)throw v("endScope must be object"),X;Te(e,e.end,{key:"endScope"}),e.end=ie(e.end,{joinWith:""})}}function Ht(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function jt(e){Ht(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),Ct(e),Lt(e)}function Pt(e){function t(c,r){return new RegExp(P(c),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(r?"g":""))}class i{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(r,l){l.position=this.position++,this.matchIndexes[this.matchAt]=l,this.regexes.push([l,r]),this.matchAt+=Re(r)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const r=this.regexes.map(l=>l[1]);this.matcherRe=t(ie(r,{joinWith:"|"}),!0),this.lastIndex=0}exec(r){this.matcherRe.lastIndex=this.lastIndex;const l=this.matcherRe.exec(r);if(!l)return null;const w=l.findIndex((j,Z)=>Z>0&&j!==void 0),M=this.matchIndexes[w];return l.splice(0,w),Object.assign(l,M)}}class u{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(r){if(this.multiRegexes[r])return this.multiRegexes[r];const l=new i;return this.rules.slice(r).forEach(([w,M])=>l.addRule(w,M)),l.compile(),this.multiRegexes[r]=l,l}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(r,l){this.rules.push([r,l]),l.type==="begin"&&this.count++}exec(r){const l=this.getMatcher(this.regexIndex);l.lastIndex=this.lastIndex;let w=l.exec(r);if(this.resumingScanAtSamePosition()&&!(w&&w.index===this.lastIndex)){const M=this.getMatcher(0);M.lastIndex=this.lastIndex+1,w=M.exec(r)}return w&&(this.regexIndex+=w.position+1,this.regexIndex===this.count&&this.considerAll()),w}}function b(c){const r=new u;return c.contains.forEach(l=>r.addRule(l.begin,{rule:l,type:"begin"})),c.terminatorEnd&&r.addRule(c.terminatorEnd,{type:"end"}),c.illegal&&r.addRule(c.illegal,{type:"illegal"}),r}function _(c,r){const l=c;if(c.isCompiled)return l;[yt,At,jt,Tt].forEach(M=>M(c,r)),e.compilerExtensions.forEach(M=>M(c,r)),c.__beforeBegin=null,[St,Nt,kt].forEach(M=>M(c,r)),c.isCompiled=!0;let w=null;return typeof c.keywords=="object"&&c.keywords.$pattern&&(c.keywords=Object.assign({},c.keywords),w=c.keywords.$pattern,delete c.keywords.$pattern),w=w||/\w+/,c.keywords&&(c.keywords=ke(c.keywords,e.case_insensitive)),l.keywordPatternRe=t(w,!0),r&&(c.begin||(c.begin=/\B|\b/),l.beginRe=t(l.begin),!c.end&&!c.endsWithParent&&(c.end=/\B|\b/),c.end&&(l.endRe=t(l.end)),l.terminatorEnd=P(l.end)||"",c.endsWithParent&&r.terminatorEnd&&(l.terminatorEnd+=(c.end?"|":"")+r.terminatorEnd)),c.illegal&&(l.illegalRe=t(c.illegal)),c.contains||(c.contains=[]),c.contains=[].concat(...c.contains.map(function(M){return Ut(M==="self"?c:M)})),c.contains.forEach(function(M){_(M,l)}),c.starts&&_(c.starts,r),l.matcher=b(l),l}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=B(e.classNameAliases||{}),_(e)}function Ie(e){return e?e.endsWithParent||Ie(e.starts):!1}function Ut(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return B(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:Ie(e)?B(e,{starts:e.starts?B(e.starts):null}):Object.isFrozen(e)?B(e):e}var $t="11.11.1";class Gt extends Error{constructor(t,i){super(t),this.name="HTMLInjectionError",this.html=i}}const ee=we,_e=B,Me=Symbol("nomatch"),Wt=7,Be=function(e){const t=Object.create(null),i=Object.create(null),u=[];let b=!0;const _="Could not find the language '{}', did you forget to load/include a language module?",c={disableAutodetect:!0,name:"Plain text",contains:[]};let r={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:et};function l(n){return r.noHighlightRe.test(n)}function w(n){let a=n.className+" ";a+=n.parentNode?n.parentNode.className:"";const h=r.languageDetectRe.exec(a);if(h){const d=T(h[1]);return d||(be(_.replace("{}",h[1])),be("Falling back to no-highlight mode for this block.",n)),d?h[1]:"no-highlight"}return a.split(/\s+/).find(d=>l(d)||T(d))}function M(n,a,h){let d="",x="";typeof a=="object"?(d=n,h=a.ignoreIllegals,x=a.language):(L("10.7.0","highlight(lang, code, ...args) has been deprecated."),L("10.7.0",`Please use highlight(code, options) instead.
|
|
2
2
|
https://github.com/highlightjs/highlight.js/issues/2277`),x=n,d=a),h===void 0&&(h=!0);const S={code:d,language:x};G("before:highlight",S);const I=S.result?S.result:j(S.language,S.code,h);return I.code=S.code,G("after:highlight",I),I}function j(n,a,h,d){const x=Object.create(null);function S(s,o){return s.keywords[o]}function I(){if(!f.keywords){O.addText(E);return}let s=0;f.keywordPatternRe.lastIndex=0;let o=f.keywordPatternRe.exec(E),g="";for(;o;){g+=E.substring(s,o.index);const p=A.case_insensitive?o[0].toLowerCase():o[0],R=S(f,p);if(R){const[k,Ze]=R;if(O.addText(g),g="",x[p]=(x[p]||0)+1,x[p]<=Wt&&(F+=Ze),k.startsWith("_"))g+=o[0];else{const Je=A.classNameAliases[k]||k;N(o[0],Je)}}else g+=o[0];s=f.keywordPatternRe.lastIndex,o=f.keywordPatternRe.exec(E)}g+=E.substring(s),O.addText(g)}function W(){if(E==="")return;let s=null;if(typeof f.subLanguage=="string"){if(!t[f.subLanguage]){O.addText(E);return}s=j(f.subLanguage,E,!0,ge[f.subLanguage]),ge[f.subLanguage]=s._top}else s=J(E,f.subLanguage.length?f.subLanguage:null);f.relevance>0&&(F+=s.relevance),O.__addSublanguage(s._emitter,s.language)}function y(){f.subLanguage!=null?W():I(),E=""}function N(s,o){s!==""&&(O.startScope(o),O.addText(s),O.endScope())}function ae(s,o){let g=1;const p=o.length-1;for(;g<=p;){if(!s._emit[g]){g++;continue}const R=A.classNameAliases[s[g]]||s[g],k=o[g];R?N(k,R):(E=k,I(),E=""),g++}}function le(s,o){return s.scope&&typeof s.scope=="string"&&O.openNode(A.classNameAliases[s.scope]||s.scope),s.beginScope&&(s.beginScope._wrap?(N(E,A.classNameAliases[s.beginScope._wrap]||s.beginScope._wrap),E=""):s.beginScope._multi&&(ae(s.beginScope,o),E="")),f=Object.create(s,{parent:{value:f}}),f}function ue(s,o,g){let p=st(s.endRe,g);if(p){if(s["on:end"]){const R=new he(s);s["on:end"](o,R),R.isMatchIgnored&&(p=!1)}if(p){for(;s.endsParent&&s.parent;)s=s.parent;return s}}if(s.endsWithParent)return ue(s.parent,o,g)}function Ke(s){return f.matcher.regexIndex===0?(E+=s[0],1):(m=!0,0)}function Fe(s){const o=s[0],g=s.rule,p=new he(g),R=[g.__beforeBegin,g["on:begin"]];for(const k of R)if(k&&(k(s,p),p.isMatchIgnored))return Ke(o);return g.skip?E+=o:(g.excludeBegin&&(E+=o),y(),!g.returnBegin&&!g.excludeBegin&&(E=o)),le(g,s),g.returnBegin?0:o.length}function ze(s){const o=s[0],g=a.substring(s.index),p=ue(f,s,g);if(!p)return Me;const R=f;f.endScope&&f.endScope._wrap?(y(),N(o,f.endScope._wrap)):f.endScope&&f.endScope._multi?(y(),ae(f.endScope,s)):R.skip?E+=o:(R.returnEnd||R.excludeEnd||(E+=o),y(),R.excludeEnd&&(E=o));do f.scope&&O.closeNode(),!f.skip&&!f.subLanguage&&(F+=f.relevance),f=f.parent;while(f!==p.parent);return p.starts&&le(p.starts,s),R.returnEnd?0:o.length}function Xe(){const s=[];for(let o=f;o!==A;o=o.parent)o.scope&&s.unshift(o.scope);s.forEach(o=>O.openNode(o))}let K={};function fe(s,o){const g=o&&o[0];if(E+=s,g==null)return y(),0;if(K.type==="begin"&&o.type==="end"&&K.index===o.index&&g===""){if(E+=a.slice(o.index,o.index+1),!b){const p=new Error(`0 width match regex (${n})`);throw p.languageName=n,p.badRule=K.rule,p}return 1}if(K=o,o.type==="begin")return Fe(o);if(o.type==="illegal"&&!h){const p=new Error('Illegal lexeme "'+g+'" for mode "'+(f.scope||"<unnamed>")+'"');throw p.mode=f,p}else if(o.type==="end"){const p=ze(o);if(p!==Me)return p}if(o.type==="illegal"&&g==="")return E+=`
|
|
3
3
|
`,1;if(Q>1e5&&Q>o.index*3)throw new Error("potential infinite loop, way more iterations than matches");return E+=g,g.length}const A=T(n);if(!A)throw v(_.replace("{}",n)),new Error('Unknown language: "'+n+'"');const Ye=Pt(A);let q="",f=d||Ye;const ge={},O=new r.__emitter(r);Xe();let E="",F=0,D=0,Q=0,m=!1;try{if(A.__emitTokens)A.__emitTokens(a,O);else{for(f.matcher.considerAll();;){Q++,m?m=!1:f.matcher.considerAll(),f.matcher.lastIndex=D;const s=f.matcher.exec(a);if(!s)break;const o=a.substring(D,s.index),g=fe(o,s);D=s.index+g}fe(a.substring(D))}return O.finalize(),q=O.toHTML(),{language:n,value:q,relevance:F,illegal:!1,_emitter:O,_top:f}}catch(s){if(s.message&&s.message.includes("Illegal"))return{language:n,value:ee(a),illegal:!0,relevance:0,_illegalBy:{message:s.message,index:D,context:a.slice(D-100,D+100),mode:s.mode,resultSoFar:q},_emitter:O};if(b)return{language:n,value:ee(a),illegal:!1,relevance:0,errorRaised:s,_emitter:O,_top:f};throw s}}function Z(n){const a={value:ee(n),illegal:!1,relevance:0,_top:c,_emitter:new r.__emitter(r)};return a._emitter.addText(n),a}function J(n,a){a=a||r.languages||Object.keys(t);const h=Z(n),d=a.filter(T).filter(oe).map(y=>j(y,n,!1));d.unshift(h);const x=d.sort((y,N)=>{if(y.relevance!==N.relevance)return N.relevance-y.relevance;if(y.language&&N.language){if(T(y.language).supersetOf===N.language)return 1;if(T(N.language).supersetOf===y.language)return-1}return 0}),[S,I]=x,W=S;return W.secondBest=I,W}function De(n,a,h){const d=a&&i[a]||h;n.classList.add("hljs"),n.classList.add(`language-${d}`)}function V(n){let a=null;const h=w(n);if(l(h))return;if(G("before:highlightElement",{el:n,language:h}),n.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",n);return}if(n.children.length>0&&(r.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(n)),r.throwUnescapedHTML))throw new Gt("One of your code blocks includes unescaped HTML.",n.innerHTML);a=n;const d=a.textContent,x=h?M(d,{language:h,ignoreIllegals:!0}):J(d);n.innerHTML=x.value,n.dataset.highlighted="yes",De(n,h,x.language),n.result={language:x.language,re:x.relevance,relevance:x.relevance},x.secondBest&&(n.secondBest={language:x.secondBest.language,relevance:x.secondBest.relevance}),G("after:highlightElement",{el:n,result:x,text:d})}function ve(n){r=_e(r,n)}const Ce=()=>{$(),L("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Le(){$(),L("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let re=!1;function $(){function n(){$()}if(document.readyState==="loading"){re||window.addEventListener("DOMContentLoaded",n,!1),re=!0;return}document.querySelectorAll(r.cssSelector).forEach(V)}function He(n,a){let h=null;try{h=a(e)}catch(d){if(v("Language definition for '{}' could not be registered.".replace("{}",n)),b)v(d);else throw d;h=c}h.name||(h.name=n),t[n]=h,h.rawDefinition=a.bind(null,e),h.aliases&&ce(h.aliases,{languageName:n})}function je(n){delete t[n];for(const a of Object.keys(i))i[a]===n&&delete i[a]}function Pe(){return Object.keys(t)}function T(n){return n=(n||"").toLowerCase(),t[n]||t[i[n]]}function ce(n,{languageName:a}){typeof n=="string"&&(n=[n]),n.forEach(h=>{i[h.toLowerCase()]=a})}function oe(n){const a=T(n);return a&&!a.disableAutodetect}function Ue(n){n["before:highlightBlock"]&&!n["before:highlightElement"]&&(n["before:highlightElement"]=a=>{n["before:highlightBlock"](Object.assign({block:a.el},a))}),n["after:highlightBlock"]&&!n["after:highlightElement"]&&(n["after:highlightElement"]=a=>{n["after:highlightBlock"](Object.assign({block:a.el},a))})}function $e(n){Ue(n),u.push(n)}function Ge(n){const a=u.indexOf(n);a!==-1&&u.splice(a,1)}function G(n,a){const h=n;u.forEach(function(d){d[h]&&d[h](a)})}function We(n){return L("10.7.0","highlightBlock will be removed entirely in v12.0"),L("10.7.0","Please use highlightElement now."),V(n)}Object.assign(e,{highlight:M,highlightAuto:J,highlightAll:$,highlightElement:V,highlightBlock:We,configure:ve,initHighlighting:Ce,initHighlightingOnLoad:Le,registerLanguage:He,unregisterLanguage:je,listLanguages:Pe,getLanguage:T,registerAliases:ce,autoDetection:oe,inherit:_e,addPlugin:$e,removePlugin:Ge}),e.debugMode=function(){b=!1},e.safeMode=function(){b=!0},e.versionString=$t,e.regex={concat:C,lookahead:Oe,either:ne,optional:nt,anyNumberOfTimes:tt};for(const n in z)typeof z[n]=="object"&&xe(z[n]);return Object.assign(e,z),e},H=Be({});H.newInstance=()=>Be({});var Kt=H;H.HighlightJS=H;H.default=H;const zt=Ve(Kt);export{zt as HighlightJS,zt as default};
|
|
@@ -73,5 +73,5 @@ ${i.system}`:r.system=i.system),i.tools)for(const[o,a]of Object.entries(i.tools)
|
|
|
73
73
|
`))+1))}const o="#".repeat(i),a=n.enter("headingAtx"),l=n.enter("phrasing");s.move(o+" ");let u=n.containerPhrasing(e,{before:"# ",after:`
|
|
74
74
|
`,...s.current()});return/^[\t ]/.test(u)&&(u=gs(u.charCodeAt(0))+u.slice(1)),u=u?o+" "+u:o,n.options.closeAtx&&(u+=" "+o),l(),a(),u}Ew.peek=mj;function Ew(e){return e.value||""}function mj(){return"<"}Tw.peek=gj;function Tw(e,t,n,r){const i=Dd(n),s=i==='"'?"Quote":"Apostrophe",o=n.enter("image");let a=n.enter("label");const l=n.createTracker(r);let u=l.move("![");return u+=l.move(n.safe(e.alt,{before:u,after:"]",...l.current()})),u+=l.move("]("),a(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(a=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(e.url,{before:u,after:">",...l.current()})),u+=l.move(">")):(a=n.enter("destinationRaw"),u+=l.move(n.safe(e.url,{before:u,after:e.title?" ":")",...l.current()}))),a(),e.title&&(a=n.enter(`title${s}`),u+=l.move(" "+i),u+=l.move(n.safe(e.title,{before:u,after:i,...l.current()})),u+=l.move(i),a()),u+=l.move(")"),o(),u}function gj(){return"!"}Iw.peek=yj;function Iw(e,t,n,r){const i=e.referenceType,s=n.enter("imageReference");let o=n.enter("label");const a=n.createTracker(r);let l=a.move("![");const u=n.safe(e.alt,{before:l,after:"]",...a.current()});l+=a.move(u+"]["),o();const d=n.stack;n.stack=[],o=n.enter("reference");const c=n.safe(n.associationId(e),{before:l,after:"]",...a.current()});return o(),n.stack=d,s(),i==="full"||!u||u!==c?l+=a.move(c+"]"):i==="shortcut"?l=l.slice(0,-1):l+=a.move("]"),l}function yj(){return"!"}Rw.peek=vj;function Rw(e,t,n){let r=e.value||"",i="`",s=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++s<n.unsafe.length;){const o=n.unsafe[s],a=n.compilePattern(o);let l;if(o.atBreak)for(;l=a.exec(r);){let u=l.index;r.charCodeAt(u)===10&&r.charCodeAt(u-1)===13&&u--,r=r.slice(0,u)+" "+r.slice(l.index+1)}}return i+r+i}function vj(){return"`"}function Pw(e,t){const n=Ed(e);return!!(!t.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(n===e.url||"mailto:"+n===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}Aw.peek=xj;function Aw(e,t,n,r){const i=Dd(n),s=i==='"'?"Quote":"Apostrophe",o=n.createTracker(r);let a,l;if(Pw(e,n)){const d=n.stack;n.stack=[],a=n.enter("autolink");let c=o.move("<");return c+=o.move(n.containerPhrasing(e,{before:c,after:">",...o.current()})),c+=o.move(">"),a(),n.stack=d,c}a=n.enter("link"),l=n.enter("label");let u=o.move("[");return u+=o.move(n.containerPhrasing(e,{before:u,after:"](",...o.current()})),u+=o.move("]("),l(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),u+=o.move("<"),u+=o.move(n.safe(e.url,{before:u,after:">",...o.current()})),u+=o.move(">")):(l=n.enter("destinationRaw"),u+=o.move(n.safe(e.url,{before:u,after:e.title?" ":")",...o.current()}))),l(),e.title&&(l=n.enter(`title${s}`),u+=o.move(" "+i),u+=o.move(n.safe(e.title,{before:u,after:i,...o.current()})),u+=o.move(i),l()),u+=o.move(")"),a(),u}function xj(e,t,n){return Pw(e,n)?"<":"["}Mw.peek=wj;function Mw(e,t,n,r){const i=e.referenceType,s=n.enter("linkReference");let o=n.enter("label");const a=n.createTracker(r);let l=a.move("[");const u=n.containerPhrasing(e,{before:l,after:"]",...a.current()});l+=a.move(u+"]["),o();const d=n.stack;n.stack=[],o=n.enter("reference");const c=n.safe(n.associationId(e),{before:l,after:"]",...a.current()});return o(),n.stack=d,s(),i==="full"||!u||u!==c?l+=a.move(c+"]"):i==="shortcut"?l=l.slice(0,-1):l+=a.move("]"),l}function wj(){return"["}function Od(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function Sj(e){const t=Od(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function bj(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function Nw(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function kj(e,t,n,r){const i=n.enter("list"),s=n.bulletCurrent;let o=e.ordered?bj(n):Od(n);const a=e.ordered?o==="."?")":".":Sj(n);let l=t&&n.bulletLastUsed?o===n.bulletLastUsed:!1;if(!e.ordered){const d=e.children?e.children[0]:void 0;if((o==="*"||o==="-")&&d&&(!d.children||!d.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(l=!0),Nw(n)===o&&d){let c=-1;for(;++c<e.children.length;){const f=e.children[c];if(f&&f.type==="listItem"&&f.children&&f.children[0]&&f.children[0].type==="thematicBreak"){l=!0;break}}}}l&&(o=a),n.bulletCurrent=o;const u=n.containerFlow(e,r);return n.bulletLastUsed=o,n.bulletCurrent=s,i(),u}function _j(e){const t=e.options.listItemIndent||"one";if(t!=="tab"&&t!=="one"&&t!=="mixed")throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function Cj(e,t,n,r){const i=_j(n);let s=n.bulletCurrent||Od(n);t&&t.type==="list"&&t.ordered&&(s=(typeof t.start=="number"&&t.start>-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+s);let o=s.length+1;(i==="tab"||i==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(o=Math.ceil(o/4)*4);const a=n.createTracker(r);a.move(s+" ".repeat(o-s.length)),a.shift(o);const l=n.enter("listItem"),u=n.indentLines(n.containerFlow(e,a.current()),d);return l(),u;function d(c,f,h){return f?(h?"":" ".repeat(o))+c:(h?s:s+" ".repeat(o-s.length))+c}}function Ej(e,t,n,r){const i=n.enter("paragraph"),s=n.enter("phrasing"),o=n.containerPhrasing(e,r);return s(),i(),o}const Tj=Da(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function Ij(e,t,n,r){return(e.children.some(function(o){return Tj(o)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function Rj(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}jw.peek=Pj;function jw(e,t,n,r){const i=Rj(n),s=n.enter("strong"),o=n.createTracker(r),a=o.move(i+i);let l=o.move(n.containerPhrasing(e,{after:i,before:a,...o.current()}));const u=l.charCodeAt(0),d=aa(r.before.charCodeAt(r.before.length-1),u,i);d.inside&&(l=gs(u)+l.slice(1));const c=l.charCodeAt(l.length-1),f=aa(r.after.charCodeAt(0),c,i);f.inside&&(l=l.slice(0,-1)+gs(c));const h=o.move(i+i);return s(),n.attentionEncodeSurroundingInfo={after:f.outside,before:d.outside},a+l+h}function Pj(e,t,n){return n.options.strong||"*"}function Aj(e,t,n,r){return n.safe(e.value,r)}function Mj(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function Nj(e,t,n){const r=(Nw(n)+(n.options.ruleSpaces?" ":"")).repeat(Mj(n));return n.options.ruleSpaces?r.slice(0,-1):r}const Dw={blockquote:nj,break:Bp,code:lj,definition:cj,emphasis:Cw,hardBreak:Bp,heading:pj,html:Ew,image:Tw,imageReference:Iw,inlineCode:Rw,link:Aw,linkReference:Mw,list:kj,listItem:Cj,paragraph:Ej,root:Ij,strong:jw,text:Aj,thematicBreak:Nj};function jj(){return{enter:{table:Dj,tableData:Up,tableHeader:Up,tableRow:Lj},exit:{codeText:zj,table:Oj,tableData:Ml,tableHeader:Ml,tableRow:Ml}}}function Dj(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function Oj(e){this.exit(e),this.data.inTable=void 0}function Lj(e){this.enter({type:"tableRow",children:[]},e)}function Ml(e){this.exit(e)}function Up(e){this.enter({type:"tableCell",children:[]},e)}function zj(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,Fj));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function Fj(e,t){return t==="|"?t:e}function Bj(e){const t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,s=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
|
|
75
75
|
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:f,table:o,tableCell:l,tableRow:a}};function o(h,m,w,E){return u(d(h,w,E),h.align)}function a(h,m,w,E){const y=c(h,w,E),v=u([y]);return v.slice(0,v.indexOf(`
|
|
76
|
-
`))}function l(h,m,w,E){const y=w.enter("tableCell"),v=w.enter("phrasing"),x=w.containerPhrasing(h,{...E,before:s,after:s});return v(),y(),x}function u(h,m){return ej(h,{align:m,alignDelimiters:r,padding:n,stringLength:i})}function d(h,m,w){const E=h.children;let y=-1;const v=[],x=m.enter("table");for(;++y<E.length;)v[y]=c(E[y],m,w);return x(),v}function c(h,m,w){const E=h.children;let y=-1;const v=[],x=m.enter("tableRow");for(;++y<E.length;)v[y]=l(E[y],h,m,w);return x(),v}function f(h,m,w){let E=Dw.inlineCode(h,m,w);return w.stack.includes("tableCell")&&(E=E.replace(/\|/g,"\\$&")),E}}function Uj(){return{exit:{taskListCheckValueChecked:$p,taskListCheckValueUnchecked:$p,paragraph:Vj}}}function $j(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:Hj}}}function $p(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function Vj(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const i=t.children;let s=-1,o;for(;++s<i.length;){const a=i[s];if(a.type==="paragraph"){o=a;break}}o===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function Hj(e,t,n,r){const i=e.children[0],s=typeof e.checked=="boolean"&&i&&i.type==="paragraph",o="["+(e.checked?"x":" ")+"] ",a=n.createTracker(r);s&&a.move(o);let l=Dw.listItem(e,t,n,{...r,...a.current()});return s&&(l=l.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,u)),l;function u(d){return d+o}}function Wj(){return[kN(),HN(),QN(),jj(),Uj()]}function qj(e){return{extensions:[_N(),WN(e),GN(),Bj(e),$j()]}}const Kj={tokenize:Zj,partial:!0},Ow={tokenize:eD,partial:!0},Lw={tokenize:tD,partial:!0},zw={tokenize:nD,partial:!0},Qj={tokenize:rD,partial:!0},Fw={name:"wwwAutolink",tokenize:Jj,previous:Uw},Bw={name:"protocolAutolink",tokenize:Xj,previous:$w},gn={name:"emailAutolink",tokenize:Yj,previous:Vw},en={};function Gj(){return{text:en}}let Gn=48;for(;Gn<123;)en[Gn]=gn,Gn++,Gn===58?Gn=65:Gn===91&&(Gn=97);en[43]=gn;en[45]=gn;en[46]=gn;en[95]=gn;en[72]=[gn,Bw];en[104]=[gn,Bw];en[87]=[gn,Fw];en[119]=[gn,Fw];function Yj(e,t,n){const r=this;let i,s;return o;function o(c){return!Ju(c)||!Vw.call(r,r.previous)||Ld(r.events)?n(c):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),a(c))}function a(c){return Ju(c)?(e.consume(c),a):c===64?(e.consume(c),l):n(c)}function l(c){return c===46?e.check(Qj,d,u)(c):c===45||c===95||Ve(c)?(s=!0,e.consume(c),l):d(c)}function u(c){return e.consume(c),i=!0,l}function d(c){return s&&i&&Qe(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(c)):n(c)}}function Jj(e,t,n){const r=this;return i;function i(o){return o!==87&&o!==119||!Uw.call(r,r.previous)||Ld(r.events)?n(o):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(Kj,e.attempt(Ow,e.attempt(Lw,s),n),n)(o))}function s(o){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(o)}}function Xj(e,t,n){const r=this;let i="",s=!1;return o;function o(c){return(c===72||c===104)&&$w.call(r,r.previous)&&!Ld(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(c),e.consume(c),a):n(c)}function a(c){if(Qe(c)&&i.length<5)return i+=String.fromCodePoint(c),e.consume(c),a;if(c===58){const f=i.toLowerCase();if(f==="http"||f==="https")return e.consume(c),l}return n(c)}function l(c){return c===47?(e.consume(c),s?u:(s=!0,l)):n(c)}function u(c){return c===null||ia(c)||he(c)||hr(c)||Ma(c)?n(c):e.attempt(Ow,e.attempt(Lw,d),n)(c)}function d(c){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(c)}}function Zj(e,t,n){let r=0;return i;function i(o){return(o===87||o===119)&&r<3?(r++,e.consume(o),i):o===46&&r===3?(e.consume(o),s):n(o)}function s(o){return o===null?n(o):t(o)}}function eD(e,t,n){let r,i,s;return o;function o(u){return u===46||u===95?e.check(zw,l,a)(u):u===null||he(u)||hr(u)||u!==45&&Ma(u)?l(u):(s=!0,e.consume(u),o)}function a(u){return u===95?r=!0:(i=r,r=void 0),e.consume(u),o}function l(u){return i||r||!s?n(u):t(u)}}function tD(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r<n?s(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(zw,t,s)(o):o===null||he(o)||hr(o)?t(o):(e.consume(o),i)}function s(o){return o===41&&r++,e.consume(o),i}}function nD(e,t,n){return r;function r(a){return a===33||a===34||a===39||a===41||a===42||a===44||a===46||a===58||a===59||a===63||a===95||a===126?(e.consume(a),r):a===38?(e.consume(a),s):a===93?(e.consume(a),i):a===60||a===null||he(a)||hr(a)?t(a):n(a)}function i(a){return a===null||a===40||a===91||he(a)||hr(a)?t(a):r(a)}function s(a){return Qe(a)?o(a):n(a)}function o(a){return a===59?(e.consume(a),r):Qe(a)?(e.consume(a),o):n(a)}}function rD(e,t,n){return r;function r(s){return e.consume(s),i}function i(s){return Ve(s)?n(s):t(s)}}function Uw(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||he(e)}function $w(e){return!Qe(e)}function Vw(e){return!(e===47||Ju(e))}function Ju(e){return e===43||e===45||e===46||e===95||Ve(e)}function Ld(e){let t=e.length,n=!1;for(;t--;){const r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const iD={tokenize:fD,partial:!0};function sD(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:uD,continuation:{tokenize:cD},exit:dD}},text:{91:{name:"gfmFootnoteCall",tokenize:lD},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:oD,resolveTo:aD}}}}function oD(e,t,n){const r=this;let i=r.events.length;const s=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o;for(;i--;){const l=r.events[i][1];if(l.type==="labelImage"){o=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return a;function a(l){if(!o||!o._balanced)return n(l);const u=Ft(r.sliceSerialize({start:o.end,end:r.now()}));return u.codePointAt(0)!==94||!s.includes(u.slice(1))?n(l):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),t(l))}}function aD(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const s={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},a=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",s,t],["enter",o,t],["exit",o,t],["exit",s,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...a),e}function lD(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s=0,o;return a;function a(c){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),l}function l(c){return c!==94?n(c):(e.enter("gfmFootnoteCallMarker"),e.consume(c),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(c){if(s>999||c===93&&!o||c===null||c===91||he(c))return n(c);if(c===93){e.exit("chunkString");const f=e.exit("gfmFootnoteCallString");return i.includes(Ft(r.sliceSerialize(f)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(c)}return he(c)||(o=!0),s++,e.consume(c),c===92?d:u}function d(c){return c===91||c===92||c===93?(e.consume(c),s++,u):u(c)}}function uD(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s,o=0,a;return l;function l(m){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(m){return m===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):n(m)}function d(m){if(o>999||m===93&&!a||m===null||m===91||he(m))return n(m);if(m===93){e.exit("chunkString");const w=e.exit("gfmFootnoteDefinitionLabelString");return s=Ft(r.sliceSerialize(w)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),f}return he(m)||(a=!0),o++,e.consume(m),m===92?c:d}function c(m){return m===91||m===92||m===93?(e.consume(m),o++,d):d(m)}function f(m){return m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),i.includes(s)||i.push(s),oe(e,h,"gfmFootnoteDefinitionWhitespace")):n(m)}function h(m){return t(m)}}function cD(e,t,n){return e.check(Cs,t,e.attempt(iD,t,n))}function dD(e){e.exit("gfmFootnoteDefinition")}function fD(e,t,n){const r=this;return oe(e,i,"gfmFootnoteDefinitionIndent",5);function i(s){const o=r.events[r.events.length-1];return o&&o[1].type==="gfmFootnoteDefinitionIndent"&&o[2].sliceSerialize(o[1],!0).length===4?t(s):n(s)}}function hD(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:s,resolveAll:i};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(o,a){let l=-1;for(;++l<o.length;)if(o[l][0]==="enter"&&o[l][1].type==="strikethroughSequenceTemporary"&&o[l][1]._close){let u=l;for(;u--;)if(o[u][0]==="exit"&&o[u][1].type==="strikethroughSequenceTemporary"&&o[u][1]._open&&o[l][1].end.offset-o[l][1].start.offset===o[u][1].end.offset-o[u][1].start.offset){o[l][1].type="strikethroughSequence",o[u][1].type="strikethroughSequence";const d={type:"strikethrough",start:Object.assign({},o[u][1].start),end:Object.assign({},o[l][1].end)},c={type:"strikethroughText",start:Object.assign({},o[u][1].end),end:Object.assign({},o[l][1].start)},f=[["enter",d,a],["enter",o[u][1],a],["exit",o[u][1],a],["enter",c,a]],h=a.parser.constructs.insideSpan.null;h&&mt(f,f.length,0,Na(h,o.slice(u+1,l),a)),mt(f,f.length,0,[["exit",c,a],["enter",o[l][1],a],["exit",o[l][1],a],["exit",d,a]]),mt(o,u-1,l-u+3,f),l=u+f.length-2;break}}for(l=-1;++l<o.length;)o[l][1].type==="strikethroughSequenceTemporary"&&(o[l][1].type="data");return o}function s(o,a,l){const u=this.previous,d=this.events;let c=0;return f;function f(m){return u===126&&d[d.length-1][1].type!=="characterEscape"?l(m):(o.enter("strikethroughSequenceTemporary"),h(m))}function h(m){const w=ri(u);if(m===126)return c>1?l(m):(o.consume(m),c++,h);if(c<2&&!n)return l(m);const E=o.exit("strikethroughSequenceTemporary"),y=ri(m);return E._open=!y||y===2&&!!w,E._close=!w||w===2&&!!y,a(m)}}}class pD{constructor(){this.map=[]}add(t,n,r){mD(this,t,n,r)}consume(t){if(this.map.sort(function(s,o){return s[0]-o[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(const s of i)t.push(s);i=r.pop()}this.map.length=0}}function mD(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function gD(e,t){let n=!1;const r=[];for(;t<e.length;){const i=e[t];if(n){if(i[0]==="enter")i[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const s=r.length-1;r[s]=r[s]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function yD(){return{flow:{null:{name:"table",tokenize:vD,resolveAll:xD}}}}function vD(e,t,n){const r=this;let i=0,s=0,o;return a;function a(T){let L=r.events.length-1;for(;L>-1;){const ae=r.events[L][1].type;if(ae==="lineEnding"||ae==="linePrefix")L--;else break}const z=L>-1?r.events[L][1].type:null,Q=z==="tableHead"||z==="tableRow"?k:l;return Q===k&&r.parser.lazy[r.now().line]?n(T):Q(T)}function l(T){return e.enter("tableHead"),e.enter("tableRow"),u(T)}function u(T){return T===124||(o=!0,s+=1),d(T)}function d(T){return T===null?n(T):H(T)?s>1?(s=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(T),e.exit("lineEnding"),h):n(T):te(T)?oe(e,d,"whitespace")(T):(s+=1,o&&(o=!1,i+=1),T===124?(e.enter("tableCellDivider"),e.consume(T),e.exit("tableCellDivider"),o=!0,d):(e.enter("data"),c(T)))}function c(T){return T===null||T===124||he(T)?(e.exit("data"),d(T)):(e.consume(T),T===92?f:c)}function f(T){return T===92||T===124?(e.consume(T),c):c(T)}function h(T){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(T):(e.enter("tableDelimiterRow"),o=!1,te(T)?oe(e,m,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(T):m(T))}function m(T){return T===45||T===58?E(T):T===124?(o=!0,e.enter("tableCellDivider"),e.consume(T),e.exit("tableCellDivider"),w):I(T)}function w(T){return te(T)?oe(e,E,"whitespace")(T):E(T)}function E(T){return T===58?(s+=1,o=!0,e.enter("tableDelimiterMarker"),e.consume(T),e.exit("tableDelimiterMarker"),y):T===45?(s+=1,y(T)):T===null||H(T)?C(T):I(T)}function y(T){return T===45?(e.enter("tableDelimiterFiller"),v(T)):I(T)}function v(T){return T===45?(e.consume(T),v):T===58?(o=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(T),e.exit("tableDelimiterMarker"),x):(e.exit("tableDelimiterFiller"),x(T))}function x(T){return te(T)?oe(e,C,"whitespace")(T):C(T)}function C(T){return T===124?m(T):T===null||H(T)?!o||i!==s?I(T):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(T)):I(T)}function I(T){return n(T)}function k(T){return e.enter("tableRow"),M(T)}function M(T){return T===124?(e.enter("tableCellDivider"),e.consume(T),e.exit("tableCellDivider"),M):T===null||H(T)?(e.exit("tableRow"),t(T)):te(T)?oe(e,M,"whitespace")(T):(e.enter("data"),D(T))}function D(T){return T===null||T===124||he(T)?(e.exit("data"),M(T)):(e.consume(T),T===92?$:D)}function $(T){return T===92||T===124?(e.consume(T),D):D(T)}}function xD(e,t){let n=-1,r=!0,i=0,s=[0,0,0,0],o=[0,0,0,0],a=!1,l=0,u,d,c;const f=new pD;for(;++n<e.length;){const h=e[n],m=h[1];h[0]==="enter"?m.type==="tableHead"?(a=!1,l!==0&&(Vp(f,t,l,u,d),d=void 0,l=0),u={type:"table",start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[["enter",u,t]])):m.type==="tableRow"||m.type==="tableDelimiterRow"?(r=!0,c=void 0,s=[0,0,0,0],o=[0,n+1,0,0],a&&(a=!1,d={type:"tableBody",start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[["enter",d,t]])),i=m.type==="tableDelimiterRow"?2:d?3:1):i&&(m.type==="data"||m.type==="tableDelimiterMarker"||m.type==="tableDelimiterFiller")?(r=!1,o[2]===0&&(s[1]!==0&&(o[0]=o[1],c=no(f,t,s,i,void 0,c),s=[0,0,0,0]),o[2]=n)):m.type==="tableCellDivider"&&(r?r=!1:(s[1]!==0&&(o[0]=o[1],c=no(f,t,s,i,void 0,c)),s=o,o=[s[1],n,0,0])):m.type==="tableHead"?(a=!0,l=n):m.type==="tableRow"||m.type==="tableDelimiterRow"?(l=n,s[1]!==0?(o[0]=o[1],c=no(f,t,s,i,n,c)):o[1]!==0&&(c=no(f,t,o,i,n,c)),i=0):i&&(m.type==="data"||m.type==="tableDelimiterMarker"||m.type==="tableDelimiterFiller")&&(o[3]=n)}for(l!==0&&Vp(f,t,l,u,d),f.consume(t.events),n=-1;++n<t.events.length;){const h=t.events[n];h[0]==="enter"&&h[1].type==="table"&&(h[1]._align=gD(t.events,n))}return e}function no(e,t,n,r,i,s){const o=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",a="tableContent";n[0]!==0&&(s.end=Object.assign({},Cr(t.events,n[0])),e.add(n[0],0,[["exit",s,t]]));const l=Cr(t.events,n[1]);if(s={type:o,start:Object.assign({},l),end:Object.assign({},l)},e.add(n[1],0,[["enter",s,t]]),n[2]!==0){const u=Cr(t.events,n[2]),d=Cr(t.events,n[3]),c={type:a,start:Object.assign({},u),end:Object.assign({},d)};if(e.add(n[2],0,[["enter",c,t]]),r!==2){const f=t.events[n[2]],h=t.events[n[3]];if(f[1].end=Object.assign({},h[1].end),f[1].type="chunkText",f[1].contentType="text",n[3]>n[2]+1){const m=n[2]+1,w=n[3]-n[2]-1;e.add(m,w,[])}}e.add(n[3]+1,0,[["exit",c,t]])}return i!==void 0&&(s.end=Object.assign({},Cr(t.events,i)),e.add(i,0,[["exit",s,t]]),s=void 0),s}function Vp(e,t,n,r,i){const s=[],o=Cr(t.events,n);i&&(i.end=Object.assign({},o),s.push(["exit",i,t])),r.end=Object.assign({},o),s.push(["exit",r,t]),e.add(n+1,0,s)}function Cr(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const wD={name:"tasklistCheck",tokenize:bD};function SD(){return{text:{91:wD}}}function bD(e,t,n){const r=this;return i;function i(l){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(l):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),s)}function s(l){return he(l)?(e.enter("taskListCheckValueUnchecked"),e.consume(l),e.exit("taskListCheckValueUnchecked"),o):l===88||l===120?(e.enter("taskListCheckValueChecked"),e.consume(l),e.exit("taskListCheckValueChecked"),o):n(l)}function o(l){return l===93?(e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),a):n(l)}function a(l){return H(l)?t(l):te(l)?e.check({tokenize:kD},t,n)(l):n(l)}}function kD(e,t,n){return oe(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function _D(e){return Xx([Gj(),sD(),hD(e),yD(),SD()])}const CD={};function ED(e){const t=this,n=e||CD,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),s=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),o=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(_D(n)),s.push(Wj()),o.push(qj(n))}const TD="modulepreload",ID=function(e,t){return new URL(e,t).href},Hp={},Ht=function(t,n,r){let i=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),l=a?.nonce||a?.getAttribute("nonce");i=Promise.allSettled(n.map(u=>{if(u=ID(u,r),u in Hp)return;Hp[u]=!0;const d=u.endsWith(".css"),c=d?'[rel="stylesheet"]':"";if(!!r)for(let m=o.length-1;m>=0;m--){const w=o[m];if(w.href===u&&(!d||w.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${u}"]${c}`))return;const h=document.createElement("link");if(h.rel=d?"stylesheet":TD,d||(h.as="script"),h.crossOrigin="",h.href=u,l&&h.setAttribute("nonce",l),document.head.appendChild(h),d)return new Promise((m,w)=>{h.addEventListener("load",m),h.addEventListener("error",()=>w(new Error(`Unable to preload CSS for ${u}`)))})}))}function s(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return i.then(o=>{for(const a of o||[])a.status==="rejected"&&s(a.reason);return t().catch(s)})},RD={ts:"typescript",typescript:"typescript",tsx:"typescript",js:"javascript",javascript:"javascript",jsx:"javascript",mjs:"javascript",cjs:"javascript",json:"json",jsonc:"json",sh:"bash",bash:"bash",shell:"bash",zsh:"bash",py:"python",python:"python",diff:"diff",patch:"diff",md:"markdown",markdown:"markdown",html:"xml",xml:"xml",css:"css"};function Hw(e){return e?RD[e.trim().toLowerCase()]??null:null}let Nl=null;async function PD(){return Nl||(Nl=(async()=>{const{default:e}=await Ht(async()=>{const{default:d}=await import("./core-RjtyDAS4.js");return{default:d}},[],import.meta.url),[t,n,r,i,s,o,a,l,u]=await Promise.all([Ht(()=>import("./typescript-C2FFdlUC.js"),[],import.meta.url),Ht(()=>import("./javascript-BKRaQes9.js"),[],import.meta.url),Ht(()=>import("./json-DIYVocXf.js"),[],import.meta.url),Ht(()=>import("./bash-I8pq0VWm.js"),[],import.meta.url),Ht(()=>import("./python-sE43i1Pi.js"),[],import.meta.url),Ht(()=>import("./diff-DiTmLxSS.js"),[],import.meta.url),Ht(()=>import("./markdown-BrP960CR.js"),[],import.meta.url),Ht(()=>import("./xml-BXBhIUeX.js"),[],import.meta.url),Ht(()=>import("./css-DazXZka4.js"),[],import.meta.url)]);return e.registerLanguage("typescript",t.default),e.registerLanguage("javascript",n.default),e.registerLanguage("json",r.default),e.registerLanguage("bash",i.default),e.registerLanguage("python",s.default),e.registerLanguage("diff",o.default),e.registerLanguage("markdown",a.default),e.registerLanguage("xml",l.default),e.registerLanguage("css",u.default),e})()),Nl}async function AD(e,t){const n=Hw(e);if(!n)return null;try{const r=await PD(),{value:i}=r.highlight(t,{language:n,ignoreIllegals:!0});return i}catch{return null}}const MD=({language:e})=>e?p.jsx("div",{className:"aui-md-code-lang",children:e}):null,ND=({components:e,language:t,code:n})=>{const{Pre:r,Code:i}=e,s=Hw(t)!==null,[o,a]=g.useState(null);return g.useEffect(()=>{if(!s){a(null);return}let l=!0;return a(null),AD(t,n).then(u=>{l&&a(u)}).catch(()=>{l&&a(null)}),()=>{l=!1}},[s,t,n]),s&&o!=null?p.jsx(r,{children:p.jsx(i,{className:"hljs",dangerouslySetInnerHTML:{__html:o}})}):p.jsx(r,{children:p.jsx(i,{className:s?"hljs":void 0,children:n})})},jD=()=>p.jsx(yN,{className:"aui-md",remarkPlugins:[ED],components:{CodeHeader:MD,SyntaxHighlighter:ND}}),DD=g.memo(jD);function OD(e){const[t,n]=g.useState(null);return g.useEffect(()=>{let r=!1,i=null;return lt(VT(e)).then(s=>s.ok?s.blob():null).then(s=>{!s||r||(i=URL.createObjectURL(s),n(i))}).catch(()=>{}),()=>{r=!0,i&&URL.revokeObjectURL(i),n(null)}},[e]),t}const LD=new Set([".jpg",".jpeg",".png",".gif",".webp",".avif",".heic",".heif",".svg"]),Wp=/(?:^|\s)(\/[^\s]*\/\.claude-control\/uploads\/([^\s]+))/g;function zD(e){const t=[],n=new Set;let r;for(Wp.lastIndex=0;(r=Wp.exec(e))!==null;){const i=r[1].trim();if(n.has(i))continue;n.add(i);const s=r[2],o=s.slice(s.lastIndexOf(".")).toLowerCase();t.push({fullPath:i,basename:s,isImage:LD.has(o)})}return t}function FD({src:e,alt:t,onClose:n}){const r=g.useRef(null);g.useEffect(()=>{r.current?.focus()},[]);const i=g.useCallback(s=>{s.key==="Escape"&&(s.preventDefault(),n())},[n]);return p.jsx("div",{className:"lightbox-backdrop",role:"dialog","aria-modal":"true","aria-label":`Preview: ${t}`,ref:r,tabIndex:-1,onClick:n,onKeyDown:i,children:p.jsx("img",{className:"lightbox-img",src:e,alt:t,onClick:s=>s.stopPropagation()})})}function BD({ref_:e}){const[t,n]=g.useState(!1),r=OD(e.basename);return e.isImage?p.jsxs(p.Fragment,{children:[p.jsx("button",{type:"button",className:"transcript-thumb-btn","aria-label":`Preview ${e.basename}`,title:e.basename,onClick:()=>n(!0),children:r?p.jsx("img",{className:"transcript-thumb",src:r,alt:e.basename,loading:"lazy"}):p.jsx("span",{className:"transcript-thumb transcript-thumb-loading","aria-hidden":"true"})}),t&&r?p.jsx(FD,{src:r,alt:e.basename,onClose:()=>n(!1)}):null]}):p.jsxs("a",{className:"transcript-file-chip",href:r??void 0,download:e.basename,"aria-label":`Download ${e.basename}`,title:e.basename,"aria-disabled":r?void 0:!0,children:[p.jsx("span",{className:"chip-icon","aria-hidden":"true",children:"📎"}),p.jsx("span",{className:"chip-name",children:e.basename})]})}function UD({text:e}){const t=zD(e);return t.length===0?null:p.jsx("div",{className:"transcript-attachments","aria-label":"Attachments",children:t.map(n=>p.jsx(BD,{ref_:n},n.fullPath))})}const $D=/^\s*working…?\s*$/i,VD=e=>typeof e.text=="string"&&$D.test(e.text)?p.jsxs("span",{className:"working-indicator",role:"status","aria-live":"polite",children:[p.jsx("span",{className:"working-spinner","aria-hidden":"true"}),"Working…"]}):p.jsxs(p.Fragment,{children:[p.jsx(DD,{...e}),typeof e.text=="string"?p.jsx(UD,{text:e.text}):null]}),HD=({text:e})=>!e||!e.trim()?null:p.jsxs("details",{className:"block-thinking",children:[p.jsx("summary",{children:"thinking"}),p.jsx("div",{className:"thinking-text",children:e})]});function WD(e){const t=eI(e);if(t==null||typeof t=="object"&&Object.keys(t).length===0)return"";try{return JSON.stringify(t,null,2)}catch{return String(t)}}const qD=({toolName:e,args:t,result:n})=>{const r=ZT(t),i=WD(t),s=tI(n),o=i.length>0||s!=null,a=p.jsxs("span",{className:"tool-head",children:[p.jsx("span",{className:"tool-arrow","aria-hidden":"true",children:"▸"}),p.jsx("span",{className:"tool-name",children:e}),r?p.jsxs(p.Fragment,{children:[p.jsx("span",{className:"tool-sep",children:"—"}),p.jsx("span",{className:"tool-input",children:r})]}):null]});return o?p.jsxs("details",{className:"block-tool",children:[p.jsx("summary",{className:"block-tool-use",children:a}),p.jsxs("div",{className:"block-tool-body",children:[i?p.jsx("pre",{className:"block-tool-args",children:i}):null,s!=null?p.jsx("div",{className:"block-tool-result","data-error":s.isError?"true":"false",children:s.text}):null]})]}):p.jsx("div",{className:"block-tool",children:p.jsx("div",{className:"block-tool-use",children:a})})},Ww={Text:VD,Reasoning:HD,tools:{Fallback:qD}};function zd(){return p.jsxs(ea.Root,{className:"msg-row","data-role":"user",children:[p.jsx("div",{className:"msg-role",children:"user"}),p.jsx("div",{className:"msg-body",children:p.jsx(ea.Parts,{components:Ww})})]})}function ii(){const e=b1(t=>t.metadata?.custom?.cockpitRole)??"assistant";return p.jsxs(ea.Root,{className:"msg-row","data-role":e,children:[p.jsx("div",{className:"msg-role",children:e}),p.jsx("div",{className:"msg-body",children:p.jsx(ea.Parts,{components:Ww})})]})}function KD({file:e}){const[t,n]=g.useState(null);return g.useEffect(()=>{const r=URL.createObjectURL(e);return n(r),()=>URL.revokeObjectURL(r)},[e]),t?p.jsx("img",{className:"chip-thumb",src:t,alt:"",role:"button",tabIndex:0,title:"Open preview",onClick:()=>window.open(t,"_blank","noopener"),onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),window.open(t,"_blank","noopener"))}}):p.jsx("div",{className:"chip-thumb chip-thumb-empty"})}function QD({attachment:e}){const t=e.type==="image",n=e.status.type==="running";return p.jsxs(Ah.Root,{className:"attach-chip","data-pending":n,children:[t&&e.file?p.jsx(KD,{file:e.file}):p.jsx("span",{className:"chip-icon","aria-hidden":"true",children:e.type==="document"?"📄":"📎"}),p.jsx("span",{className:"chip-name",title:e.name,children:e.name}),n?p.jsx("span",{className:"chip-spinner","aria-hidden":"true"}):null,p.jsx(Ah.Remove,{className:"chip-remove","aria-label":`Remove ${e.name}`,children:"×"})]})}function qw({disabled:e}){const t=w1();return p.jsxs(_i.Root,{className:"composer",children:[p.jsx("div",{className:"composer-attachments",children:p.jsx(_i.Attachments,{children:({attachment:n})=>p.jsx(QD,{attachment:n})})}),p.jsxs("div",{className:"composer-row",children:[p.jsx(_i.AddAttachment,{className:"composer-attach","aria-label":"Attach a file",title:"Attach a file",multiple:!0,disabled:e,children:"📎"}),p.jsx(_i.Input,{className:"composer-input",placeholder:e?"select a session…":"reply… (⌘/Ctrl+↵ to send · Enter = newline)",submitOnEnter:!1,onKeyDown:n=>{n.key==="Enter"&&(n.metaKey||n.ctrlKey)&&(n.preventDefault(),e||t.send())},rows:1,disabled:e,autoComplete:"off"}),p.jsx(_i.Send,{className:"composer-send","aria-label":"Send reply",disabled:e,children:"↑"})]})]})}const GD={UserMessage:zd,AssistantMessage:ii,SystemMessage:ii};function YD({hasSelection:e,hiddenCount:t,onLoadEarlier:n}){return p.jsxs(Ot.Root,{className:"thread-root",children:[p.jsxs(Ot.Viewport,{className:"thread-viewport",autoScroll:!0,children:[e?p.jsx(Ot.Empty,{children:p.jsx("div",{className:"thread-empty",children:"no messages yet"})}):p.jsx("div",{className:"thread-empty",children:"select a session"}),e&&t>0?p.jsxs("button",{type:"button",className:"load-earlier",onClick:n,children:["Load earlier messages (",t," hidden)"]}):null,p.jsx(Ot.Messages,{components:GD})]}),p.jsx(qw,{disabled:!e})]})}const qp=200,JD=2e3;function XD({sessionId:e,capture:t,requestCapture:n,clearCapture:r}){const i=g.useRef(null),s=g.useRef(!0);g.useEffect(()=>{n(qp);const a=setInterval(()=>n(qp),JD);return()=>{clearInterval(a),r()}},[e,n,r]),g.useLayoutEffect(()=>{const a=i.current;a&&s.current&&(a.scrollTop=a.scrollHeight)},[t]);const o=()=>{const a=i.current;a&&(s.current=a.scrollHeight-a.scrollTop-a.clientHeight<24)};return p.jsxs("div",{className:"live-pane",children:[p.jsx("div",{className:"live-pane-head",children:"live pane (no transcript)"}),p.jsx("pre",{className:"live-pane-body",ref:i,onScroll:o,children:t??"capturing live pane…"})]})}function Kp(e){return e.questions.map(()=>new Set)}function ZD({pending:e,capture:t,onAnswer:n,onCapture:r,onClose:i}){const[s,o]=g.useState(()=>Kp(e)),a=g.useRef(null),l=g.useRef(null);g.useEffect(()=>{o(Kp(e))},[e]),g.useEffect(()=>(l.current=document.activeElement,(a.current?.querySelector("button:not([disabled]), [tabindex]")??a.current)?.focus(),()=>{l.current?.focus?.()}),[]);const u=g.useMemo(()=>s.length>0&&s.every(h=>h.size>0),[s]),d=(h,m,w)=>{o(E=>{const y=E.map(x=>new Set(x)),v=y[h];return w?v.has(m)?v.delete(m):v.add(m):y[h]=new Set([m]),y})},c=h=>{if(h.key==="Escape"){h.preventDefault(),i();return}if(h.key!=="Tab")return;const m=a.current?.querySelectorAll('button:not([disabled]), [tabindex="0"]');if(!m||m.length===0)return;const w=m[0],E=m[m.length-1];h.shiftKey&&document.activeElement===w?(h.preventDefault(),E.focus()):!h.shiftKey&&document.activeElement===E&&(h.preventDefault(),w.focus())},f=()=>{u&&n(e.toolUseId,s.map(h=>[...h]))};return p.jsx("div",{className:"modal-backdrop",onClick:h=>{h.target===h.currentTarget&&i()},children:p.jsxs("div",{ref:a,className:"modal",role:"dialog","aria-modal":"true","aria-label":"Question from Claude",tabIndex:-1,onKeyDown:c,children:[p.jsxs("div",{className:"modal-head",children:[p.jsx("span",{className:"modal-title",children:"Claude is asking"}),p.jsx("button",{type:"button",className:"modal-close","aria-label":"Close",onClick:i,children:"✕"})]}),p.jsxs("div",{className:"modal-body",children:[e.questions.map((h,m)=>p.jsxs("div",{className:"question",children:[h.header?p.jsx("div",{className:"q-header",children:h.header}):null,p.jsx("div",{className:"q-text",children:h.question}),h.multiSelect?p.jsx("div",{className:"q-hint",children:"select one or more"}):null,p.jsx("div",{className:"q-options",children:h.options.map(w=>{const E=s[m]?.has(w.label);return p.jsxs("button",{type:"button",className:"option-btn","data-on":E?"true":"false","aria-pressed":E,onClick:()=>d(m,w.label,!!h.multiSelect),children:[p.jsx("span",{className:"option-label",children:w.label}),w.description?p.jsx("span",{className:"option-desc",children:w.description}):null]},w.label)})})]},m)),t!=null?p.jsx("pre",{className:"capture-output",children:t}):null]}),p.jsxs("div",{className:"modal-foot",children:[p.jsx("button",{type:"button",className:"btn-secondary",onClick:r,children:"show terminal"}),p.jsx("span",{className:"modal-foot-spacer"}),p.jsx("button",{type:"button",className:"btn-secondary",onClick:i,children:"cancel"}),p.jsx("button",{type:"button",className:"btn-primary",disabled:!u,onClick:f,children:"send answer"})]})]})})}function eO({toast:e}){const[t,n]=g.useState(!1);return g.useEffect(()=>{if(!e)return;n(!0);const r=setTimeout(()=>n(!1),2200);return()=>clearTimeout(r)},[e]),e?p.jsx("div",{className:`toast ${t?"show":""} ${e.kind?`toast-${e.kind}`:""}`,role:"status","aria-live":"polite",children:e.text}):null}const Qp="claude-control-update-dismissed";function tO(e){if(e.latest&&e.latest!==e.current)return`Update available — v${e.latest} (you’re on v${e.current}).`;const t=e.behind||1;return`Update available — ${t} new commit${t===1?"":"s"} (v${e.current}).`}function nO(){const[e,t]=g.useState(null),[n,r]=g.useState(!1);return g.useEffect(()=>{let i=!0;return Nx().then(s=>{if(!i||!s?.updateAvailable)return;const o=s.latest??`behind-${s.behind??0}`;localStorage.getItem(Qp)!==o&&t({current:s.current,latest:s.latest,behind:s.behind??0})}),()=>{i=!1}},[]),e?n?p.jsx("div",{className:"update-banner",role:"status",children:p.jsx("span",{children:"Updating… the page will reconnect shortly."})}):p.jsxs("div",{className:"update-banner",role:"status",children:[p.jsx("span",{children:tO(e)}),p.jsxs("span",{className:"update-actions",children:[p.jsx("button",{type:"button",className:"update-now",onClick:()=>{r(!0),DT()},children:"Update now"}),p.jsx("button",{type:"button",className:"update-dismiss","aria-label":"Dismiss update notice",onClick:()=>{localStorage.setItem(Qp,e.latest??`behind-${e.behind}`),t(null)},children:"×"})]})]}):null}function rO({onClose:e,onToast:t}){const[n,r]=g.useState(""),[i,s]=g.useState(""),[o,a]=g.useState(!0),[l,u]=g.useState(!1),[d,c]=g.useState(null);g.useEffect(()=>{let h=!0;return Nx().then(m=>h&&m&&c(m)).catch(()=>{}),()=>{h=!1}},[]),g.useEffect(()=>{let h=!0;return FT().then(m=>{h&&(r(m.launchCommand),s(m.defaultCwd))}).catch(m=>t(`Load config failed: ${m.message}`,"error")).finally(()=>{h&&a(!1)}),()=>{h=!1}},[t]),g.useEffect(()=>{const h=m=>{m.key==="Escape"&&e()};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[e]);const f=async()=>{u(!0);try{const h=await BT({launchCommand:n,defaultCwd:i});r(h.launchCommand),s(h.defaultCwd),t("Config saved","ok"),e()}catch(h){t(`Save failed: ${h.message}`,"error")}finally{u(!1)}};return p.jsx("div",{className:"config-overlay",role:"presentation",onClick:h=>{h.target===h.currentTarget&&e()},children:p.jsxs("div",{className:"config-modal",role:"dialog","aria-modal":"true","aria-label":"Settings",children:[p.jsxs("div",{className:"config-head",children:[p.jsx("span",{className:"config-title",children:"Settings"}),p.jsx("button",{type:"button",className:"config-close","aria-label":"Close settings",onClick:e,children:"×"})]}),p.jsxs("label",{className:"config-field",children:[p.jsx("span",{className:"config-label",children:"Launch command"}),p.jsx("input",{className:"config-input",type:"text",placeholder:"claude",value:n,disabled:o,onChange:h=>r(h.target.value),autoCapitalize:"off",autoCorrect:"off",spellCheck:!1}),p.jsxs("span",{className:"config-hint",children:["Run in each new session's pane (e.g. ",p.jsx("code",{children:"yolo"})," or"," ",p.jsx("code",{children:"claude --flags"}),")."]})]}),p.jsxs("label",{className:"config-field",children:[p.jsx("span",{className:"config-label",children:"Default cwd"}),p.jsx("input",{className:"config-input",type:"text",value:i,disabled:o,onChange:h=>s(h.target.value),autoCapitalize:"off",autoCorrect:"off",spellCheck:!1}),p.jsx("span",{className:"config-hint",children:"Must be an existing directory. New sessions start here."})]}),p.jsx("div",{className:"config-version",children:d?p.jsxs(p.Fragment,{children:[p.jsxs("span",{children:["claude-control v",d.current]}),d.updateAvailable&&d.latest?p.jsxs("span",{className:"config-version-update",children:["· update available: v",d.latest]}):null]}):null}),p.jsxs("div",{className:"config-actions",children:[p.jsx("button",{type:"button",className:"config-cancel",onClick:e,disabled:l,children:"Cancel"}),p.jsx("button",{type:"button",className:"config-save",onClick:f,disabled:o||l,children:l?"Saving…":"Save"})]})]})})}function Gp(e=Date.now()){return`session-${e.toString(36).slice(-6)}`}function iO({onToast:e,onOpenSettings:t}){const[n,r]=g.useState(!1),[i,s]=g.useState(""),[o,a]=g.useState(!1),[l,u]=g.useState(Gp),d=g.useRef(null);g.useEffect(()=>{n&&(u(Gp()),d.current?.focus())},[n]);const c=g.useCallback(()=>{r(!1),s("")},[]),f=g.useCallback(async()=>{if(o)return;a(!0);const h=i.trim()||l;e("Creating session…");try{const m=await UT({name:h});e(`Session created → ${m.name}`,"ok"),c()}catch(m){e(`New session failed: ${m.message}`,"error")}finally{a(!1)}},[o,i,l,e,c]);return n?p.jsxs("form",{className:"rail-new-form","aria-label":"Create session",onSubmit:h=>{h.preventDefault(),f()},children:[p.jsx("input",{ref:d,className:"rail-new-name",type:"text",value:i,placeholder:l,disabled:o,onChange:h=>s(h.target.value),onKeyDown:h=>{h.key==="Escape"&&(h.preventDefault(),c())},"aria-label":"Session name",autoCapitalize:"off",autoCorrect:"off",spellCheck:!1}),p.jsxs("div",{className:"rail-new-actions",children:[p.jsx("button",{type:"button",className:"rail-new-cancel",onClick:c,disabled:o,children:"Cancel"}),p.jsx("button",{type:"submit",className:"rail-new-create",disabled:o,children:o?"Creating…":"Create"})]})]}):p.jsxs("div",{className:"rail-head",children:[p.jsx("button",{type:"button",className:"rail-new",onClick:()=>r(!0),children:"+ New session"}),p.jsx("button",{type:"button",className:"rail-gear","aria-label":"Settings",title:"Settings",onClick:t,children:"⚙"})]})}function sO({sessionId:e,label:t,onClose:n}){const r=AT(e),i=g.useRef(null);return g.useEffect(()=>{i.current?.focus();const s=o=>{o.key==="Escape"&&n()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[n]),p.jsxs("div",{className:"term-overlay",role:"dialog","aria-modal":"true","aria-label":`Raw terminal — ${t}`,children:[p.jsxs("header",{className:"term-head",children:[p.jsxs("span",{className:"term-title",children:[p.jsx("span",{"aria-hidden":"true",children:"⛶"})," ",t]}),p.jsxs("span",{className:"term-actions",children:[p.jsx("a",{className:"term-newtab",href:r,target:"_blank",rel:"noopener noreferrer",title:"Open in a new tab",children:"↗ New tab"}),p.jsx("button",{ref:i,type:"button",className:"term-close","aria-label":"Close terminal",onClick:n,children:"✕"})]})]}),p.jsx("iframe",{className:"term-frame",src:r,title:`Raw terminal for ${t}`})]})}function oO({children:e}){const[t,n]=g.useState("probing"),[r,i]=g.useState(null),[s,o]=g.useState(""),a=g.useCallback(async()=>{try{return(await lt("/api/health")).ok?(n("authed"),i(null),!0):!1}catch{return i("Cannot reach the server. Check the connection and retry."),!1}},[]);g.useEffect(()=>{let u=!1;return(async()=>{const d=await a();u||d||n("needs-token")})(),()=>{u=!0}},[a]),g.useEffect(()=>RT(()=>{n("needs-token"),o(""),i("Session expired — enter your access token again.")}),[]);const l=g.useCallback(async u=>{u.preventDefault();const d=s.trim();if(!d){i("Enter an access token.");return}n("submitting"),i(null),Px(d),await a()||(Ax(),n("needs-token"),i("Invalid token."))},[s,a]);return t==="authed"?p.jsx(p.Fragment,{children:e}):t==="probing"?p.jsx("div",{className:"gate-root",role:"status","aria-live":"polite",children:p.jsxs("div",{className:"gate-card gate-card--probing",children:[p.jsx("span",{className:"gate-spinner","aria-hidden":"true"}),p.jsx("span",{className:"gate-probing-text",children:"Connecting…"})]})}):(Pa(),p.jsx("div",{className:"gate-root",children:p.jsxs("form",{className:"gate-card",onSubmit:l,"aria-label":"Sign in",children:[p.jsxs("div",{className:"gate-brand",children:[p.jsx("span",{className:"gate-glyph","aria-hidden":"true",children:"◧"}),p.jsx("span",{className:"gate-title",children:"claude control"})]}),p.jsx("label",{className:"gate-label",htmlFor:"gate-token",children:"Access token"}),p.jsx("input",{id:"gate-token",className:"gate-input",type:"password",autoComplete:"current-password",autoFocus:!0,spellCheck:!1,value:s,onChange:u=>{o(u.target.value),r&&i(null)},"aria-invalid":r?!0:void 0,"aria-describedby":r?"gate-error":void 0,placeholder:"••••••••••••"}),r?p.jsx("p",{id:"gate-error",className:"gate-error",role:"alert",children:r}):null,p.jsx("button",{type:"submit",className:"gate-submit",disabled:t==="submitting",children:t==="submitting"?"Connecting…":"Connect"})]})}))}function aO(e){if(!e)return"";const t=Date.parse(e);return Number.isNaN(t)?"":new Date(t).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function lO({session:e,onClose:t,onToast:n,onPinned:r}){const[i,s]=g.useState(null),[o,a]=g.useState(""),[l,u]=g.useState(!1);g.useEffect(()=>{let f=!0;return jT().then(h=>f&&s(h)).catch(h=>{f&&(s([]),n(`Couldn't load transcripts: ${h.message}`,"error"))}),()=>{f=!1}},[n]);const d=g.useMemo(()=>{if(!i)return[];const f=o.trim().toLowerCase();return f?i.filter(h=>[h.title,h.cwd,h.sessionId].some(m=>m?.toLowerCase().includes(f))):i},[i,o]),c=async f=>{if(!l){u(!0);try{await NT(e.id,f),n(f?"Pinned →":"Unpinned","ok"),r(),t()}catch(h){n(`Pin failed: ${h.message}`,"error")}finally{u(!1)}}};return p.jsx("div",{className:"modal-backdrop",role:"dialog","aria-modal":"true",onClick:t,children:p.jsxs("div",{className:"modal pin-modal",onClick:f=>f.stopPropagation(),children:[p.jsxs("header",{className:"modal-head",children:[p.jsxs("span",{className:"modal-title",children:["Pin transcript — ",e.name||e.id]}),p.jsx("button",{type:"button",className:"modal-close","aria-label":"Close",onClick:t,children:"×"})]}),e.pinned?p.jsx("button",{type:"button",className:"pin-unpin",disabled:l,onClick:()=>c(null),children:"Unpin (return to auto-match)"}):null,p.jsx("input",{className:"pin-search",type:"text",placeholder:"filter by title, cwd, or session id…",value:o,onChange:f=>a(f.target.value),autoFocus:!0}),p.jsx("div",{className:"pin-list",children:i===null?p.jsx("div",{className:"pin-empty",children:"loading…"}):d.length===0?p.jsx("div",{className:"pin-empty",children:"no transcripts match"}):d.map(f=>{const h=f.transcriptPath===e.transcriptPath;return p.jsxs("button",{type:"button",className:"pin-row","data-current":h?"true":void 0,disabled:l,onClick:()=>c(f.transcriptPath),children:[p.jsxs("span",{className:"pin-row-title",children:[f.title||f.sessionId||f.transcriptPath,h?p.jsx("span",{className:"pin-row-cur",children:" · current"}):null]}),p.jsxs("span",{className:"pin-row-meta",children:[f.cwd?p.jsx("span",{className:"pin-row-cwd",children:f.cwd}):null,p.jsx("span",{className:"pin-row-when",children:aO(f.lastActivity)})]})]},f.transcriptPath)})})]})})}const uO={UserMessage:zd,AssistantMessage:ii,SystemMessage:ii};function cO({markdown:e}){const t=g.useMemo(()=>[{role:"assistant",id:"plan",content:[{type:"text",text:e}],metadata:{custom:{cockpitRole:"assistant"}}}],[e]),n=nd({messages:t,isDisabled:!0,convertMessage:r=>r,onNew:async()=>{}});return p.jsx(ad,{runtime:n,children:p.jsx(Ot.Root,{className:"plan-review",children:p.jsx(Ot.Viewport,{className:"plan-review-viewport",children:p.jsx(Ot.Messages,{components:uO})})})})}function dO({prompt:e,onKey:t,onClose:n,planMarkdown:r}){const[i,s]=g.useState(null),o=JSON.stringify(e);g.useEffect(()=>{s(null)},[o]);const a=d=>{i||(s(d),t(d))};g.useEffect(()=>{const d=c=>{c.key==="Escape"&&(c.preventDefault(),n())};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[n]);const l=i!==null,u=!!r;return p.jsx("div",{className:"modal-backdrop",onClick:d=>{d.target===d.currentTarget&&!l&&n()},children:p.jsxs("div",{className:u?"modal modal-plan":"modal",role:"dialog","aria-modal":"true","aria-label":u?"Review plan":"Terminal prompt",children:[p.jsxs("div",{className:"modal-head",children:[p.jsx("span",{className:"modal-title",children:u?"Review plan":"Claude needs a choice"}),p.jsx("button",{type:"button",className:"modal-close","aria-label":"Hide",onClick:n,children:"✕"})]}),p.jsxs("div",{className:"modal-body",children:[u?p.jsx(cO,{markdown:r}):null,p.jsxs("div",{className:"question",children:[u?null:p.jsx("div",{className:"q-text",children:e.question}),p.jsx("div",{className:"q-options",children:e.options.map(d=>p.jsxs("button",{type:"button",className:"option-btn","data-on":d.selected?"true":"false","data-sending":i===d.key?"true":void 0,disabled:l,onClick:()=>a(d.key),children:[p.jsxs("span",{className:"option-label",children:[d.key,". ",d.label]}),i===d.key?p.jsxs("span",{className:"option-sending","aria-live":"polite",children:[p.jsx("span",{className:"working-spinner","aria-hidden":"true"})," sending…"]}):null]},d.key))})]})]}),p.jsxs("div",{className:"modal-foot",children:[p.jsx("button",{type:"button",className:"btn-secondary",disabled:l,onClick:()=>a("Escape"),children:"cancel (Esc)"}),p.jsx("span",{className:"modal-foot-spacer"}),l?p.jsx("span",{className:"prompt-status",children:"submitting your answer…"}):null]})]})})}const fO={UserMessage:zd,AssistantMessage:ii,SystemMessage:ii};function hO({messages:e}){const t=g.useMemo(()=>jx(e),[e]),n=nd({messages:t,isDisabled:!0,convertMessage:r=>r,onNew:async()=>{}});return p.jsx(ad,{runtime:n,children:p.jsx(Ot.Root,{className:"sa-thread-root",children:p.jsxs(Ot.Viewport,{className:"sa-thread-viewport",autoScroll:!0,children:[p.jsx(Ot.Empty,{children:p.jsx("div",{className:"thread-empty",children:"no output yet…"})}),p.jsx(Ot.Messages,{components:fO})]})})})}const pO={active:"Active",completed:"Completed",all:"All"};function Yp({agent:e}){return p.jsxs(p.Fragment,{children:[p.jsx("span",{className:"sa-dot","data-status":e.status,"aria-hidden":"true"}),p.jsx("span",{className:"sa-type",children:e.agentType||"sub-agent"}),e.description?p.jsx("span",{className:"sa-desc",children:e.description}):null,p.jsx("span",{className:"sa-status",children:e.status==="running"?"· running":"· done"})]})}function mO({subagents:e,open:t,onClose:n}){const[r,i]=g.useState("active"),[s,o]=g.useState(null),a=e.filter(c=>c.status==="running").length,l={active:a,completed:e.length-a,all:e.length},u=s?e.find(c=>c.agentId===s)??null:null,d=g.useMemo(()=>e.filter(c=>r==="all"?!0:r==="active"?c.status==="running":c.status==="done"),[e,r]);return t?u?p.jsxs("div",{className:"sa-panel",role:"complementary","aria-label":"Sub-agent transcript",children:[p.jsxs("header",{className:"sa-panel-head",children:[p.jsx("button",{type:"button",className:"sa-back","aria-label":"Back to list",onClick:()=>o(null),children:"‹"}),p.jsx("span",{className:"sa-panel-title sa-detail-title",children:p.jsx(Yp,{agent:u})}),p.jsx("button",{type:"button",className:"sa-panel-close","aria-label":"Close",onClick:n,children:"×"})]}),p.jsx(hO,{messages:u.messages})]}):p.jsxs("div",{className:"sa-panel",role:"complementary","aria-label":"Sub-agents",children:[p.jsxs("header",{className:"sa-panel-head",children:[p.jsxs("span",{className:"sa-panel-title",children:["Sub-agents ",p.jsx("span",{className:"sa-count",children:e.length}),a?p.jsxs("span",{className:"sa-count-running",children:[a," running"]}):null]}),p.jsx("button",{type:"button",className:"sa-panel-close","aria-label":"Close sub-agents panel",onClick:n,children:"×"})]}),p.jsx("div",{className:"sa-tabs",role:"tablist",children:["active","completed","all"].map(c=>p.jsxs("button",{type:"button",role:"tab","aria-selected":r===c,className:"sa-tab","data-on":r===c?"true":void 0,onClick:()=>i(c),children:[pO[c],p.jsx("span",{className:"sa-tab-count",children:l[c]})]},c))}),p.jsx("div",{className:"sa-panel-body",children:d.length===0?p.jsxs("div",{className:"sa-empty",children:["No ",r==="all"?"":`${r} `,"sub-agents."]}):d.map(c=>p.jsxs("button",{type:"button",className:"sa-item-row",onClick:()=>o(c.agentId),children:[p.jsx(Yp,{agent:c}),p.jsx("span",{className:"sa-chevron","aria-hidden":"true",children:"›"})]},c.agentId))})]}):null}function gO(e){return(e.blocks??[]).filter(t=>t.kind==="text").map(t=>t.text).join(" ")}const yO=12e4,Kw="cc_drafts";function vO(){try{return JSON.parse(localStorage.getItem(Kw)||"{}")||{}}catch{return{}}}function xO(e){try{localStorage.setItem(Kw,JSON.stringify(e))}catch{}}const Jp=150,wO=150;function SO(e){return typeof e.content=="string"?e.content:e.content.filter(t=>t.type==="text").map(t=>t.text).join(`
|
|
76
|
+
`))}function l(h,m,w,E){const y=w.enter("tableCell"),v=w.enter("phrasing"),x=w.containerPhrasing(h,{...E,before:s,after:s});return v(),y(),x}function u(h,m){return ej(h,{align:m,alignDelimiters:r,padding:n,stringLength:i})}function d(h,m,w){const E=h.children;let y=-1;const v=[],x=m.enter("table");for(;++y<E.length;)v[y]=c(E[y],m,w);return x(),v}function c(h,m,w){const E=h.children;let y=-1;const v=[],x=m.enter("tableRow");for(;++y<E.length;)v[y]=l(E[y],h,m,w);return x(),v}function f(h,m,w){let E=Dw.inlineCode(h,m,w);return w.stack.includes("tableCell")&&(E=E.replace(/\|/g,"\\$&")),E}}function Uj(){return{exit:{taskListCheckValueChecked:$p,taskListCheckValueUnchecked:$p,paragraph:Vj}}}function $j(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:Hj}}}function $p(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function Vj(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const i=t.children;let s=-1,o;for(;++s<i.length;){const a=i[s];if(a.type==="paragraph"){o=a;break}}o===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function Hj(e,t,n,r){const i=e.children[0],s=typeof e.checked=="boolean"&&i&&i.type==="paragraph",o="["+(e.checked?"x":" ")+"] ",a=n.createTracker(r);s&&a.move(o);let l=Dw.listItem(e,t,n,{...r,...a.current()});return s&&(l=l.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,u)),l;function u(d){return d+o}}function Wj(){return[kN(),HN(),QN(),jj(),Uj()]}function qj(e){return{extensions:[_N(),WN(e),GN(),Bj(e),$j()]}}const Kj={tokenize:Zj,partial:!0},Ow={tokenize:eD,partial:!0},Lw={tokenize:tD,partial:!0},zw={tokenize:nD,partial:!0},Qj={tokenize:rD,partial:!0},Fw={name:"wwwAutolink",tokenize:Jj,previous:Uw},Bw={name:"protocolAutolink",tokenize:Xj,previous:$w},gn={name:"emailAutolink",tokenize:Yj,previous:Vw},en={};function Gj(){return{text:en}}let Gn=48;for(;Gn<123;)en[Gn]=gn,Gn++,Gn===58?Gn=65:Gn===91&&(Gn=97);en[43]=gn;en[45]=gn;en[46]=gn;en[95]=gn;en[72]=[gn,Bw];en[104]=[gn,Bw];en[87]=[gn,Fw];en[119]=[gn,Fw];function Yj(e,t,n){const r=this;let i,s;return o;function o(c){return!Ju(c)||!Vw.call(r,r.previous)||Ld(r.events)?n(c):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),a(c))}function a(c){return Ju(c)?(e.consume(c),a):c===64?(e.consume(c),l):n(c)}function l(c){return c===46?e.check(Qj,d,u)(c):c===45||c===95||Ve(c)?(s=!0,e.consume(c),l):d(c)}function u(c){return e.consume(c),i=!0,l}function d(c){return s&&i&&Qe(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(c)):n(c)}}function Jj(e,t,n){const r=this;return i;function i(o){return o!==87&&o!==119||!Uw.call(r,r.previous)||Ld(r.events)?n(o):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(Kj,e.attempt(Ow,e.attempt(Lw,s),n),n)(o))}function s(o){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(o)}}function Xj(e,t,n){const r=this;let i="",s=!1;return o;function o(c){return(c===72||c===104)&&$w.call(r,r.previous)&&!Ld(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(c),e.consume(c),a):n(c)}function a(c){if(Qe(c)&&i.length<5)return i+=String.fromCodePoint(c),e.consume(c),a;if(c===58){const f=i.toLowerCase();if(f==="http"||f==="https")return e.consume(c),l}return n(c)}function l(c){return c===47?(e.consume(c),s?u:(s=!0,l)):n(c)}function u(c){return c===null||ia(c)||he(c)||hr(c)||Ma(c)?n(c):e.attempt(Ow,e.attempt(Lw,d),n)(c)}function d(c){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(c)}}function Zj(e,t,n){let r=0;return i;function i(o){return(o===87||o===119)&&r<3?(r++,e.consume(o),i):o===46&&r===3?(e.consume(o),s):n(o)}function s(o){return o===null?n(o):t(o)}}function eD(e,t,n){let r,i,s;return o;function o(u){return u===46||u===95?e.check(zw,l,a)(u):u===null||he(u)||hr(u)||u!==45&&Ma(u)?l(u):(s=!0,e.consume(u),o)}function a(u){return u===95?r=!0:(i=r,r=void 0),e.consume(u),o}function l(u){return i||r||!s?n(u):t(u)}}function tD(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r<n?s(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(zw,t,s)(o):o===null||he(o)||hr(o)?t(o):(e.consume(o),i)}function s(o){return o===41&&r++,e.consume(o),i}}function nD(e,t,n){return r;function r(a){return a===33||a===34||a===39||a===41||a===42||a===44||a===46||a===58||a===59||a===63||a===95||a===126?(e.consume(a),r):a===38?(e.consume(a),s):a===93?(e.consume(a),i):a===60||a===null||he(a)||hr(a)?t(a):n(a)}function i(a){return a===null||a===40||a===91||he(a)||hr(a)?t(a):r(a)}function s(a){return Qe(a)?o(a):n(a)}function o(a){return a===59?(e.consume(a),r):Qe(a)?(e.consume(a),o):n(a)}}function rD(e,t,n){return r;function r(s){return e.consume(s),i}function i(s){return Ve(s)?n(s):t(s)}}function Uw(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||he(e)}function $w(e){return!Qe(e)}function Vw(e){return!(e===47||Ju(e))}function Ju(e){return e===43||e===45||e===46||e===95||Ve(e)}function Ld(e){let t=e.length,n=!1;for(;t--;){const r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const iD={tokenize:fD,partial:!0};function sD(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:uD,continuation:{tokenize:cD},exit:dD}},text:{91:{name:"gfmFootnoteCall",tokenize:lD},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:oD,resolveTo:aD}}}}function oD(e,t,n){const r=this;let i=r.events.length;const s=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o;for(;i--;){const l=r.events[i][1];if(l.type==="labelImage"){o=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return a;function a(l){if(!o||!o._balanced)return n(l);const u=Ft(r.sliceSerialize({start:o.end,end:r.now()}));return u.codePointAt(0)!==94||!s.includes(u.slice(1))?n(l):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),t(l))}}function aD(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const s={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},a=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",s,t],["enter",o,t],["exit",o,t],["exit",s,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...a),e}function lD(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s=0,o;return a;function a(c){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),l}function l(c){return c!==94?n(c):(e.enter("gfmFootnoteCallMarker"),e.consume(c),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(c){if(s>999||c===93&&!o||c===null||c===91||he(c))return n(c);if(c===93){e.exit("chunkString");const f=e.exit("gfmFootnoteCallString");return i.includes(Ft(r.sliceSerialize(f)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(c)}return he(c)||(o=!0),s++,e.consume(c),c===92?d:u}function d(c){return c===91||c===92||c===93?(e.consume(c),s++,u):u(c)}}function uD(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s,o=0,a;return l;function l(m){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(m){return m===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):n(m)}function d(m){if(o>999||m===93&&!a||m===null||m===91||he(m))return n(m);if(m===93){e.exit("chunkString");const w=e.exit("gfmFootnoteDefinitionLabelString");return s=Ft(r.sliceSerialize(w)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),f}return he(m)||(a=!0),o++,e.consume(m),m===92?c:d}function c(m){return m===91||m===92||m===93?(e.consume(m),o++,d):d(m)}function f(m){return m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),i.includes(s)||i.push(s),oe(e,h,"gfmFootnoteDefinitionWhitespace")):n(m)}function h(m){return t(m)}}function cD(e,t,n){return e.check(Cs,t,e.attempt(iD,t,n))}function dD(e){e.exit("gfmFootnoteDefinition")}function fD(e,t,n){const r=this;return oe(e,i,"gfmFootnoteDefinitionIndent",5);function i(s){const o=r.events[r.events.length-1];return o&&o[1].type==="gfmFootnoteDefinitionIndent"&&o[2].sliceSerialize(o[1],!0).length===4?t(s):n(s)}}function hD(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:s,resolveAll:i};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(o,a){let l=-1;for(;++l<o.length;)if(o[l][0]==="enter"&&o[l][1].type==="strikethroughSequenceTemporary"&&o[l][1]._close){let u=l;for(;u--;)if(o[u][0]==="exit"&&o[u][1].type==="strikethroughSequenceTemporary"&&o[u][1]._open&&o[l][1].end.offset-o[l][1].start.offset===o[u][1].end.offset-o[u][1].start.offset){o[l][1].type="strikethroughSequence",o[u][1].type="strikethroughSequence";const d={type:"strikethrough",start:Object.assign({},o[u][1].start),end:Object.assign({},o[l][1].end)},c={type:"strikethroughText",start:Object.assign({},o[u][1].end),end:Object.assign({},o[l][1].start)},f=[["enter",d,a],["enter",o[u][1],a],["exit",o[u][1],a],["enter",c,a]],h=a.parser.constructs.insideSpan.null;h&&mt(f,f.length,0,Na(h,o.slice(u+1,l),a)),mt(f,f.length,0,[["exit",c,a],["enter",o[l][1],a],["exit",o[l][1],a],["exit",d,a]]),mt(o,u-1,l-u+3,f),l=u+f.length-2;break}}for(l=-1;++l<o.length;)o[l][1].type==="strikethroughSequenceTemporary"&&(o[l][1].type="data");return o}function s(o,a,l){const u=this.previous,d=this.events;let c=0;return f;function f(m){return u===126&&d[d.length-1][1].type!=="characterEscape"?l(m):(o.enter("strikethroughSequenceTemporary"),h(m))}function h(m){const w=ri(u);if(m===126)return c>1?l(m):(o.consume(m),c++,h);if(c<2&&!n)return l(m);const E=o.exit("strikethroughSequenceTemporary"),y=ri(m);return E._open=!y||y===2&&!!w,E._close=!w||w===2&&!!y,a(m)}}}class pD{constructor(){this.map=[]}add(t,n,r){mD(this,t,n,r)}consume(t){if(this.map.sort(function(s,o){return s[0]-o[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(const s of i)t.push(s);i=r.pop()}this.map.length=0}}function mD(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function gD(e,t){let n=!1;const r=[];for(;t<e.length;){const i=e[t];if(n){if(i[0]==="enter")i[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const s=r.length-1;r[s]=r[s]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function yD(){return{flow:{null:{name:"table",tokenize:vD,resolveAll:xD}}}}function vD(e,t,n){const r=this;let i=0,s=0,o;return a;function a(T){let L=r.events.length-1;for(;L>-1;){const ae=r.events[L][1].type;if(ae==="lineEnding"||ae==="linePrefix")L--;else break}const z=L>-1?r.events[L][1].type:null,Q=z==="tableHead"||z==="tableRow"?k:l;return Q===k&&r.parser.lazy[r.now().line]?n(T):Q(T)}function l(T){return e.enter("tableHead"),e.enter("tableRow"),u(T)}function u(T){return T===124||(o=!0,s+=1),d(T)}function d(T){return T===null?n(T):H(T)?s>1?(s=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(T),e.exit("lineEnding"),h):n(T):te(T)?oe(e,d,"whitespace")(T):(s+=1,o&&(o=!1,i+=1),T===124?(e.enter("tableCellDivider"),e.consume(T),e.exit("tableCellDivider"),o=!0,d):(e.enter("data"),c(T)))}function c(T){return T===null||T===124||he(T)?(e.exit("data"),d(T)):(e.consume(T),T===92?f:c)}function f(T){return T===92||T===124?(e.consume(T),c):c(T)}function h(T){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(T):(e.enter("tableDelimiterRow"),o=!1,te(T)?oe(e,m,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(T):m(T))}function m(T){return T===45||T===58?E(T):T===124?(o=!0,e.enter("tableCellDivider"),e.consume(T),e.exit("tableCellDivider"),w):I(T)}function w(T){return te(T)?oe(e,E,"whitespace")(T):E(T)}function E(T){return T===58?(s+=1,o=!0,e.enter("tableDelimiterMarker"),e.consume(T),e.exit("tableDelimiterMarker"),y):T===45?(s+=1,y(T)):T===null||H(T)?C(T):I(T)}function y(T){return T===45?(e.enter("tableDelimiterFiller"),v(T)):I(T)}function v(T){return T===45?(e.consume(T),v):T===58?(o=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(T),e.exit("tableDelimiterMarker"),x):(e.exit("tableDelimiterFiller"),x(T))}function x(T){return te(T)?oe(e,C,"whitespace")(T):C(T)}function C(T){return T===124?m(T):T===null||H(T)?!o||i!==s?I(T):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(T)):I(T)}function I(T){return n(T)}function k(T){return e.enter("tableRow"),M(T)}function M(T){return T===124?(e.enter("tableCellDivider"),e.consume(T),e.exit("tableCellDivider"),M):T===null||H(T)?(e.exit("tableRow"),t(T)):te(T)?oe(e,M,"whitespace")(T):(e.enter("data"),D(T))}function D(T){return T===null||T===124||he(T)?(e.exit("data"),M(T)):(e.consume(T),T===92?$:D)}function $(T){return T===92||T===124?(e.consume(T),D):D(T)}}function xD(e,t){let n=-1,r=!0,i=0,s=[0,0,0,0],o=[0,0,0,0],a=!1,l=0,u,d,c;const f=new pD;for(;++n<e.length;){const h=e[n],m=h[1];h[0]==="enter"?m.type==="tableHead"?(a=!1,l!==0&&(Vp(f,t,l,u,d),d=void 0,l=0),u={type:"table",start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[["enter",u,t]])):m.type==="tableRow"||m.type==="tableDelimiterRow"?(r=!0,c=void 0,s=[0,0,0,0],o=[0,n+1,0,0],a&&(a=!1,d={type:"tableBody",start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[["enter",d,t]])),i=m.type==="tableDelimiterRow"?2:d?3:1):i&&(m.type==="data"||m.type==="tableDelimiterMarker"||m.type==="tableDelimiterFiller")?(r=!1,o[2]===0&&(s[1]!==0&&(o[0]=o[1],c=no(f,t,s,i,void 0,c),s=[0,0,0,0]),o[2]=n)):m.type==="tableCellDivider"&&(r?r=!1:(s[1]!==0&&(o[0]=o[1],c=no(f,t,s,i,void 0,c)),s=o,o=[s[1],n,0,0])):m.type==="tableHead"?(a=!0,l=n):m.type==="tableRow"||m.type==="tableDelimiterRow"?(l=n,s[1]!==0?(o[0]=o[1],c=no(f,t,s,i,n,c)):o[1]!==0&&(c=no(f,t,o,i,n,c)),i=0):i&&(m.type==="data"||m.type==="tableDelimiterMarker"||m.type==="tableDelimiterFiller")&&(o[3]=n)}for(l!==0&&Vp(f,t,l,u,d),f.consume(t.events),n=-1;++n<t.events.length;){const h=t.events[n];h[0]==="enter"&&h[1].type==="table"&&(h[1]._align=gD(t.events,n))}return e}function no(e,t,n,r,i,s){const o=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",a="tableContent";n[0]!==0&&(s.end=Object.assign({},Cr(t.events,n[0])),e.add(n[0],0,[["exit",s,t]]));const l=Cr(t.events,n[1]);if(s={type:o,start:Object.assign({},l),end:Object.assign({},l)},e.add(n[1],0,[["enter",s,t]]),n[2]!==0){const u=Cr(t.events,n[2]),d=Cr(t.events,n[3]),c={type:a,start:Object.assign({},u),end:Object.assign({},d)};if(e.add(n[2],0,[["enter",c,t]]),r!==2){const f=t.events[n[2]],h=t.events[n[3]];if(f[1].end=Object.assign({},h[1].end),f[1].type="chunkText",f[1].contentType="text",n[3]>n[2]+1){const m=n[2]+1,w=n[3]-n[2]-1;e.add(m,w,[])}}e.add(n[3]+1,0,[["exit",c,t]])}return i!==void 0&&(s.end=Object.assign({},Cr(t.events,i)),e.add(i,0,[["exit",s,t]]),s=void 0),s}function Vp(e,t,n,r,i){const s=[],o=Cr(t.events,n);i&&(i.end=Object.assign({},o),s.push(["exit",i,t])),r.end=Object.assign({},o),s.push(["exit",r,t]),e.add(n+1,0,s)}function Cr(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const wD={name:"tasklistCheck",tokenize:bD};function SD(){return{text:{91:wD}}}function bD(e,t,n){const r=this;return i;function i(l){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(l):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),s)}function s(l){return he(l)?(e.enter("taskListCheckValueUnchecked"),e.consume(l),e.exit("taskListCheckValueUnchecked"),o):l===88||l===120?(e.enter("taskListCheckValueChecked"),e.consume(l),e.exit("taskListCheckValueChecked"),o):n(l)}function o(l){return l===93?(e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),a):n(l)}function a(l){return H(l)?t(l):te(l)?e.check({tokenize:kD},t,n)(l):n(l)}}function kD(e,t,n){return oe(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function _D(e){return Xx([Gj(),sD(),hD(e),yD(),SD()])}const CD={};function ED(e){const t=this,n=e||CD,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),s=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),o=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(_D(n)),s.push(Wj()),o.push(qj(n))}const TD="modulepreload",ID=function(e,t){return new URL(e,t).href},Hp={},Ht=function(t,n,r){let i=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),l=a?.nonce||a?.getAttribute("nonce");i=Promise.allSettled(n.map(u=>{if(u=ID(u,r),u in Hp)return;Hp[u]=!0;const d=u.endsWith(".css"),c=d?'[rel="stylesheet"]':"";if(!!r)for(let m=o.length-1;m>=0;m--){const w=o[m];if(w.href===u&&(!d||w.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${u}"]${c}`))return;const h=document.createElement("link");if(h.rel=d?"stylesheet":TD,d||(h.as="script"),h.crossOrigin="",h.href=u,l&&h.setAttribute("nonce",l),document.head.appendChild(h),d)return new Promise((m,w)=>{h.addEventListener("load",m),h.addEventListener("error",()=>w(new Error(`Unable to preload CSS for ${u}`)))})}))}function s(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return i.then(o=>{for(const a of o||[])a.status==="rejected"&&s(a.reason);return t().catch(s)})},RD={ts:"typescript",typescript:"typescript",tsx:"typescript",js:"javascript",javascript:"javascript",jsx:"javascript",mjs:"javascript",cjs:"javascript",json:"json",jsonc:"json",sh:"bash",bash:"bash",shell:"bash",zsh:"bash",py:"python",python:"python",diff:"diff",patch:"diff",md:"markdown",markdown:"markdown",html:"xml",xml:"xml",css:"css"};function Hw(e){return e?RD[e.trim().toLowerCase()]??null:null}let Nl=null;async function PD(){return Nl||(Nl=(async()=>{const{default:e}=await Ht(async()=>{const{default:d}=await import("./core-DaJeK6yF.js");return{default:d}},[],import.meta.url),[t,n,r,i,s,o,a,l,u]=await Promise.all([Ht(()=>import("./typescript-C2FFdlUC.js"),[],import.meta.url),Ht(()=>import("./javascript-BKRaQes9.js"),[],import.meta.url),Ht(()=>import("./json-DIYVocXf.js"),[],import.meta.url),Ht(()=>import("./bash-I8pq0VWm.js"),[],import.meta.url),Ht(()=>import("./python-sE43i1Pi.js"),[],import.meta.url),Ht(()=>import("./diff-DiTmLxSS.js"),[],import.meta.url),Ht(()=>import("./markdown-BrP960CR.js"),[],import.meta.url),Ht(()=>import("./xml-BXBhIUeX.js"),[],import.meta.url),Ht(()=>import("./css-DazXZka4.js"),[],import.meta.url)]);return e.registerLanguage("typescript",t.default),e.registerLanguage("javascript",n.default),e.registerLanguage("json",r.default),e.registerLanguage("bash",i.default),e.registerLanguage("python",s.default),e.registerLanguage("diff",o.default),e.registerLanguage("markdown",a.default),e.registerLanguage("xml",l.default),e.registerLanguage("css",u.default),e})()),Nl}async function AD(e,t){const n=Hw(e);if(!n)return null;try{const r=await PD(),{value:i}=r.highlight(t,{language:n,ignoreIllegals:!0});return i}catch{return null}}const MD=({language:e})=>e?p.jsx("div",{className:"aui-md-code-lang",children:e}):null,ND=({components:e,language:t,code:n})=>{const{Pre:r,Code:i}=e,s=Hw(t)!==null,[o,a]=g.useState(null);return g.useEffect(()=>{if(!s){a(null);return}let l=!0;return a(null),AD(t,n).then(u=>{l&&a(u)}).catch(()=>{l&&a(null)}),()=>{l=!1}},[s,t,n]),s&&o!=null?p.jsx(r,{children:p.jsx(i,{className:"hljs",dangerouslySetInnerHTML:{__html:o}})}):p.jsx(r,{children:p.jsx(i,{className:s?"hljs":void 0,children:n})})},jD=()=>p.jsx(yN,{className:"aui-md",remarkPlugins:[ED],components:{CodeHeader:MD,SyntaxHighlighter:ND}}),DD=g.memo(jD);function OD(e){const[t,n]=g.useState(null);return g.useEffect(()=>{let r=!1,i=null;return lt(VT(e)).then(s=>s.ok?s.blob():null).then(s=>{!s||r||(i=URL.createObjectURL(s),n(i))}).catch(()=>{}),()=>{r=!0,i&&URL.revokeObjectURL(i),n(null)}},[e]),t}const LD=new Set([".jpg",".jpeg",".png",".gif",".webp",".avif",".heic",".heif",".svg"]),Wp=/(?:^|\s)(\/[^\s]*\/\.claude-control\/uploads\/([^\s]+))/g;function zD(e){const t=[],n=new Set;let r;for(Wp.lastIndex=0;(r=Wp.exec(e))!==null;){const i=r[1].trim();if(n.has(i))continue;n.add(i);const s=r[2],o=s.slice(s.lastIndexOf(".")).toLowerCase();t.push({fullPath:i,basename:s,isImage:LD.has(o)})}return t}function FD({src:e,alt:t,onClose:n}){const r=g.useRef(null);g.useEffect(()=>{r.current?.focus()},[]);const i=g.useCallback(s=>{s.key==="Escape"&&(s.preventDefault(),n())},[n]);return p.jsx("div",{className:"lightbox-backdrop",role:"dialog","aria-modal":"true","aria-label":`Preview: ${t}`,ref:r,tabIndex:-1,onClick:n,onKeyDown:i,children:p.jsx("img",{className:"lightbox-img",src:e,alt:t,onClick:s=>s.stopPropagation()})})}function BD({ref_:e}){const[t,n]=g.useState(!1),r=OD(e.basename);return e.isImage?p.jsxs(p.Fragment,{children:[p.jsx("button",{type:"button",className:"transcript-thumb-btn","aria-label":`Preview ${e.basename}`,title:e.basename,onClick:()=>n(!0),children:r?p.jsx("img",{className:"transcript-thumb",src:r,alt:e.basename,loading:"lazy"}):p.jsx("span",{className:"transcript-thumb transcript-thumb-loading","aria-hidden":"true"})}),t&&r?p.jsx(FD,{src:r,alt:e.basename,onClose:()=>n(!1)}):null]}):p.jsxs("a",{className:"transcript-file-chip",href:r??void 0,download:e.basename,"aria-label":`Download ${e.basename}`,title:e.basename,"aria-disabled":r?void 0:!0,children:[p.jsx("span",{className:"chip-icon","aria-hidden":"true",children:"📎"}),p.jsx("span",{className:"chip-name",children:e.basename})]})}function UD({text:e}){const t=zD(e);return t.length===0?null:p.jsx("div",{className:"transcript-attachments","aria-label":"Attachments",children:t.map(n=>p.jsx(BD,{ref_:n},n.fullPath))})}const $D=/^\s*working…?\s*$/i,VD=e=>typeof e.text=="string"&&$D.test(e.text)?p.jsxs("span",{className:"working-indicator",role:"status","aria-live":"polite",children:[p.jsx("span",{className:"working-spinner","aria-hidden":"true"}),"Working…"]}):p.jsxs(p.Fragment,{children:[p.jsx(DD,{...e}),typeof e.text=="string"?p.jsx(UD,{text:e.text}):null]}),HD=({text:e})=>!e||!e.trim()?null:p.jsxs("details",{className:"block-thinking",children:[p.jsx("summary",{children:"thinking"}),p.jsx("div",{className:"thinking-text",children:e})]});function WD(e){const t=eI(e);if(t==null||typeof t=="object"&&Object.keys(t).length===0)return"";try{return JSON.stringify(t,null,2)}catch{return String(t)}}const qD=({toolName:e,args:t,result:n})=>{const r=ZT(t),i=WD(t),s=tI(n),o=i.length>0||s!=null,a=p.jsxs("span",{className:"tool-head",children:[p.jsx("span",{className:"tool-arrow","aria-hidden":"true",children:"▸"}),p.jsx("span",{className:"tool-name",children:e}),r?p.jsxs(p.Fragment,{children:[p.jsx("span",{className:"tool-sep",children:"—"}),p.jsx("span",{className:"tool-input",children:r})]}):null]});return o?p.jsxs("details",{className:"block-tool",children:[p.jsx("summary",{className:"block-tool-use",children:a}),p.jsxs("div",{className:"block-tool-body",children:[i?p.jsx("pre",{className:"block-tool-args",children:i}):null,s!=null?p.jsx("div",{className:"block-tool-result","data-error":s.isError?"true":"false",children:s.text}):null]})]}):p.jsx("div",{className:"block-tool",children:p.jsx("div",{className:"block-tool-use",children:a})})},Ww={Text:VD,Reasoning:HD,tools:{Fallback:qD}};function zd(){return p.jsxs(ea.Root,{className:"msg-row","data-role":"user",children:[p.jsx("div",{className:"msg-role",children:"user"}),p.jsx("div",{className:"msg-body",children:p.jsx(ea.Parts,{components:Ww})})]})}function ii(){const e=b1(t=>t.metadata?.custom?.cockpitRole)??"assistant";return p.jsxs(ea.Root,{className:"msg-row","data-role":e,children:[p.jsx("div",{className:"msg-role",children:e}),p.jsx("div",{className:"msg-body",children:p.jsx(ea.Parts,{components:Ww})})]})}function KD({file:e}){const[t,n]=g.useState(null);return g.useEffect(()=>{const r=URL.createObjectURL(e);return n(r),()=>URL.revokeObjectURL(r)},[e]),t?p.jsx("img",{className:"chip-thumb",src:t,alt:"",role:"button",tabIndex:0,title:"Open preview",onClick:()=>window.open(t,"_blank","noopener"),onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),window.open(t,"_blank","noopener"))}}):p.jsx("div",{className:"chip-thumb chip-thumb-empty"})}function QD({attachment:e}){const t=e.type==="image",n=e.status.type==="running";return p.jsxs(Ah.Root,{className:"attach-chip","data-pending":n,children:[t&&e.file?p.jsx(KD,{file:e.file}):p.jsx("span",{className:"chip-icon","aria-hidden":"true",children:e.type==="document"?"📄":"📎"}),p.jsx("span",{className:"chip-name",title:e.name,children:e.name}),n?p.jsx("span",{className:"chip-spinner","aria-hidden":"true"}):null,p.jsx(Ah.Remove,{className:"chip-remove","aria-label":`Remove ${e.name}`,children:"×"})]})}function qw({disabled:e}){const t=w1();return p.jsxs(_i.Root,{className:"composer",children:[p.jsx("div",{className:"composer-attachments",children:p.jsx(_i.Attachments,{children:({attachment:n})=>p.jsx(QD,{attachment:n})})}),p.jsxs("div",{className:"composer-row",children:[p.jsx(_i.AddAttachment,{className:"composer-attach","aria-label":"Attach a file",title:"Attach a file",multiple:!0,disabled:e,children:"📎"}),p.jsx(_i.Input,{className:"composer-input",placeholder:e?"select a session…":"reply… (⌘/Ctrl+↵ to send · Enter = newline)",submitOnEnter:!1,onKeyDown:n=>{n.key==="Enter"&&(n.metaKey||n.ctrlKey)&&(n.preventDefault(),e||t.send())},rows:1,disabled:e,autoComplete:"off"}),p.jsx(_i.Send,{className:"composer-send","aria-label":"Send reply",disabled:e,children:"↑"})]})]})}const GD={UserMessage:zd,AssistantMessage:ii,SystemMessage:ii};function YD({hasSelection:e,hiddenCount:t,onLoadEarlier:n}){return p.jsxs(Ot.Root,{className:"thread-root",children:[p.jsxs(Ot.Viewport,{className:"thread-viewport",autoScroll:!0,children:[e?p.jsx(Ot.Empty,{children:p.jsx("div",{className:"thread-empty",children:"no messages yet"})}):p.jsx("div",{className:"thread-empty",children:"select a session"}),e&&t>0?p.jsxs("button",{type:"button",className:"load-earlier",onClick:n,children:["Load earlier messages (",t," hidden)"]}):null,p.jsx(Ot.Messages,{components:GD})]}),p.jsx(qw,{disabled:!e})]})}const qp=200,JD=2e3;function XD({sessionId:e,capture:t,requestCapture:n,clearCapture:r}){const i=g.useRef(null),s=g.useRef(!0);g.useEffect(()=>{n(qp);const a=setInterval(()=>n(qp),JD);return()=>{clearInterval(a),r()}},[e,n,r]),g.useLayoutEffect(()=>{const a=i.current;a&&s.current&&(a.scrollTop=a.scrollHeight)},[t]);const o=()=>{const a=i.current;a&&(s.current=a.scrollHeight-a.scrollTop-a.clientHeight<24)};return p.jsxs("div",{className:"live-pane",children:[p.jsx("div",{className:"live-pane-head",children:"live pane (no transcript)"}),p.jsx("pre",{className:"live-pane-body",ref:i,onScroll:o,children:t??"capturing live pane…"})]})}function Kp(e){return e.questions.map(()=>new Set)}function ZD({pending:e,capture:t,onAnswer:n,onCapture:r,onClose:i}){const[s,o]=g.useState(()=>Kp(e)),a=g.useRef(null),l=g.useRef(null);g.useEffect(()=>{o(Kp(e))},[e]),g.useEffect(()=>(l.current=document.activeElement,(a.current?.querySelector("button:not([disabled]), [tabindex]")??a.current)?.focus(),()=>{l.current?.focus?.()}),[]);const u=g.useMemo(()=>s.length>0&&s.every(h=>h.size>0),[s]),d=(h,m,w)=>{o(E=>{const y=E.map(x=>new Set(x)),v=y[h];return w?v.has(m)?v.delete(m):v.add(m):y[h]=new Set([m]),y})},c=h=>{if(h.key==="Escape"){h.preventDefault(),i();return}if(h.key!=="Tab")return;const m=a.current?.querySelectorAll('button:not([disabled]), [tabindex="0"]');if(!m||m.length===0)return;const w=m[0],E=m[m.length-1];h.shiftKey&&document.activeElement===w?(h.preventDefault(),E.focus()):!h.shiftKey&&document.activeElement===E&&(h.preventDefault(),w.focus())},f=()=>{u&&n(e.toolUseId,s.map(h=>[...h]))};return p.jsx("div",{className:"modal-backdrop",onClick:h=>{h.target===h.currentTarget&&i()},children:p.jsxs("div",{ref:a,className:"modal",role:"dialog","aria-modal":"true","aria-label":"Question from Claude",tabIndex:-1,onKeyDown:c,children:[p.jsxs("div",{className:"modal-head",children:[p.jsx("span",{className:"modal-title",children:"Claude is asking"}),p.jsx("button",{type:"button",className:"modal-close","aria-label":"Close",onClick:i,children:"✕"})]}),p.jsxs("div",{className:"modal-body",children:[e.questions.map((h,m)=>p.jsxs("div",{className:"question",children:[h.header?p.jsx("div",{className:"q-header",children:h.header}):null,p.jsx("div",{className:"q-text",children:h.question}),h.multiSelect?p.jsx("div",{className:"q-hint",children:"select one or more"}):null,p.jsx("div",{className:"q-options",children:h.options.map(w=>{const E=s[m]?.has(w.label);return p.jsxs("button",{type:"button",className:"option-btn","data-on":E?"true":"false","aria-pressed":E,onClick:()=>d(m,w.label,!!h.multiSelect),children:[p.jsx("span",{className:"option-label",children:w.label}),w.description?p.jsx("span",{className:"option-desc",children:w.description}):null]},w.label)})})]},m)),t!=null?p.jsx("pre",{className:"capture-output",children:t}):null]}),p.jsxs("div",{className:"modal-foot",children:[p.jsx("button",{type:"button",className:"btn-secondary",onClick:r,children:"show terminal"}),p.jsx("span",{className:"modal-foot-spacer"}),p.jsx("button",{type:"button",className:"btn-secondary",onClick:i,children:"cancel"}),p.jsx("button",{type:"button",className:"btn-primary",disabled:!u,onClick:f,children:"send answer"})]})]})})}function eO({toast:e}){const[t,n]=g.useState(!1);return g.useEffect(()=>{if(!e)return;n(!0);const r=setTimeout(()=>n(!1),2200);return()=>clearTimeout(r)},[e]),e?p.jsx("div",{className:`toast ${t?"show":""} ${e.kind?`toast-${e.kind}`:""}`,role:"status","aria-live":"polite",children:e.text}):null}const Qp="claude-control-update-dismissed";function tO(e){if(e.latest&&e.latest!==e.current)return`Update available — v${e.latest} (you’re on v${e.current}).`;const t=e.behind||1;return`Update available — ${t} new commit${t===1?"":"s"} (v${e.current}).`}function nO(){const[e,t]=g.useState(null),[n,r]=g.useState(!1);return g.useEffect(()=>{let i=!0;return Nx().then(s=>{if(!i||!s?.updateAvailable)return;const o=s.latest??`behind-${s.behind??0}`;localStorage.getItem(Qp)!==o&&t({current:s.current,latest:s.latest,behind:s.behind??0})}),()=>{i=!1}},[]),e?n?p.jsx("div",{className:"update-banner",role:"status",children:p.jsx("span",{children:"Updating… the page will reconnect shortly."})}):p.jsxs("div",{className:"update-banner",role:"status",children:[p.jsx("span",{children:tO(e)}),p.jsxs("span",{className:"update-actions",children:[p.jsx("button",{type:"button",className:"update-now",onClick:()=>{r(!0),DT()},children:"Update now"}),p.jsx("button",{type:"button",className:"update-dismiss","aria-label":"Dismiss update notice",onClick:()=>{localStorage.setItem(Qp,e.latest??`behind-${e.behind}`),t(null)},children:"×"})]})]}):null}function rO({onClose:e,onToast:t}){const[n,r]=g.useState(""),[i,s]=g.useState(""),[o,a]=g.useState(!0),[l,u]=g.useState(!1),[d,c]=g.useState(null);g.useEffect(()=>{let h=!0;return Nx().then(m=>h&&m&&c(m)).catch(()=>{}),()=>{h=!1}},[]),g.useEffect(()=>{let h=!0;return FT().then(m=>{h&&(r(m.launchCommand),s(m.defaultCwd))}).catch(m=>t(`Load config failed: ${m.message}`,"error")).finally(()=>{h&&a(!1)}),()=>{h=!1}},[t]),g.useEffect(()=>{const h=m=>{m.key==="Escape"&&e()};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[e]);const f=async()=>{u(!0);try{const h=await BT({launchCommand:n,defaultCwd:i});r(h.launchCommand),s(h.defaultCwd),t("Config saved","ok"),e()}catch(h){t(`Save failed: ${h.message}`,"error")}finally{u(!1)}};return p.jsx("div",{className:"config-overlay",role:"presentation",onClick:h=>{h.target===h.currentTarget&&e()},children:p.jsxs("div",{className:"config-modal",role:"dialog","aria-modal":"true","aria-label":"Settings",children:[p.jsxs("div",{className:"config-head",children:[p.jsx("span",{className:"config-title",children:"Settings"}),p.jsx("button",{type:"button",className:"config-close","aria-label":"Close settings",onClick:e,children:"×"})]}),p.jsxs("label",{className:"config-field",children:[p.jsx("span",{className:"config-label",children:"Launch command"}),p.jsx("input",{className:"config-input",type:"text",placeholder:"claude",value:n,disabled:o,onChange:h=>r(h.target.value),autoCapitalize:"off",autoCorrect:"off",spellCheck:!1}),p.jsxs("span",{className:"config-hint",children:["Run in each new session's pane (e.g. ",p.jsx("code",{children:"yolo"})," or"," ",p.jsx("code",{children:"claude --flags"}),")."]})]}),p.jsxs("label",{className:"config-field",children:[p.jsx("span",{className:"config-label",children:"Default cwd"}),p.jsx("input",{className:"config-input",type:"text",value:i,disabled:o,onChange:h=>s(h.target.value),autoCapitalize:"off",autoCorrect:"off",spellCheck:!1}),p.jsx("span",{className:"config-hint",children:"Must be an existing directory. New sessions start here."})]}),p.jsx("div",{className:"config-version",children:d?p.jsxs(p.Fragment,{children:[p.jsxs("span",{children:["claude-control v",d.current]}),d.updateAvailable&&d.latest?p.jsxs("span",{className:"config-version-update",children:["· update available: v",d.latest]}):null]}):null}),p.jsxs("div",{className:"config-actions",children:[p.jsx("button",{type:"button",className:"config-cancel",onClick:e,disabled:l,children:"Cancel"}),p.jsx("button",{type:"button",className:"config-save",onClick:f,disabled:o||l,children:l?"Saving…":"Save"})]})]})})}function Gp(e=Date.now()){return`session-${e.toString(36).slice(-6)}`}function iO({onToast:e,onOpenSettings:t}){const[n,r]=g.useState(!1),[i,s]=g.useState(""),[o,a]=g.useState(!1),[l,u]=g.useState(Gp),d=g.useRef(null);g.useEffect(()=>{n&&(u(Gp()),d.current?.focus())},[n]);const c=g.useCallback(()=>{r(!1),s("")},[]),f=g.useCallback(async()=>{if(o)return;a(!0);const h=i.trim()||l;e("Creating session…");try{const m=await UT({name:h});e(`Session created → ${m.name}`,"ok"),c()}catch(m){e(`New session failed: ${m.message}`,"error")}finally{a(!1)}},[o,i,l,e,c]);return n?p.jsxs("form",{className:"rail-new-form","aria-label":"Create session",onSubmit:h=>{h.preventDefault(),f()},children:[p.jsx("input",{ref:d,className:"rail-new-name",type:"text",value:i,placeholder:l,disabled:o,onChange:h=>s(h.target.value),onKeyDown:h=>{h.key==="Escape"&&(h.preventDefault(),c())},"aria-label":"Session name",autoCapitalize:"off",autoCorrect:"off",spellCheck:!1}),p.jsxs("div",{className:"rail-new-actions",children:[p.jsx("button",{type:"button",className:"rail-new-cancel",onClick:c,disabled:o,children:"Cancel"}),p.jsx("button",{type:"submit",className:"rail-new-create",disabled:o,children:o?"Creating…":"Create"})]})]}):p.jsxs("div",{className:"rail-head",children:[p.jsx("button",{type:"button",className:"rail-new",onClick:()=>r(!0),children:"+ New session"}),p.jsx("button",{type:"button",className:"rail-gear","aria-label":"Settings",title:"Settings",onClick:t,children:"⚙"})]})}function sO({sessionId:e,label:t,onClose:n}){const r=AT(e),i=g.useRef(null);return g.useEffect(()=>{i.current?.focus();const s=o=>{o.key==="Escape"&&n()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[n]),p.jsxs("div",{className:"term-overlay",role:"dialog","aria-modal":"true","aria-label":`Raw terminal — ${t}`,children:[p.jsxs("header",{className:"term-head",children:[p.jsxs("span",{className:"term-title",children:[p.jsx("span",{"aria-hidden":"true",children:"⛶"})," ",t]}),p.jsxs("span",{className:"term-actions",children:[p.jsx("a",{className:"term-newtab",href:r,target:"_blank",rel:"noopener noreferrer",title:"Open in a new tab",children:"↗ New tab"}),p.jsx("button",{ref:i,type:"button",className:"term-close","aria-label":"Close terminal",onClick:n,children:"✕"})]})]}),p.jsx("iframe",{className:"term-frame",src:r,title:`Raw terminal for ${t}`})]})}function oO({children:e}){const[t,n]=g.useState("probing"),[r,i]=g.useState(null),[s,o]=g.useState(""),a=g.useCallback(async()=>{try{return(await lt("/api/health")).ok?(n("authed"),i(null),!0):!1}catch{return i("Cannot reach the server. Check the connection and retry."),!1}},[]);g.useEffect(()=>{let u=!1;return(async()=>{const d=await a();u||d||n("needs-token")})(),()=>{u=!0}},[a]),g.useEffect(()=>RT(()=>{n("needs-token"),o(""),i("Session expired — enter your access token again.")}),[]);const l=g.useCallback(async u=>{u.preventDefault();const d=s.trim();if(!d){i("Enter an access token.");return}n("submitting"),i(null),Px(d),await a()||(Ax(),n("needs-token"),i("Invalid token."))},[s,a]);return t==="authed"?p.jsx(p.Fragment,{children:e}):t==="probing"?p.jsx("div",{className:"gate-root",role:"status","aria-live":"polite",children:p.jsxs("div",{className:"gate-card gate-card--probing",children:[p.jsx("span",{className:"gate-spinner","aria-hidden":"true"}),p.jsx("span",{className:"gate-probing-text",children:"Connecting…"})]})}):(Pa(),p.jsx("div",{className:"gate-root",children:p.jsxs("form",{className:"gate-card",onSubmit:l,"aria-label":"Sign in",children:[p.jsxs("div",{className:"gate-brand",children:[p.jsx("span",{className:"gate-glyph","aria-hidden":"true",children:"◧"}),p.jsx("span",{className:"gate-title",children:"claude control"})]}),p.jsx("label",{className:"gate-label",htmlFor:"gate-token",children:"Access token"}),p.jsx("input",{id:"gate-token",className:"gate-input",type:"password",autoComplete:"current-password",autoFocus:!0,spellCheck:!1,value:s,onChange:u=>{o(u.target.value),r&&i(null)},"aria-invalid":r?!0:void 0,"aria-describedby":r?"gate-error":void 0,placeholder:"••••••••••••"}),r?p.jsx("p",{id:"gate-error",className:"gate-error",role:"alert",children:r}):null,p.jsx("button",{type:"submit",className:"gate-submit",disabled:t==="submitting",children:t==="submitting"?"Connecting…":"Connect"})]})}))}function aO(e){if(!e)return"";const t=Date.parse(e);return Number.isNaN(t)?"":new Date(t).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function lO({session:e,onClose:t,onToast:n,onPinned:r}){const[i,s]=g.useState(null),[o,a]=g.useState(""),[l,u]=g.useState(!1);g.useEffect(()=>{let f=!0;return jT().then(h=>f&&s(h)).catch(h=>{f&&(s([]),n(`Couldn't load transcripts: ${h.message}`,"error"))}),()=>{f=!1}},[n]);const d=g.useMemo(()=>{if(!i)return[];const f=o.trim().toLowerCase();return f?i.filter(h=>[h.title,h.cwd,h.sessionId].some(m=>m?.toLowerCase().includes(f))):i},[i,o]),c=async f=>{if(!l){u(!0);try{await NT(e.id,f),n(f?"Pinned →":"Unpinned","ok"),r(),t()}catch(h){n(`Pin failed: ${h.message}`,"error")}finally{u(!1)}}};return p.jsx("div",{className:"modal-backdrop",role:"dialog","aria-modal":"true",onClick:t,children:p.jsxs("div",{className:"modal pin-modal",onClick:f=>f.stopPropagation(),children:[p.jsxs("header",{className:"modal-head",children:[p.jsxs("span",{className:"modal-title",children:["Pin transcript — ",e.name||e.id]}),p.jsx("button",{type:"button",className:"modal-close","aria-label":"Close",onClick:t,children:"×"})]}),e.pinned?p.jsx("button",{type:"button",className:"pin-unpin",disabled:l,onClick:()=>c(null),children:"Unpin (return to auto-match)"}):null,p.jsx("input",{className:"pin-search",type:"text",placeholder:"filter by title, cwd, or session id…",value:o,onChange:f=>a(f.target.value),autoFocus:!0}),p.jsx("div",{className:"pin-list",children:i===null?p.jsx("div",{className:"pin-empty",children:"loading…"}):d.length===0?p.jsx("div",{className:"pin-empty",children:"no transcripts match"}):d.map(f=>{const h=f.transcriptPath===e.transcriptPath;return p.jsxs("button",{type:"button",className:"pin-row","data-current":h?"true":void 0,disabled:l,onClick:()=>c(f.transcriptPath),children:[p.jsxs("span",{className:"pin-row-title",children:[f.title||f.sessionId||f.transcriptPath,h?p.jsx("span",{className:"pin-row-cur",children:" · current"}):null]}),p.jsxs("span",{className:"pin-row-meta",children:[f.cwd?p.jsx("span",{className:"pin-row-cwd",children:f.cwd}):null,p.jsx("span",{className:"pin-row-when",children:aO(f.lastActivity)})]})]},f.transcriptPath)})})]})})}const uO={UserMessage:zd,AssistantMessage:ii,SystemMessage:ii};function cO({markdown:e}){const t=g.useMemo(()=>[{role:"assistant",id:"plan",content:[{type:"text",text:e}],metadata:{custom:{cockpitRole:"assistant"}}}],[e]),n=nd({messages:t,isDisabled:!0,convertMessage:r=>r,onNew:async()=>{}});return p.jsx(ad,{runtime:n,children:p.jsx(Ot.Root,{className:"plan-review",children:p.jsx(Ot.Viewport,{className:"plan-review-viewport",children:p.jsx(Ot.Messages,{components:uO})})})})}function dO({prompt:e,onKey:t,onClose:n,planMarkdown:r}){const[i,s]=g.useState(null),o=JSON.stringify(e);g.useEffect(()=>{s(null)},[o]);const a=d=>{i||(s(d),t(d))};g.useEffect(()=>{const d=c=>{c.key==="Escape"&&(c.preventDefault(),n())};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[n]);const l=i!==null,u=!!r;return p.jsx("div",{className:"modal-backdrop",onClick:d=>{d.target===d.currentTarget&&!l&&n()},children:p.jsxs("div",{className:u?"modal modal-plan":"modal",role:"dialog","aria-modal":"true","aria-label":u?"Review plan":"Terminal prompt",children:[p.jsxs("div",{className:"modal-head",children:[p.jsx("span",{className:"modal-title",children:u?"Review plan":"Claude needs a choice"}),p.jsx("button",{type:"button",className:"modal-close","aria-label":"Hide",onClick:n,children:"✕"})]}),p.jsxs("div",{className:"modal-body",children:[u?p.jsx(cO,{markdown:r}):null,p.jsxs("div",{className:"question",children:[u?null:p.jsx("div",{className:"q-text",children:e.question}),p.jsx("div",{className:"q-options",children:e.options.map(d=>p.jsxs("button",{type:"button",className:"option-btn","data-on":d.selected?"true":"false","data-sending":i===d.key?"true":void 0,disabled:l,onClick:()=>a(d.key),children:[p.jsxs("span",{className:"option-label",children:[d.key,". ",d.label]}),i===d.key?p.jsxs("span",{className:"option-sending","aria-live":"polite",children:[p.jsx("span",{className:"working-spinner","aria-hidden":"true"})," sending…"]}):null]},d.key))})]})]}),p.jsxs("div",{className:"modal-foot",children:[p.jsx("button",{type:"button",className:"btn-secondary",disabled:l,onClick:()=>a("Escape"),children:"cancel (Esc)"}),p.jsx("span",{className:"modal-foot-spacer"}),l?p.jsx("span",{className:"prompt-status",children:"submitting your answer…"}):null]})]})})}const fO={UserMessage:zd,AssistantMessage:ii,SystemMessage:ii};function hO({messages:e}){const t=g.useMemo(()=>jx(e),[e]),n=nd({messages:t,isDisabled:!0,convertMessage:r=>r,onNew:async()=>{}});return p.jsx(ad,{runtime:n,children:p.jsx(Ot.Root,{className:"sa-thread-root",children:p.jsxs(Ot.Viewport,{className:"sa-thread-viewport",autoScroll:!0,children:[p.jsx(Ot.Empty,{children:p.jsx("div",{className:"thread-empty",children:"no output yet…"})}),p.jsx(Ot.Messages,{components:fO})]})})})}const pO={active:"Active",completed:"Completed",all:"All"};function Yp({agent:e}){return p.jsxs(p.Fragment,{children:[p.jsx("span",{className:"sa-dot","data-status":e.status,"aria-hidden":"true"}),p.jsx("span",{className:"sa-type",children:e.agentType||"sub-agent"}),e.description?p.jsx("span",{className:"sa-desc",children:e.description}):null,p.jsx("span",{className:"sa-status",children:e.status==="running"?"· running":"· done"})]})}function mO({subagents:e,open:t,onClose:n}){const[r,i]=g.useState("active"),[s,o]=g.useState(null),a=e.filter(c=>c.status==="running").length,l={active:a,completed:e.length-a,all:e.length},u=s?e.find(c=>c.agentId===s)??null:null,d=g.useMemo(()=>e.filter(c=>r==="all"?!0:r==="active"?c.status==="running":c.status==="done"),[e,r]);return t?u?p.jsxs("div",{className:"sa-panel",role:"complementary","aria-label":"Sub-agent transcript",children:[p.jsxs("header",{className:"sa-panel-head",children:[p.jsx("button",{type:"button",className:"sa-back","aria-label":"Back to list",onClick:()=>o(null),children:"‹"}),p.jsx("span",{className:"sa-panel-title sa-detail-title",children:p.jsx(Yp,{agent:u})}),p.jsx("button",{type:"button",className:"sa-panel-close","aria-label":"Close",onClick:n,children:"×"})]}),p.jsx(hO,{messages:u.messages})]}):p.jsxs("div",{className:"sa-panel",role:"complementary","aria-label":"Sub-agents",children:[p.jsxs("header",{className:"sa-panel-head",children:[p.jsxs("span",{className:"sa-panel-title",children:["Sub-agents ",p.jsx("span",{className:"sa-count",children:e.length}),a?p.jsxs("span",{className:"sa-count-running",children:[a," running"]}):null]}),p.jsx("button",{type:"button",className:"sa-panel-close","aria-label":"Close sub-agents panel",onClick:n,children:"×"})]}),p.jsx("div",{className:"sa-tabs",role:"tablist",children:["active","completed","all"].map(c=>p.jsxs("button",{type:"button",role:"tab","aria-selected":r===c,className:"sa-tab","data-on":r===c?"true":void 0,onClick:()=>i(c),children:[pO[c],p.jsx("span",{className:"sa-tab-count",children:l[c]})]},c))}),p.jsx("div",{className:"sa-panel-body",children:d.length===0?p.jsxs("div",{className:"sa-empty",children:["No ",r==="all"?"":`${r} `,"sub-agents."]}):d.map(c=>p.jsxs("button",{type:"button",className:"sa-item-row",onClick:()=>o(c.agentId),children:[p.jsx(Yp,{agent:c}),p.jsx("span",{className:"sa-chevron","aria-hidden":"true",children:"›"})]},c.agentId))})]}):null}function gO(e){return(e.blocks??[]).filter(t=>t.kind==="text").map(t=>t.text).join(" ")}const yO=12e4,Kw="cc_drafts";function vO(){try{return JSON.parse(localStorage.getItem(Kw)||"{}")||{}}catch{return{}}}function xO(e){try{localStorage.setItem(Kw,JSON.stringify(e))}catch{}}const Jp=150,wO=150;function SO(e){return typeof e.content=="string"?e.content:e.content.filter(t=>t.type==="text").map(t=>t.text).join(`
|
|
77
77
|
`)}function bO(){const e=QT(),t=XT(),[n,r]=g.useState(null),i=g.useRef(0),s=g.useCallback((B,J="")=>{r({id:++i.current,text:B,kind:J})},[]);g.useEffect(()=>{const B=J=>{const ee=J.detail;ee.ok?ee.op==="answer"&&s("Answer sent →","ok"):s(`${ee.op} failed: ${ee.error??"error"}`,"error")};return window.addEventListener("cockpit:ack",B),()=>window.removeEventListener("cockpit:ack",B)},[s]);const o=g.useMemo(()=>uI(s),[s]),[a,l]=g.useState([]),u=g.useRef(0),[d,c]=g.useState(null),f=g.useCallback(async B=>{const J=SO(B).trim(),ee=(B.attachments??[]).map(et=>aI(et)).filter(et=>!!et),ke=[J,...ee].filter(Boolean).join(" ");if(!ke)return;const $t=e.sendReply(ke);if(s($t?"Sent →":"Not connected — reconnecting…",$t?"ok":"error"),$t&&e.selectedId){const et=J||(ee.length?`📎 ${ee.length} attachment(s)`:ke);l(Rt=>[...Rt,{key:++u.current,sessionId:e.selectedId,text:ke,label:et,at:Date.now()}])}},[e,s]),h=g.useRef({});g.useEffect(()=>{const B=e.selectedId;if(!B)return;const J=e.messages,ee=h.current[B],ke=ee==null?J.length:Math.min(ee,J.length);if(J.length>ke){const $t=[];for(let et=ke;et<J.length;et++){if(J[et].role!=="user")continue;const Rt=gO(J[et]).trim();Rt&&$t.push(Rt)}$t.length&&l(et=>{const Rt=[...et];for(const Ts of $t){const Is=Rt.findIndex(Rs=>Rs.sessionId===B&&Rs.text.trim()===Ts);Is>=0&&Rt.splice(Is,1)}return Rt})}h.current[B]=J.length},[e.selectedId,e.messages]),g.useEffect(()=>{if(a.length===0)return;const B=setInterval(()=>{const J=Date.now()-yO;l(ee=>ee.some(ke=>ke.at<J)?ee.filter(ke=>ke.at>=J):ee)},5e3);return()=>clearInterval(B)},[a.length]),g.useEffect(()=>{if(!d)return;if(e.selectedId!==d.sessionId||e.messages.length>d.baseCount){c(null);return}const B=setTimeout(()=>c(null),9e4);return()=>clearTimeout(B)},[d,e.selectedId,e.messages.length]);const[m,w]=g.useState(Jp);g.useEffect(()=>{w(Jp)},[e.selectedId]);const E=g.useMemo(()=>jx(e.messages),[e.messages]),y=Math.max(0,E.length-m),v=g.useMemo(()=>a.filter(B=>B.sessionId===e.selectedId),[a,e.selectedId]),x=g.useMemo(()=>{if(!e.prompt)return null;const B=e.messages;for(let J=B.length-1;J>=0;J--)for(const ee of B[J].blocks??[])if(ee.kind==="tool_use"&&ee.name==="ExitPlanMode"){const ke=ee.input?.plan;if(typeof ke=="string"&&ke.trim())return ke}return null},[e.prompt,e.messages]),C=g.useMemo(()=>{const B=y>0?E.slice(y):E.slice();for(const ee of v)B.push({role:"user",id:`queued-${ee.key}`,content:[{type:"text",text:ee.label}],metadata:{custom:{cockpitRole:"user",optimistic:!0}}});return(v.length>0||d!==null&&d.sessionId===e.selectedId)&&B.push({role:"assistant",id:"optimistic-working",content:[{type:"text",text:"Working…"}],metadata:{custom:{cockpitRole:"assistant",working:!0}}}),B},[E,y,e.selectedId,v,d]),I=g.useCallback(()=>{w(B=>B+wO)},[]),k=nd({messages:C,isDisabled:!e.selectedId,convertMessage:B=>B,onNew:f,adapters:{attachments:o}}),M=g.useRef(vO()),D=g.useRef(e.selectedId);g.useEffect(()=>{const B=k.thread.composer,J=()=>{const ee=D.current;if(!ee)return;const ke=B.getState().text??"";ke?M.current[ee]=ke:delete M.current[ee],xO(M.current)};return B.subscribe(J)},[k]),g.useEffect(()=>{const B=k.thread.composer,J=e.selectedId,ee=J?M.current[J]??"":"";D.current=J;try{B.reset(),ee&&B.setText(ee)}catch{}},[e.selectedId,k]);const[$,T]=g.useState(null),[L,z]=g.useState(!1),[Q,ae]=g.useState(null),[Y,W]=g.useState(!1),[Z,P]=g.useState(!1),[A,S]=g.useState(null);g.useEffect(()=>{W(!1),P(!1)},[e.selectedId]);const[V,q]=g.useState(null),b=g.useRef(null),Se=V!==null;g.useEffect(()=>{Se&&b.current?.select()},[Se]);const Xe=g.useCallback(async()=>{const B=e.selectedId,J=(V??"").trim();if(q(null),!(!B||!J))try{await $T(B,J),s("Renamed →","ok")}catch(ee){s(`rename failed: ${ee instanceof Error?ee.message:"error"}`,"error")}},[e.selectedId,V,s]),[ce,Ze]=g.useState(!0),wt=g.useCallback(B=>{e.select(B),Ze(!1),window.location.hash=encodeURIComponent(B)},[e]);g.useEffect(()=>{if(!("serviceWorker"in navigator))return;const B=J=>{const ee=J.data;ee?.type==="open-session"&&ee.id&&wt(ee.id)};return navigator.serviceWorker.addEventListener("message",B),()=>navigator.serviceWorker.removeEventListener("message",B)},[wt]);const yn=typeof window<"u"&&(window.matchMedia?.("(display-mode: standalone)").matches||navigator.standalone===!0),vn=t.iosHint&&!yn&&t.status!=="on",qn=g.useRef(!1);g.useEffect(()=>{const B=()=>{const J=decodeURIComponent(window.location.hash.replace(/^#/,""));J&&J!==e.selectedId&&e.sessions.some(ee=>ee.id===J)&&(e.select(J),Ze(!1))};return!qn.current&&e.sessions.length>0&&(qn.current=!0,B()),window.addEventListener("hashchange",B),()=>window.removeEventListener("hashchange",B)},[e,e.sessions,e.selectedId]);const Ae=e.sessions.find(B=>B.id===e.selectedId);return p.jsx(ad,{runtime:k,children:p.jsxs("div",{className:"app","data-detail":e.selectedId&&!ce?"open":"closed",children:[p.jsx(gI,{resources:e.resources,conn:e.conn,push:t}),p.jsx(nO,{}),vn?p.jsx("div",{className:"ios-push-hint",role:"note",children:"On iPhone/iPad, add this site to your Home Screen to receive push notifications."}):null,p.jsxs("div",{className:"app-body",children:[p.jsxs("aside",{className:"rail",children:[p.jsx(iO,{onToast:s,onOpenSettings:()=>z(!0)}),p.jsx(fI,{sessions:e.sessions,selectedId:e.selectedId,onSelect:wt})]}),p.jsxs("main",{className:"detail",children:[p.jsxs("header",{className:"detail-head",children:[p.jsx("button",{type:"button",className:"back-btn","aria-label":"Back to sessions",onClick:()=>Ze(!0),children:"‹"}),p.jsxs("div",{className:"detail-title",children:[V!==null?p.jsx("input",{ref:b,className:"detail-rename-input",type:"text",value:V,"aria-label":"Session name",onChange:B=>q(B.target.value),onKeyDown:B=>{B.key==="Enter"?(B.preventDefault(),Xe()):B.key==="Escape"&&(B.preventDefault(),q(null))},onBlur:()=>void Xe()}):p.jsxs("span",{className:"detail-name-row",children:[p.jsx("span",{className:"detail-name",children:Ae?.name||e.selectedId||"claude control"}),Ae?p.jsxs(p.Fragment,{children:[p.jsx("button",{type:"button",className:"rename-btn","aria-label":"Rename session",title:"Rename session",onClick:()=>q(Ae.name??Ae.id),children:"✎"}),p.jsx("button",{type:"button",className:"rename-btn term-btn","aria-label":"Open raw terminal",title:"Raw terminal",onClick:()=>ae(Ae.id),children:"⛶"}),p.jsx("button",{type:"button",className:"rename-btn pin-btn","aria-pressed":!!Ae.pinned,"aria-label":Ae.pinned?"Transcript pinned":"Pin a transcript",title:Ae.pinned?"Transcript pinned":"Pin a transcript",onClick:()=>W(!0),children:Ae.pinned?"📌":"📍"}),e.subagents.length>0?p.jsxs("button",{type:"button",className:"rename-btn agents-btn","aria-pressed":Z,title:"Sub-agents",onClick:()=>P(B=>!B),children:["🤖 ",e.subagents.length]}):null]}):null]}),Ae?.cwd?p.jsx("span",{className:"detail-cwd",children:Ae.cwd}):null]})]}),Ae&&!Ae.transcriptPath?p.jsxs("div",{className:"thread-root",children:[p.jsx(XD,{sessionId:Ae.id,capture:e.capture,requestCapture:e.requestCapture,clearCapture:e.clearCapture}),p.jsx(qw,{disabled:!1})]}):p.jsx(YD,{hasSelection:!!e.selectedId,hiddenCount:y,onLoadEarlier:I})]})]}),e.pending&&e.pending.toolUseId!==$?p.jsx(ZD,{pending:e.pending,capture:e.capture,onAnswer:(B,J)=>{e.sendAnswer(B,J),T(B),e.clearCapture(),e.selectedId&&c({sessionId:e.selectedId,baseCount:e.messages.length})},onCapture:e.requestCapture,onClose:()=>{T(e.pending?.toolUseId??null),e.clearCapture()}},e.pending.toolUseId):null,L?p.jsx(rO,{onClose:()=>z(!1),onToast:s}):null,Q?p.jsx(sO,{sessionId:Q,label:e.sessions.find(B=>B.id===Q)?.name??Q,onClose:()=>ae(null)},Q):null,p.jsx(mO,{subagents:e.subagents,open:Z&&e.subagents.length>0,onClose:()=>P(!1)}),Y&&Ae?p.jsx(lO,{session:Ae,onClose:()=>W(!1),onToast:s,onPinned:()=>e.resubscribe()}):null,e.prompt&&!e.pending&&JSON.stringify(e.prompt)!==A?p.jsx(dO,{prompt:e.prompt,planMarkdown:x,onKey:B=>e.sendPromptKey(B),onClose:()=>S(JSON.stringify(e.prompt))}):null,p.jsx(eO,{toast:n})]})})}function kO(){return p.jsx(oO,{children:p.jsx(bO,{})})}const Qw=document.getElementById("root");if(!Qw)throw new Error("#root not found");cy(Qw).render(p.jsx(g.StrictMode,{children:p.jsx(kO,{})}));export{ys as g};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--bg: oklch(16% .012 260);--bg-1: oklch(20% .014 260);--bg-2: oklch(24% .016 260);--bg-hover: oklch(27% .02 260);--line: oklch(32% .015 260);--text: oklch(92% .01 250);--text-dim: oklch(66% .012 250);--text-faint: oklch(52% .012 250);--accent: oklch(70% .15 250);--accent-2: oklch(74% .13 200);--amber: oklch(80% .16 80);--amber-bg: oklch(40% .1 80);--red: oklch(64% .2 25);--red-bg: oklch(30% .09 25);--green: oklch(72% .16 150);--user: oklch(34% .06 250);--txt-transcript: 12.5px;--txt-meta: 11px;--txt-composer: 16px;--hud-h: 34px;--radius: 10px;--ease: cubic-bezier(.16, 1, .3, 1);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--txt-transcript);line-height:1.45;-webkit-font-smoothing:antialiased;overscroll-behavior:none}.app{display:flex;flex-direction:column;height:100dvh}.hud{display:flex;align-items:center;gap:12px;height:var(--hud-h);padding:0 12px;padding-top:env(safe-area-inset-top);background:var(--bg-1);border-bottom:1px solid var(--line);font-size:var(--txt-meta);color:var(--text-dim);white-space:nowrap;overflow-x:auto;flex:0 0 auto;box-sizing:content-box}.hud[data-warn=true]{background:var(--amber-bg);color:var(--text)}.hud-brand{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--text);letter-spacing:.02em;flex:0 0 auto}.hud-group{display:inline-flex;gap:4px;align-items:baseline}.hud-k{color:var(--text-faint)}.hud-v{color:var(--text);font-variant-numeric:tabular-nums}.hud-warn-text{color:var(--amber);font-weight:600}.conn-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--text-faint)}.conn-connected{background:var(--green)}.conn-connecting{background:var(--amber)}.conn-disconnected{background:var(--red)}.app-body{flex:1 1 auto;display:flex;min-height:0}.rail{width:100%;overflow-y:auto;background:var(--bg);-webkit-overflow-scrolling:touch}.detail{display:none;flex-direction:column;min-width:0;width:100%}.app[data-detail=open] .rail{display:none}.app[data-detail=open] .detail{display:flex}@media (min-width: 760px){.rail{width:300px;flex:0 0 300px;border-right:1px solid var(--line)}.detail,.app[data-detail=open] .detail{display:flex}.app[data-detail=open] .rail,.app[data-detail=closed] .rail{display:block}.back-btn{display:none!important}}.session-list{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:4px}.session-item{padding:9px 11px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;background:var(--bg-1);transition:background var(--ease) .15s,border-color var(--ease) .15s}.session-item:hover{background:var(--bg-hover)}.session-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.session-item[data-selected=true]{border-color:var(--accent);background:var(--bg-2)}.session-top{display:flex;align-items:center;gap:7px}.active-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto;background:var(--text-faint)}.active-dot[data-on=true]{background:var(--green);box-shadow:0 0 6px var(--green)}.session-name{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.ask-badge{flex:0 0 auto;font-size:9.5px;font-weight:800;letter-spacing:.06em;padding:2px 6px;border-radius:6px;background:var(--amber-bg);color:var(--amber);animation:pulse 1.6s var(--ease) infinite}@keyframes pulse{50%{opacity:.55}}.session-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;font-size:var(--txt-meta);color:var(--text-dim);align-items:center}.meta-prov{font-variant-numeric:tabular-nums;color:var(--text-faint)}.meta-model{color:var(--accent-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.meta-ctx{font-variant-numeric:tabular-nums;padding:1px 5px;border-radius:5px;background:var(--bg-2);color:var(--text-dim)}.session-empty{list-style:none;padding:16px;color:var(--text-faint);text-align:center}.detail-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--bg-1);flex:0 0 auto}.back-btn{font-size:22px;line-height:1;background:none;border:none;color:var(--accent);padding:2px 8px;cursor:pointer;flex:0 0 auto}.detail-title{display:flex;flex-direction:column;min-width:0}.detail-name{font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-cwd{font-size:var(--txt-meta);color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-name-row{display:flex;align-items:center;gap:6px;min-width:0}.rename-btn{flex:0 0 auto;background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:12px;line-height:1;padding:2px 4px;border-radius:4px}.rename-btn:hover{color:var(--text);background:var(--bg-hover)}.detail-rename-input{width:100%;font-weight:700;font-size:13px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:3px 7px;outline:none}.detail-rename-input:focus{border-color:var(--accent)}.live-pane{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;padding:12px 12px 6px}.live-pane-head{flex:0 0 auto;font-size:var(--txt-meta);color:var(--text-faint);margin-bottom:6px}.live-pane-body{flex:1 1 auto;margin:0;padding:10px;border-radius:8px;background:var(--bg);border:1px solid var(--line);color:var(--text);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--txt-transcript);white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;-webkit-overflow-scrolling:touch}.thread-root{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.thread-viewport{flex:1 1 auto;overflow-y:auto;padding:12px 12px 6px;display:flex;flex-direction:column;gap:10px;-webkit-overflow-scrolling:touch}.thread-empty{margin:auto;color:var(--text-faint);text-align:center}.load-earlier{align-self:center;flex:0 0 auto;margin:2px 0 4px;padding:5px 12px;font:inherit;font-size:11.5px;color:var(--text-dim);background:var(--bg-2);border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:background .12s ease,color .12s ease}.load-earlier:hover{background:var(--bg-hover);color:var(--text)}.load-earlier:active{background:var(--line)}.msg-row{display:flex;flex-direction:column;gap:3px;max-width:92%}.msg-row[data-role=user]{align-self:flex-end;align-items:flex-end}.msg-role{font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);padding:0 2px}.msg-body{display:flex;flex-direction:column;gap:6px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;font-size:var(--txt-transcript)}.msg-row[data-role=user] .msg-body{background:var(--user);border-color:transparent}.msg-row[data-role=system] .msg-body{background:transparent;border-style:dashed;color:var(--text-dim)}.msg-row[data-queued=true]{opacity:.62}.msg-row[data-queued=true] .msg-body{border:1px dashed var(--line);background:transparent}.msg-row[data-queued=true] .msg-role{color:var(--accent, var(--text-dim))}.transcript-img{max-width:min(320px,100%);max-height:240px;border-radius:var(--radius);border:1px solid var(--line);cursor:zoom-in;display:block;object-fit:contain}.lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000000d1;padding:24px;cursor:zoom-out}.lightbox-img{max-width:100%;max-height:100%;border-radius:var(--radius);box-shadow:0 10px 40px #00000080;cursor:default}.lightbox-close{position:absolute;top:16px;right:20px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--bg-1);color:var(--text);font-size:22px;line-height:1;cursor:pointer}.login{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg, #0b0d10);padding:24px}.login-card{display:flex;flex-direction:column;gap:10px;width:min(340px,88vw)}.login-title{margin:0;font-size:18px;font-weight:700;letter-spacing:.02em}.login-sub{margin:0;font-size:13px;color:var(--text-dim)}.login-input{padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg-1);color:var(--text);font-size:16px}.login-err{min-height:16px;font-size:12px;color:#f87171}.login-btn{padding:12px 14px;border-radius:10px;border:0;background:var(--accent, #3b82f6);color:#fff;font-size:15px;font-weight:600;cursor:pointer}.login-btn:disabled{opacity:.55}.hud-logout{margin-left:8px;border:1px solid var(--line);background:transparent;color:var(--text-dim);border-radius:6px;padding:2px 7px;font-size:13px;cursor:pointer}.pin-modal{display:flex;flex-direction:column;gap:10px;max-height:80vh}.pin-search{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--bg-1);color:var(--text);font-size:14px}.pin-unpin{padding:8px 10px;border-radius:8px;cursor:pointer;border:1px solid var(--line);background:var(--bg-1);color:var(--text-dim);font-size:12px}.pin-list{overflow-y:auto;display:flex;flex-direction:column;gap:4px}.pin-empty{color:var(--text-faint);font-size:12px;padding:16px;text-align:center}.pin-row{display:flex;flex-direction:column;gap:2px;text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer;border:1px solid var(--line);background:var(--bg-1);color:var(--text)}.pin-row:hover,.pin-row[data-current=true]{border-color:var(--accent, #3b82f6)}.pin-row-title{font-size:13px;font-weight:600}.pin-row-cur{color:var(--accent, #3b82f6);font-weight:400}.pin-row-meta{display:flex;gap:8px;font-size:11px;color:var(--text-faint)}.pin-row-cwd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pin-row-when{margin-left:auto;white-space:nowrap}.pin-toggle{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--bg-1);font-size:14px;cursor:pointer}.pin-toggle[aria-pressed=true]{border-color:var(--accent, #3b82f6)}.pin-toggle+.subagents-toggle{margin-left:6px}.subagents-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;border:1px solid var(--line);background:var(--bg-1);color:var(--text-dim);font-size:12px;cursor:pointer}.subagents-toggle[aria-pressed=true]{color:var(--text);border-color:var(--accent, #3b82f6)}.subagents-badge{min-width:16px;padding:0 5px;border-radius:8px;background:var(--accent, #3b82f6);color:#fff;font-size:11px;text-align:center}.sa-panel{position:fixed;top:0;right:0;bottom:0;z-index:900;width:min(560px,100vw);display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--line);box-shadow:-12px 0 40px #0006}@media (min-width: 760px){.sa-panel{width:50vw;max-width:none}}.sa-panel-head{display:flex;align-items:center;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;border-bottom:1px solid var(--line)}.sa-panel-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.sa-count{padding:0 6px;border-radius:8px;background:var(--bg-1);color:var(--text-dim);font-size:11px}.sa-count-running{color:var(--accent, #3b82f6);font-size:11px}.sa-panel-close{margin-left:auto;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--bg-1);color:var(--text);font-size:18px;cursor:pointer}.sa-panel-body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.sa-empty{color:var(--text-faint);font-size:12px;padding:16px}.sa-tabs{display:flex;gap:6px;padding:8px 10px;border-bottom:1px solid var(--line)}.sa-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 8px;border-radius:8px;border:1px solid var(--line);background:var(--bg-1);color:var(--text-dim);font-size:12px;cursor:pointer}.sa-tab[data-on=true]{color:var(--text);border-color:var(--accent, #3b82f6)}.sa-tab-count{font-size:10px;color:var(--text-faint)}.sa-item-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);font-size:12px;line-height:1.4;cursor:pointer}.sa-item-row:hover{background:var(--bg-1)}.sa-chevron{margin-left:4px;color:var(--text-faint);flex:0 0 auto}.sa-back{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--bg-1);color:var(--text);font-size:18px;cursor:pointer;flex:0 0 auto}.sa-detail-title{min-width:0;flex:1 1 auto;font-weight:400}.sa-thread-root{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.sa-thread-viewport{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:12px;padding:12px}.sa-item{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:8px;background:var(--bg-1)}.sa-summary{display:flex;align-items:center;gap:8px;padding:11px 12px;cursor:pointer;font-size:12px;line-height:1.4}.sa-dot{width:7px;height:7px;border-radius:50%;background:var(--text-faint);flex:0 0 auto}.sa-dot[data-status=running]{background:var(--accent, #3b82f6)}.sa-type{font-weight:600;white-space:nowrap;flex:0 0 auto}.sa-desc{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;min-width:0}.sa-status{margin-left:auto;color:var(--text-faint);white-space:nowrap;flex:0 0 auto}@media (max-width: 760px){.sa-summary{flex-wrap:wrap}.sa-desc{white-space:normal;overflow:visible;text-overflow:clip;flex-basis:100%}.sa-status{margin-left:auto}}.sa-transcript{padding:6px 10px 10px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.sa-msg{display:flex;flex-direction:column;gap:3px}.sa-msg-role{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.sa-text{font-size:12.5px;white-space:pre-wrap;word-break:break-word}.sa-think{font-size:11.5px;color:var(--text-dim)}.sa-think-body{white-space:pre-wrap;color:var(--text-faint)}.sa-tool{font-size:11.5px;font-family:ui-monospace,monospace;color:var(--text-dim)}.sa-tool-arg{color:var(--text-faint)}.sa-result{font-size:11px;font-family:ui-monospace,monospace;white-space:pre-wrap;word-break:break-word;color:var(--text-faint);border-left:2px solid var(--line);padding-left:8px}.sa-result[data-error=true]{color:#f87171;border-left-color:#f87171}.aui-md{font-size:var(--txt-transcript);line-height:1.5;overflow-wrap:anywhere}.aui-md>:first-child{margin-top:0}.aui-md>:last-child{margin-bottom:0}.aui-md p{margin:0 0 8px}.aui-md h1,.aui-md h2,.aui-md h3,.aui-md h4,.aui-md h5,.aui-md h6{margin:14px 0 6px;line-height:1.3;font-weight:700}.aui-md h1{font-size:17px}.aui-md h2{font-size:15.5px}.aui-md h3{font-size:14px}.aui-md h4,.aui-md h5,.aui-md h6{font-size:13px;color:var(--text-dim)}.aui-md a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.aui-md strong{font-weight:700}.aui-md em{font-style:italic}.aui-md del{opacity:.7}.aui-md ul,.aui-md ol{margin:0 0 8px;padding-left:1.4em}.aui-md li{margin:2px 0}.aui-md li>ul,.aui-md li>ol{margin:2px 0}.aui-md li input[type=checkbox]{margin-right:6px;vertical-align:middle}.aui-md blockquote{margin:0 0 8px;padding:2px 10px;border-left:3px solid var(--line);color:var(--text-dim)}.aui-md hr{border:none;border-top:1px solid var(--line);margin:12px 0}.aui-md :not(pre)>code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88em;background:var(--bg-2);border:1px solid var(--line);border-radius:5px;padding:1px 5px;overflow-wrap:anywhere}.aui-md pre{margin:0 0 8px;background:var(--bg);border:1px solid var(--line);border-radius:8px;overflow:hidden}.aui-md pre code{display:block;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11.5px;line-height:1.5;color:var(--text);padding:8px 10px;overflow-x:auto;white-space:pre;-webkit-overflow-scrolling:touch}.aui-md-code-lang{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:9.5px;text-transform:lowercase;letter-spacing:.04em;color:var(--text-faint);background:var(--bg-2);border-bottom:1px solid var(--line);padding:3px 10px}.aui-md table{display:block;width:max-content;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:0 0 8px;font-size:11.5px;-webkit-overflow-scrolling:touch}.aui-md th,.aui-md td{border:1px solid var(--line);padding:4px 8px;text-align:left;vertical-align:top}.aui-md th{background:var(--bg-2);font-weight:700}.aui-md img{max-width:100%;height:auto;border-radius:6px}.block-thinking{font-size:11.5px;color:var(--text-dim)}.block-thinking>summary{cursor:pointer;color:var(--text-faint);font-style:italic;list-style:none}.block-thinking>summary:before{content:"▸ "}.block-thinking[open]>summary:before{content:"▾ "}.thinking-text{margin-top:4px;padding-left:8px;border-left:2px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;opacity:.8}.block-tool{display:flex;flex-direction:column;gap:4px}.block-tool-use{display:flex;align-items:center;gap:6px;min-width:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11.5px;color:var(--text-dim);background:var(--bg-2);border-radius:6px;padding:4px 8px;list-style:none;cursor:default}details.block-tool>summary.block-tool-use{cursor:pointer}.block-tool-use::-webkit-details-marker{display:none}.tool-head{display:flex;align-items:center;gap:5px;min-width:0;flex:1 1 auto;overflow:hidden}.tool-arrow{color:var(--accent-2);flex:0 0 auto;transition:transform var(--ease) .15s}details.block-tool[open]>summary .tool-arrow{transform:rotate(90deg)}.tool-name{color:var(--accent-2);font-weight:600;white-space:nowrap;flex:0 0 auto}.tool-sep{color:var(--text-faint);flex:0 0 auto}.tool-input{color:var(--text-dim);min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-tool-body{display:flex;flex-direction:column;gap:4px}.block-tool-args{margin:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--text-dim);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:6px 8px;white-space:pre;overflow-x:auto;max-height:220px;overflow-y:auto;-webkit-overflow-scrolling:touch}.block-tool-result{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--text-dim);border-left:2px solid var(--line);padding:4px 8px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow-y:auto;-webkit-overflow-scrolling:touch}.block-tool-result[data-error=true]{border-left-color:var(--red);background:var(--red-bg);color:var(--text)}.composer{display:flex;flex-direction:column;gap:6px;padding:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg-1);flex:0 0 auto}.composer-row{display:flex;align-items:flex-end;gap:6px}.composer-attachments{display:flex;flex-wrap:wrap;gap:6px}.composer-attachments:empty{display:none}.attach-chip{display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:4px 4px 4px 8px;border-radius:8px;border:1px solid var(--line);background:var(--bg-2);font-size:11.5px;color:var(--text)}.attach-chip[data-pending=true]{opacity:.85;border-style:dashed}.chip-thumb{width:26px;height:26px;border-radius:5px;object-fit:cover;flex:0 0 auto;background:var(--bg)}.chip-thumb-empty{border:1px solid var(--line)}.chip-icon{font-size:14px;flex:0 0 auto}.chip-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-spinner{width:11px;height:11px;flex:0 0 auto;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:chip-spin .7s linear infinite}@keyframes chip-spin{to{transform:rotate(360deg)}}.chip-remove{flex:0 0 auto;width:20px;height:20px;border:none;border-radius:6px;background:transparent;color:var(--text-dim);font-size:15px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.chip-remove:hover{background:var(--bg-hover);color:var(--text)}.composer-attach,.composer-send{flex:0 0 auto;height:38px;min-width:38px;border-radius:9px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);font-size:17px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--ease) .15s}.composer-attach:hover,.composer-send:hover{background:var(--bg-hover)}.composer-send{background:var(--accent);color:#0c121a;border-color:transparent;font-weight:700}.composer-attach:disabled,.composer-send:disabled{opacity:.45;cursor:not-allowed}.composer-input{flex:1 1 auto;resize:none;max-height:40dvh;min-height:38px;padding:9px 11px;border-radius:9px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;font-size:var(--txt-composer);line-height:1.4}.composer-input:focus{outline:none;border-color:var(--accent)}.composer-input::placeholder{color:var(--text-faint)}.modal-backdrop{position:fixed;inset:0;background:#01020399;backdrop-filter:blur(2px);display:flex;align-items:flex-end;justify-content:center;z-index:50;padding:0}@media (min-width: 760px){.modal-backdrop{align-items:center;padding:20px}}.modal{width:100%;max-width:560px;max-height:90dvh;display:flex;flex-direction:column;background:var(--bg-1);border:1px solid var(--line);border-radius:16px 16px 0 0;overflow:hidden}@media (min-width: 760px){.modal{border-radius:16px}}.modal:focus{outline:none}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}.modal-title{font-weight:700;color:var(--amber)}.modal-close{background:none;border:none;color:var(--text-dim);font-size:16px;cursor:pointer;padding:4px 8px}.modal-body{padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}.modal-plan{max-width:760px}.plan-review{width:100%}.plan-review-viewport{display:flex;flex-direction:column}.plan-review .msg-row{max-width:100%;align-self:stretch;align-items:stretch}.plan-review .msg-role{display:none}.question{display:flex;flex-direction:column;gap:6px}.q-header{font-size:var(--txt-meta);text-transform:uppercase;letter-spacing:.06em;color:var(--accent-2)}.q-text{font-size:14px;font-weight:600}.q-hint{font-size:var(--txt-meta);color:var(--text-faint)}.q-options{display:flex;flex-direction:column;gap:7px;margin-top:2px}.option-btn{display:flex;flex-direction:column;gap:2px;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);cursor:pointer;font:inherit;transition:border-color var(--ease) .15s,background var(--ease) .15s}.option-btn:hover{background:var(--bg-hover)}.option-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.option-btn[data-on=true]{border-color:var(--accent);background:var(--bg);box-shadow:inset 0 0 0 1px var(--accent)}.option-btn:disabled{opacity:.5;cursor:default}.option-btn[data-sending=true]{opacity:1;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.option-sending{display:inline-flex;align-items:center;gap:6px;margin-left:8px;font-size:var(--txt-meta);font-weight:400;color:var(--accent)}.prompt-status{font-size:var(--txt-meta);color:var(--accent)}.option-label{font-size:13px;font-weight:600}.option-desc{font-size:var(--txt-meta);color:var(--text-dim)}.capture-output{margin:0;padding:10px;border-radius:8px;background:var(--bg);border:1px solid var(--line);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--text-dim);white-space:pre-wrap;overflow-wrap:anywhere;max-height:40dvh;overflow:auto}.modal-foot{display:flex;align-items:center;gap:8px;padding:12px 14px;padding-bottom:calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.modal-foot-spacer{flex:1 1 auto}.btn-secondary,.btn-primary{padding:9px 14px;border-radius:9px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--line)}.btn-secondary{background:var(--bg-2);color:var(--text)}.btn-secondary:hover{background:var(--bg-hover)}.btn-primary{background:var(--accent);color:#0c121a;border-color:transparent}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.toast{position:fixed;left:50%;top:calc(56px + env(safe-area-inset-top));transform:translate(-50%,-12px);background:var(--bg-2);border:1px solid var(--line);color:var(--text);padding:8px 14px;border-radius:10px;font-size:12px;opacity:0;pointer-events:none;transition:opacity var(--ease) .2s,transform var(--ease) .2s;z-index:60;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%)}.toast-ok{border-color:var(--green)}.toast-error{border-color:var(--red);color:var(--text)}.working-indicator{display:inline-flex;align-items:center;gap:7px;color:var(--text-faint);font-size:13px}.working-spinner{width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--accent-2, var(--text));border-radius:50%;animation:cockpit-spin .7s linear infinite;flex:none}@keyframes cockpit-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.working-spinner{animation-duration:1.6s}}.update-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 12px;background:var(--amber-bg);color:var(--amber);border-bottom:1px solid var(--line);font-size:13px}.update-banner code{background:var(--bg-hover);color:var(--text);padding:1px 6px;border-radius:4px;font-size:12px}.update-dismiss{flex:none;background:transparent;border:0;color:var(--amber);font-size:16px;line-height:1;cursor:pointer;padding:2px 6px}.update-dismiss:hover{color:var(--text)}.update-actions{display:inline-flex;align-items:center;gap:6px;flex:none}.update-now{background:var(--amber);color:var(--bg);border:0;border-radius:6px;font-size:12px;font-weight:700;padding:4px 10px;cursor:pointer}.update-now:hover{filter:brightness(1.08)}.chip-thumb{cursor:zoom-in}.hud-spacer{flex:1 1 auto}.notify-bell{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text-dim);cursor:pointer;flex:0 0 auto;-webkit-tap-highlight-color:transparent}.notify-bell:hover:not(:disabled){color:var(--text);border-color:var(--text-faint)}.notify-bell[data-state=on]{color:var(--amber);border-color:var(--amber)}.notify-bell:disabled{opacity:.4;cursor:default}.ios-push-hint{padding:8px 12px;font-size:var(--txt-meta);line-height:1.4;color:var(--text);background:var(--amber-bg);border-bottom:1px solid var(--line);flex:0 0 auto}.rail-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--bg);border-bottom:1px solid var(--line)}.rail-new{flex:1;height:var(--hud-h);display:inline-flex;align-items:center;justify-content:center;background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:8px;font-size:13px;font-weight:600;padding:0 10px;cursor:pointer;transition:border-color var(--ease) .15s,background var(--ease) .15s}.rail-new:hover:not(:disabled){border-color:var(--accent);background:var(--bg-hover)}.rail-new:disabled{opacity:.6;cursor:default}.rail-gear{flex:none;width:var(--hud-h);height:var(--hud-h);display:inline-flex;align-items:center;justify-content:center;background:var(--bg-2);color:var(--text-dim);border:1px solid var(--line);border-radius:8px;font-size:15px;cursor:pointer;transition:color var(--ease) .15s,border-color var(--ease) .15s}.rail-gear:hover{color:var(--text);border-color:var(--accent)}.rail-new:focus-visible,.rail-gear:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rail-new-form{position:sticky;top:0;z-index:2;display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--bg);border-bottom:1px solid var(--line)}.rail-new-name{background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:var(--txt-composer);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.rail-new-name:focus{outline:none;border-color:var(--accent)}.rail-new-name:disabled{opacity:.6}.rail-new-actions{display:flex;justify-content:flex-end;gap:6px}.rail-new-cancel,.rail-new-create{border-radius:8px;font-size:12px;font-weight:600;padding:6px 12px;cursor:pointer}.rail-new-cancel{background:transparent;color:var(--text-dim);border:1px solid var(--line)}.rail-new-cancel:hover:not(:disabled){color:var(--text)}.rail-new-create{background:var(--accent);color:var(--bg);border:0}.rail-new-create:hover:not(:disabled){filter:brightness(1.08)}.rail-new-cancel:disabled,.rail-new-create:disabled{opacity:.6;cursor:default}.transcript-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.transcript-thumb-btn{background:none;border:1px solid var(--line);border-radius:8px;padding:0;cursor:zoom-in;overflow:hidden;flex:0 0 auto;display:block;transition:border-color var(--ease) .15s}.transcript-thumb-btn:hover{border-color:var(--accent)}.transcript-thumb-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.transcript-thumb{display:block;max-width:140px;max-height:100px;width:auto;height:auto;border-radius:7px;object-fit:cover}.transcript-file-chip{display:inline-flex;align-items:center;gap:5px;max-width:200px;padding:4px 8px;border-radius:8px;border:1px solid var(--line);background:var(--bg-2);font-size:11.5px;color:var(--text);text-decoration:none;transition:border-color var(--ease) .15s,background var(--ease) .15s}.transcript-file-chip:hover{border-color:var(--accent);background:var(--bg-hover)}.transcript-file-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.lightbox-backdrop{position:fixed;inset:0;z-index:100;background:#010203d9;display:flex;align-items:center;justify-content:center;cursor:zoom-out;padding:16px}.lightbox-backdrop:focus{outline:none}.lightbox-img{max-width:100%;max-height:90dvh;width:auto;height:auto;border-radius:10px;cursor:default;box-shadow:0 8px 40px #0009}.config-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:#0000008c}.config-modal{width:100%;max-width:420px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 40px #0006}.config-head{display:flex;align-items:center;justify-content:space-between}.config-title{font-size:15px;font-weight:700;color:var(--text)}.config-close{background:transparent;border:0;color:var(--text-dim);font-size:18px;line-height:1;cursor:pointer;padding:2px 6px}.config-close:hover{color:var(--text)}.config-field{display:flex;flex-direction:column;gap:5px}.config-label{font-size:12px;font-weight:600;color:var(--text-dim)}.config-input{background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:var(--txt-composer);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.config-input:focus{outline:none;border-color:var(--accent)}.config-input:disabled{opacity:.6}.config-hint{font-size:11px;color:var(--text-faint)}.config-hint code{background:var(--bg-hover);color:var(--text-dim);padding:0 4px;border-radius:4px}.config-version{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;color:var(--text-faint);border-top:1px solid var(--line);padding-top:8px;margin-top:2px}.config-version-update{color:var(--accent, #3b82f6)}.config-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.config-cancel,.config-save{border-radius:8px;font-size:13px;font-weight:600;padding:7px 14px;cursor:pointer}.config-cancel{background:transparent;color:var(--text-dim);border:1px solid var(--line)}.config-cancel:hover:not(:disabled){color:var(--text)}.config-save{background:var(--accent);color:var(--bg);border:0}.config-save:hover:not(:disabled){filter:brightness(1.08)}.config-save:disabled,.config-cancel:disabled{opacity:.6;cursor:default}.term-btn{font-size:13px}.term-btn:hover{color:var(--amber);background:var(--bg-hover)}.term-overlay{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:var(--bg)}.term-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;border-bottom:1px solid var(--line);background:var(--bg-1);flex:0 0 auto}.term-title{font-weight:700;font-size:13px;color:var(--amber);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.term-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.term-newtab{font-size:12px;color:var(--accent);text-decoration:none;padding:4px 8px;border:1px solid var(--line);border-radius:6px}.term-newtab:hover{background:var(--bg-hover)}.term-close{background:none;border:none;color:var(--text-dim);font-size:16px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:6px}.term-close:hover{color:var(--text);background:var(--bg-hover)}.term-frame{flex:1 1 auto;width:100%;border:none;background:var(--bg)}.gate-root{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:24px;padding-top:max(24px,env(safe-area-inset-top));background:radial-gradient(120% 80% at 50% -10%,var(--bg-1),var(--bg) 60%)}.gate-card{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px;padding:24px;background:var(--bg-1);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);box-shadow:0 1px #ffffff0a inset,0 20px 50px -20px #000000b3}.gate-card--probing{flex-direction:row;align-items:center;justify-content:center;gap:10px;color:var(--text-dim)}.gate-brand{display:flex;align-items:center;gap:10px;margin-bottom:6px}.gate-glyph{font-size:22px;line-height:1;color:var(--accent)}.gate-title{font-size:17px;font-weight:650;letter-spacing:.01em;color:var(--text)}.gate-label{font-size:var(--txt-meta);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.gate-input{width:100%;padding:11px 12px;font-size:var(--txt-composer);color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);outline:none;transition:border-color .15s var(--ease),background .15s var(--ease)}.gate-input:focus{border-color:var(--accent);background:var(--bg-2)}.gate-input[aria-invalid=true]{border-color:var(--red)}.gate-error{margin:0;font-size:var(--txt-meta);color:var(--red)}.gate-submit{margin-top:4px;padding:11px 12px;font-size:14px;font-weight:600;color:var(--bg);background:var(--accent);border:none;border-radius:var(--radius);cursor:pointer;transition:filter .15s var(--ease),opacity .15s var(--ease)}.gate-submit:hover:not(:disabled){filter:brightness(1.08)}.gate-submit:active:not(:disabled){filter:brightness(.95)}.gate-submit:disabled{opacity:.6;cursor:default}.gate-spinner{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:gate-spin .7s linear infinite}@keyframes gate-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.gate-spinner{animation:none}}.transcript-thumb-loading{display:inline-block;background:var(--bg-2);border:1px solid var(--line)}.aui-md pre code.hljs{background:transparent;color:var(--text)}.aui-md .hljs-doctag,.aui-md .hljs-keyword,.aui-md .hljs-meta .hljs-keyword,.aui-md .hljs-template-tag,.aui-md .hljs-template-variable,.aui-md .hljs-type,.aui-md .hljs-variable.language_{color:#ff7b72}.aui-md .hljs-title,.aui-md .hljs-title.class_,.aui-md .hljs-title.class_.inherited__,.aui-md .hljs-title.function_{color:#d2a8ff}.aui-md .hljs-attr,.aui-md .hljs-attribute,.aui-md .hljs-literal,.aui-md .hljs-meta,.aui-md .hljs-number,.aui-md .hljs-operator,.aui-md .hljs-variable,.aui-md .hljs-selector-attr,.aui-md .hljs-selector-class,.aui-md .hljs-selector-id{color:#79c0ff}.aui-md .hljs-regexp,.aui-md .hljs-string,.aui-md .hljs-meta .hljs-string{color:#a5d6ff}.aui-md .hljs-built_in,.aui-md .hljs-symbol{color:#ffa657}.aui-md .hljs-comment,.aui-md .hljs-code,.aui-md .hljs-formula{color:#8b949e}.aui-md .hljs-name,.aui-md .hljs-quote,.aui-md .hljs-selector-tag,.aui-md .hljs-selector-pseudo{color:#7ee787}.aui-md .hljs-subst{color:var(--text)}.aui-md .hljs-section{color:#1f6feb;font-weight:700}.aui-md .hljs-bullet{color:#f2cc60}.aui-md .hljs-emphasis{color:var(--text);font-style:italic}.aui-md .hljs-strong{color:var(--text);font-weight:700}.aui-md .hljs-addition{color:#aff5b4;background-color:#033a16}.aui-md .hljs-deletion{color:#ffdcd7;background-color:#67060c}
|
package/web/dist/index.html
CHANGED
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
17
17
|
<meta name="apple-mobile-web-app-title" content="Control" />
|
|
18
18
|
<title>claude control</title>
|
|
19
|
-
<script type="module" crossorigin src="./assets/index-
|
|
20
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
19
|
+
<script type="module" crossorigin src="./assets/index-D4ifwG3m.js"></script>
|
|
20
|
+
<link rel="stylesheet" crossorigin href="./assets/index-Dl4oZ1if.css">
|
|
21
21
|
</head>
|
|
22
22
|
<body>
|
|
23
23
|
<div id="root"></div>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
:root{--bg: oklch(16% .012 260);--bg-1: oklch(20% .014 260);--bg-2: oklch(24% .016 260);--bg-hover: oklch(27% .02 260);--line: oklch(32% .015 260);--text: oklch(92% .01 250);--text-dim: oklch(66% .012 250);--text-faint: oklch(52% .012 250);--accent: oklch(70% .15 250);--accent-2: oklch(74% .13 200);--amber: oklch(80% .16 80);--amber-bg: oklch(40% .1 80);--red: oklch(64% .2 25);--red-bg: oklch(30% .09 25);--green: oklch(72% .16 150);--user: oklch(34% .06 250);--txt-transcript: 12.5px;--txt-meta: 11px;--txt-composer: 16px;--hud-h: 34px;--radius: 10px;--ease: cubic-bezier(.16, 1, .3, 1);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--txt-transcript);line-height:1.45;-webkit-font-smoothing:antialiased;overscroll-behavior:none}.app{display:flex;flex-direction:column;height:100dvh}.hud{display:flex;align-items:center;gap:12px;height:var(--hud-h);padding:0 12px;padding-top:env(safe-area-inset-top);background:var(--bg-1);border-bottom:1px solid var(--line);font-size:var(--txt-meta);color:var(--text-dim);white-space:nowrap;overflow-x:auto;flex:0 0 auto;box-sizing:content-box}.hud[data-warn=true]{background:var(--amber-bg);color:var(--text)}.hud-brand{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--text);letter-spacing:.02em;flex:0 0 auto}.hud-group{display:inline-flex;gap:4px;align-items:baseline}.hud-k{color:var(--text-faint)}.hud-v{color:var(--text);font-variant-numeric:tabular-nums}.hud-warn-text{color:var(--amber);font-weight:600}.conn-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--text-faint)}.conn-connected{background:var(--green)}.conn-connecting{background:var(--amber)}.conn-disconnected{background:var(--red)}.app-body{flex:1 1 auto;display:flex;min-height:0}.rail{width:100%;overflow-y:auto;background:var(--bg);-webkit-overflow-scrolling:touch}.detail{display:none;flex-direction:column;min-width:0;width:100%}.app[data-detail=open] .rail{display:none}.app[data-detail=open] .detail{display:flex}@media (min-width: 760px){.rail{width:300px;flex:0 0 300px;border-right:1px solid var(--line)}.detail,.app[data-detail=open] .detail{display:flex}.app[data-detail=open] .rail,.app[data-detail=closed] .rail{display:block}.back-btn{display:none!important}}.session-list{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:4px}.session-item{padding:9px 11px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;background:var(--bg-1);transition:background var(--ease) .15s,border-color var(--ease) .15s}.session-item:hover{background:var(--bg-hover)}.session-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.session-item[data-selected=true]{border-color:var(--accent);background:var(--bg-2)}.session-top{display:flex;align-items:center;gap:7px}.active-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto;background:var(--text-faint)}.active-dot[data-on=true]{background:var(--green);box-shadow:0 0 6px var(--green)}.session-name{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.ask-badge{flex:0 0 auto;font-size:9.5px;font-weight:800;letter-spacing:.06em;padding:2px 6px;border-radius:6px;background:var(--amber-bg);color:var(--amber);animation:pulse 1.6s var(--ease) infinite}@keyframes pulse{50%{opacity:.55}}.session-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;font-size:var(--txt-meta);color:var(--text-dim);align-items:center}.meta-prov{font-variant-numeric:tabular-nums;color:var(--text-faint)}.meta-model{color:var(--accent-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.meta-ctx{font-variant-numeric:tabular-nums;padding:1px 5px;border-radius:5px;background:var(--bg-2);color:var(--text-dim)}.session-empty{list-style:none;padding:16px;color:var(--text-faint);text-align:center}.detail-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--bg-1);flex:0 0 auto}.back-btn{font-size:22px;line-height:1;background:none;border:none;color:var(--accent);padding:2px 8px;cursor:pointer;flex:0 0 auto}.detail-title{display:flex;flex-direction:column;min-width:0}.detail-name{font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-cwd{font-size:var(--txt-meta);color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-name-row{display:flex;align-items:center;gap:6px;min-width:0}.rename-btn{flex:0 0 auto;background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:12px;line-height:1;padding:2px 4px;border-radius:4px}.rename-btn:hover{color:var(--text);background:var(--bg-hover)}.detail-rename-input{width:100%;font-weight:700;font-size:13px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:3px 7px;outline:none}.detail-rename-input:focus{border-color:var(--accent)}.live-pane{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;padding:12px 12px 6px}.live-pane-head{flex:0 0 auto;font-size:var(--txt-meta);color:var(--text-faint);margin-bottom:6px}.live-pane-body{flex:1 1 auto;margin:0;padding:10px;border-radius:8px;background:var(--bg);border:1px solid var(--line);color:var(--text);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--txt-transcript);white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;-webkit-overflow-scrolling:touch}.thread-root{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.thread-viewport{flex:1 1 auto;overflow-y:auto;padding:12px 12px 6px;display:flex;flex-direction:column;gap:10px;-webkit-overflow-scrolling:touch}.thread-empty{margin:auto;color:var(--text-faint);text-align:center}.load-earlier{align-self:center;flex:0 0 auto;margin:2px 0 4px;padding:5px 12px;font:inherit;font-size:11.5px;color:var(--text-dim);background:var(--bg-2);border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:background .12s ease,color .12s ease}.load-earlier:hover{background:var(--bg-hover);color:var(--text)}.load-earlier:active{background:var(--line)}.msg-row{display:flex;flex-direction:column;gap:3px;max-width:92%}.msg-row[data-role=user]{align-self:flex-end;align-items:flex-end}.msg-role{font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);padding:0 2px}.msg-body{display:flex;flex-direction:column;gap:6px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;font-size:var(--txt-transcript)}.msg-row[data-role=user] .msg-body{background:var(--user);border-color:transparent}.msg-row[data-role=system] .msg-body{background:transparent;border-style:dashed;color:var(--text-dim)}.msg-row[data-queued=true]{opacity:.62}.msg-row[data-queued=true] .msg-body{border:1px dashed var(--line);background:transparent}.msg-row[data-queued=true] .msg-role{color:var(--accent, var(--text-dim))}.transcript-img{max-width:min(320px,100%);max-height:240px;border-radius:var(--radius);border:1px solid var(--line);cursor:zoom-in;display:block;object-fit:contain}.lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000000d1;padding:24px;cursor:zoom-out}.lightbox-img{max-width:100%;max-height:100%;border-radius:var(--radius);box-shadow:0 10px 40px #00000080;cursor:default}.lightbox-close{position:absolute;top:16px;right:20px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--bg-1);color:var(--text);font-size:22px;line-height:1;cursor:pointer}.login{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg, #0b0d10);padding:24px}.login-card{display:flex;flex-direction:column;gap:10px;width:min(340px,88vw)}.login-title{margin:0;font-size:18px;font-weight:700;letter-spacing:.02em}.login-sub{margin:0;font-size:13px;color:var(--text-dim)}.login-input{padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg-1);color:var(--text);font-size:16px}.login-err{min-height:16px;font-size:12px;color:#f87171}.login-btn{padding:12px 14px;border-radius:10px;border:0;background:var(--accent, #3b82f6);color:#fff;font-size:15px;font-weight:600;cursor:pointer}.login-btn:disabled{opacity:.55}.hud-logout{margin-left:8px;border:1px solid var(--line);background:transparent;color:var(--text-dim);border-radius:6px;padding:2px 7px;font-size:13px;cursor:pointer}.pin-modal{display:flex;flex-direction:column;gap:10px;max-height:80vh}.pin-search{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--bg-1);color:var(--text);font-size:14px}.pin-unpin{padding:8px 10px;border-radius:8px;cursor:pointer;border:1px solid var(--line);background:var(--bg-1);color:var(--text-dim);font-size:12px}.pin-list{overflow-y:auto;display:flex;flex-direction:column;gap:4px}.pin-empty{color:var(--text-faint);font-size:12px;padding:16px;text-align:center}.pin-row{display:flex;flex-direction:column;gap:2px;text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer;border:1px solid var(--line);background:var(--bg-1);color:var(--text)}.pin-row:hover,.pin-row[data-current=true]{border-color:var(--accent, #3b82f6)}.pin-row-title{font-size:13px;font-weight:600}.pin-row-cur{color:var(--accent, #3b82f6);font-weight:400}.pin-row-meta{display:flex;gap:8px;font-size:11px;color:var(--text-faint)}.pin-row-cwd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pin-row-when{margin-left:auto;white-space:nowrap}.pin-toggle{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--bg-1);font-size:14px;cursor:pointer}.pin-toggle[aria-pressed=true]{border-color:var(--accent, #3b82f6)}.pin-toggle+.subagents-toggle{margin-left:6px}.subagents-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;border:1px solid var(--line);background:var(--bg-1);color:var(--text-dim);font-size:12px;cursor:pointer}.subagents-toggle[aria-pressed=true]{color:var(--text);border-color:var(--accent, #3b82f6)}.subagents-badge{min-width:16px;padding:0 5px;border-radius:8px;background:var(--accent, #3b82f6);color:#fff;font-size:11px;text-align:center}.sa-panel{position:fixed;top:0;right:0;bottom:0;z-index:900;width:min(560px,100vw);display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--line);box-shadow:-12px 0 40px #0006}@media (min-width: 760px){.sa-panel{width:50vw;max-width:none}}.sa-panel-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.sa-panel-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.sa-count{padding:0 6px;border-radius:8px;background:var(--bg-1);color:var(--text-dim);font-size:11px}.sa-count-running{color:var(--accent, #3b82f6);font-size:11px}.sa-panel-close{margin-left:auto;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--bg-1);color:var(--text);font-size:18px;cursor:pointer}.sa-panel-body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.sa-empty{color:var(--text-faint);font-size:12px;padding:16px}.sa-tabs{display:flex;gap:6px;padding:8px 10px;border-bottom:1px solid var(--line)}.sa-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 8px;border-radius:8px;border:1px solid var(--line);background:var(--bg-1);color:var(--text-dim);font-size:12px;cursor:pointer}.sa-tab[data-on=true]{color:var(--text);border-color:var(--accent, #3b82f6)}.sa-tab-count{font-size:10px;color:var(--text-faint)}.sa-item-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);font-size:12px;line-height:1.4;cursor:pointer}.sa-item-row:hover{background:var(--bg-1)}.sa-chevron{margin-left:4px;color:var(--text-faint);flex:0 0 auto}.sa-back{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--bg-1);color:var(--text);font-size:18px;cursor:pointer;flex:0 0 auto}.sa-detail-title{min-width:0;flex:1 1 auto;font-weight:400}.sa-thread-root{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.sa-thread-viewport{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:12px;padding:12px}.sa-item{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:8px;background:var(--bg-1)}.sa-summary{display:flex;align-items:center;gap:8px;padding:11px 12px;cursor:pointer;font-size:12px;line-height:1.4}.sa-dot{width:7px;height:7px;border-radius:50%;background:var(--text-faint);flex:0 0 auto}.sa-dot[data-status=running]{background:var(--accent, #3b82f6)}.sa-type{font-weight:600;white-space:nowrap;flex:0 0 auto}.sa-desc{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;min-width:0}.sa-status{margin-left:auto;color:var(--text-faint);white-space:nowrap;flex:0 0 auto}@media (max-width: 760px){.sa-summary{flex-wrap:wrap}.sa-desc{white-space:normal;overflow:visible;text-overflow:clip;flex-basis:100%}.sa-status{margin-left:auto}}.sa-transcript{padding:6px 10px 10px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.sa-msg{display:flex;flex-direction:column;gap:3px}.sa-msg-role{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.sa-text{font-size:12.5px;white-space:pre-wrap;word-break:break-word}.sa-think{font-size:11.5px;color:var(--text-dim)}.sa-think-body{white-space:pre-wrap;color:var(--text-faint)}.sa-tool{font-size:11.5px;font-family:ui-monospace,monospace;color:var(--text-dim)}.sa-tool-arg{color:var(--text-faint)}.sa-result{font-size:11px;font-family:ui-monospace,monospace;white-space:pre-wrap;word-break:break-word;color:var(--text-faint);border-left:2px solid var(--line);padding-left:8px}.sa-result[data-error=true]{color:#f87171;border-left-color:#f87171}.aui-md{font-size:var(--txt-transcript);line-height:1.5;overflow-wrap:anywhere}.aui-md>:first-child{margin-top:0}.aui-md>:last-child{margin-bottom:0}.aui-md p{margin:0 0 8px}.aui-md h1,.aui-md h2,.aui-md h3,.aui-md h4,.aui-md h5,.aui-md h6{margin:14px 0 6px;line-height:1.3;font-weight:700}.aui-md h1{font-size:17px}.aui-md h2{font-size:15.5px}.aui-md h3{font-size:14px}.aui-md h4,.aui-md h5,.aui-md h6{font-size:13px;color:var(--text-dim)}.aui-md a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.aui-md strong{font-weight:700}.aui-md em{font-style:italic}.aui-md del{opacity:.7}.aui-md ul,.aui-md ol{margin:0 0 8px;padding-left:1.4em}.aui-md li{margin:2px 0}.aui-md li>ul,.aui-md li>ol{margin:2px 0}.aui-md li input[type=checkbox]{margin-right:6px;vertical-align:middle}.aui-md blockquote{margin:0 0 8px;padding:2px 10px;border-left:3px solid var(--line);color:var(--text-dim)}.aui-md hr{border:none;border-top:1px solid var(--line);margin:12px 0}.aui-md :not(pre)>code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88em;background:var(--bg-2);border:1px solid var(--line);border-radius:5px;padding:1px 5px;overflow-wrap:anywhere}.aui-md pre{margin:0 0 8px;background:var(--bg);border:1px solid var(--line);border-radius:8px;overflow:hidden}.aui-md pre code{display:block;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11.5px;line-height:1.5;color:var(--text);padding:8px 10px;overflow-x:auto;white-space:pre;-webkit-overflow-scrolling:touch}.aui-md-code-lang{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:9.5px;text-transform:lowercase;letter-spacing:.04em;color:var(--text-faint);background:var(--bg-2);border-bottom:1px solid var(--line);padding:3px 10px}.aui-md table{display:block;width:max-content;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:0 0 8px;font-size:11.5px;-webkit-overflow-scrolling:touch}.aui-md th,.aui-md td{border:1px solid var(--line);padding:4px 8px;text-align:left;vertical-align:top}.aui-md th{background:var(--bg-2);font-weight:700}.aui-md img{max-width:100%;height:auto;border-radius:6px}.block-thinking{font-size:11.5px;color:var(--text-dim)}.block-thinking>summary{cursor:pointer;color:var(--text-faint);font-style:italic;list-style:none}.block-thinking>summary:before{content:"▸ "}.block-thinking[open]>summary:before{content:"▾ "}.thinking-text{margin-top:4px;padding-left:8px;border-left:2px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;opacity:.8}.block-tool{display:flex;flex-direction:column;gap:4px}.block-tool-use{display:flex;align-items:center;gap:6px;min-width:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11.5px;color:var(--text-dim);background:var(--bg-2);border-radius:6px;padding:4px 8px;list-style:none;cursor:default}details.block-tool>summary.block-tool-use{cursor:pointer}.block-tool-use::-webkit-details-marker{display:none}.tool-head{display:flex;align-items:center;gap:5px;min-width:0;flex:1 1 auto;overflow:hidden}.tool-arrow{color:var(--accent-2);flex:0 0 auto;transition:transform var(--ease) .15s}details.block-tool[open]>summary .tool-arrow{transform:rotate(90deg)}.tool-name{color:var(--accent-2);font-weight:600;white-space:nowrap;flex:0 0 auto}.tool-sep{color:var(--text-faint);flex:0 0 auto}.tool-input{color:var(--text-dim);min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-tool-body{display:flex;flex-direction:column;gap:4px}.block-tool-args{margin:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--text-dim);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:6px 8px;white-space:pre;overflow-x:auto;max-height:220px;overflow-y:auto;-webkit-overflow-scrolling:touch}.block-tool-result{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--text-dim);border-left:2px solid var(--line);padding:4px 8px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow-y:auto;-webkit-overflow-scrolling:touch}.block-tool-result[data-error=true]{border-left-color:var(--red);background:var(--red-bg);color:var(--text)}.composer{display:flex;flex-direction:column;gap:6px;padding:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg-1);flex:0 0 auto}.composer-row{display:flex;align-items:flex-end;gap:6px}.composer-attachments{display:flex;flex-wrap:wrap;gap:6px}.composer-attachments:empty{display:none}.attach-chip{display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:4px 4px 4px 8px;border-radius:8px;border:1px solid var(--line);background:var(--bg-2);font-size:11.5px;color:var(--text)}.attach-chip[data-pending=true]{opacity:.85;border-style:dashed}.chip-thumb{width:26px;height:26px;border-radius:5px;object-fit:cover;flex:0 0 auto;background:var(--bg)}.chip-thumb-empty{border:1px solid var(--line)}.chip-icon{font-size:14px;flex:0 0 auto}.chip-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-spinner{width:11px;height:11px;flex:0 0 auto;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:chip-spin .7s linear infinite}@keyframes chip-spin{to{transform:rotate(360deg)}}.chip-remove{flex:0 0 auto;width:20px;height:20px;border:none;border-radius:6px;background:transparent;color:var(--text-dim);font-size:15px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.chip-remove:hover{background:var(--bg-hover);color:var(--text)}.composer-attach,.composer-send{flex:0 0 auto;height:38px;min-width:38px;border-radius:9px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);font-size:17px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--ease) .15s}.composer-attach:hover,.composer-send:hover{background:var(--bg-hover)}.composer-send{background:var(--accent);color:#0c121a;border-color:transparent;font-weight:700}.composer-attach:disabled,.composer-send:disabled{opacity:.45;cursor:not-allowed}.composer-input{flex:1 1 auto;resize:none;max-height:40dvh;min-height:38px;padding:9px 11px;border-radius:9px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;font-size:var(--txt-composer);line-height:1.4}.composer-input:focus{outline:none;border-color:var(--accent)}.composer-input::placeholder{color:var(--text-faint)}.modal-backdrop{position:fixed;inset:0;background:#01020399;backdrop-filter:blur(2px);display:flex;align-items:flex-end;justify-content:center;z-index:50;padding:0}@media (min-width: 760px){.modal-backdrop{align-items:center;padding:20px}}.modal{width:100%;max-width:560px;max-height:90dvh;display:flex;flex-direction:column;background:var(--bg-1);border:1px solid var(--line);border-radius:16px 16px 0 0;overflow:hidden}@media (min-width: 760px){.modal{border-radius:16px}}.modal:focus{outline:none}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}.modal-title{font-weight:700;color:var(--amber)}.modal-close{background:none;border:none;color:var(--text-dim);font-size:16px;cursor:pointer;padding:4px 8px}.modal-body{padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}.modal-plan{max-width:760px}.plan-review{width:100%}.plan-review-viewport{display:flex;flex-direction:column}.plan-review .msg-row{max-width:100%;align-self:stretch;align-items:stretch}.plan-review .msg-role{display:none}.question{display:flex;flex-direction:column;gap:6px}.q-header{font-size:var(--txt-meta);text-transform:uppercase;letter-spacing:.06em;color:var(--accent-2)}.q-text{font-size:14px;font-weight:600}.q-hint{font-size:var(--txt-meta);color:var(--text-faint)}.q-options{display:flex;flex-direction:column;gap:7px;margin-top:2px}.option-btn{display:flex;flex-direction:column;gap:2px;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);cursor:pointer;font:inherit;transition:border-color var(--ease) .15s,background var(--ease) .15s}.option-btn:hover{background:var(--bg-hover)}.option-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.option-btn[data-on=true]{border-color:var(--accent);background:var(--bg);box-shadow:inset 0 0 0 1px var(--accent)}.option-btn:disabled{opacity:.5;cursor:default}.option-btn[data-sending=true]{opacity:1;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.option-sending{display:inline-flex;align-items:center;gap:6px;margin-left:8px;font-size:var(--txt-meta);font-weight:400;color:var(--accent)}.prompt-status{font-size:var(--txt-meta);color:var(--accent)}.option-label{font-size:13px;font-weight:600}.option-desc{font-size:var(--txt-meta);color:var(--text-dim)}.capture-output{margin:0;padding:10px;border-radius:8px;background:var(--bg);border:1px solid var(--line);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--text-dim);white-space:pre-wrap;overflow-wrap:anywhere;max-height:40dvh;overflow:auto}.modal-foot{display:flex;align-items:center;gap:8px;padding:12px 14px;padding-bottom:calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.modal-foot-spacer{flex:1 1 auto}.btn-secondary,.btn-primary{padding:9px 14px;border-radius:9px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--line)}.btn-secondary{background:var(--bg-2);color:var(--text)}.btn-secondary:hover{background:var(--bg-hover)}.btn-primary{background:var(--accent);color:#0c121a;border-color:transparent}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.toast{position:fixed;left:50%;top:calc(56px + env(safe-area-inset-top));transform:translate(-50%,-12px);background:var(--bg-2);border:1px solid var(--line);color:var(--text);padding:8px 14px;border-radius:10px;font-size:12px;opacity:0;pointer-events:none;transition:opacity var(--ease) .2s,transform var(--ease) .2s;z-index:60;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%)}.toast-ok{border-color:var(--green)}.toast-error{border-color:var(--red);color:var(--text)}.working-indicator{display:inline-flex;align-items:center;gap:7px;color:var(--text-faint);font-size:13px}.working-spinner{width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--accent-2, var(--text));border-radius:50%;animation:cockpit-spin .7s linear infinite;flex:none}@keyframes cockpit-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.working-spinner{animation-duration:1.6s}}.update-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 12px;background:var(--amber-bg);color:var(--amber);border-bottom:1px solid var(--line);font-size:13px}.update-banner code{background:var(--bg-hover);color:var(--text);padding:1px 6px;border-radius:4px;font-size:12px}.update-dismiss{flex:none;background:transparent;border:0;color:var(--amber);font-size:16px;line-height:1;cursor:pointer;padding:2px 6px}.update-dismiss:hover{color:var(--text)}.update-actions{display:inline-flex;align-items:center;gap:6px;flex:none}.update-now{background:var(--amber);color:var(--bg);border:0;border-radius:6px;font-size:12px;font-weight:700;padding:4px 10px;cursor:pointer}.update-now:hover{filter:brightness(1.08)}.chip-thumb{cursor:zoom-in}.hud-spacer{flex:1 1 auto}.notify-bell{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text-dim);cursor:pointer;flex:0 0 auto;-webkit-tap-highlight-color:transparent}.notify-bell:hover:not(:disabled){color:var(--text);border-color:var(--text-faint)}.notify-bell[data-state=on]{color:var(--amber);border-color:var(--amber)}.notify-bell:disabled{opacity:.4;cursor:default}.ios-push-hint{padding:8px 12px;font-size:var(--txt-meta);line-height:1.4;color:var(--text);background:var(--amber-bg);border-bottom:1px solid var(--line);flex:0 0 auto}.rail-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--bg);border-bottom:1px solid var(--line)}.rail-new{flex:1;height:var(--hud-h);display:inline-flex;align-items:center;justify-content:center;background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:8px;font-size:13px;font-weight:600;padding:0 10px;cursor:pointer;transition:border-color var(--ease) .15s,background var(--ease) .15s}.rail-new:hover:not(:disabled){border-color:var(--accent);background:var(--bg-hover)}.rail-new:disabled{opacity:.6;cursor:default}.rail-gear{flex:none;width:var(--hud-h);height:var(--hud-h);display:inline-flex;align-items:center;justify-content:center;background:var(--bg-2);color:var(--text-dim);border:1px solid var(--line);border-radius:8px;font-size:15px;cursor:pointer;transition:color var(--ease) .15s,border-color var(--ease) .15s}.rail-gear:hover{color:var(--text);border-color:var(--accent)}.rail-new:focus-visible,.rail-gear:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rail-new-form{position:sticky;top:0;z-index:2;display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--bg);border-bottom:1px solid var(--line)}.rail-new-name{background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:var(--txt-composer);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.rail-new-name:focus{outline:none;border-color:var(--accent)}.rail-new-name:disabled{opacity:.6}.rail-new-actions{display:flex;justify-content:flex-end;gap:6px}.rail-new-cancel,.rail-new-create{border-radius:8px;font-size:12px;font-weight:600;padding:6px 12px;cursor:pointer}.rail-new-cancel{background:transparent;color:var(--text-dim);border:1px solid var(--line)}.rail-new-cancel:hover:not(:disabled){color:var(--text)}.rail-new-create{background:var(--accent);color:var(--bg);border:0}.rail-new-create:hover:not(:disabled){filter:brightness(1.08)}.rail-new-cancel:disabled,.rail-new-create:disabled{opacity:.6;cursor:default}.transcript-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.transcript-thumb-btn{background:none;border:1px solid var(--line);border-radius:8px;padding:0;cursor:zoom-in;overflow:hidden;flex:0 0 auto;display:block;transition:border-color var(--ease) .15s}.transcript-thumb-btn:hover{border-color:var(--accent)}.transcript-thumb-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.transcript-thumb{display:block;max-width:140px;max-height:100px;width:auto;height:auto;border-radius:7px;object-fit:cover}.transcript-file-chip{display:inline-flex;align-items:center;gap:5px;max-width:200px;padding:4px 8px;border-radius:8px;border:1px solid var(--line);background:var(--bg-2);font-size:11.5px;color:var(--text);text-decoration:none;transition:border-color var(--ease) .15s,background var(--ease) .15s}.transcript-file-chip:hover{border-color:var(--accent);background:var(--bg-hover)}.transcript-file-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.lightbox-backdrop{position:fixed;inset:0;z-index:100;background:#010203d9;display:flex;align-items:center;justify-content:center;cursor:zoom-out;padding:16px}.lightbox-backdrop:focus{outline:none}.lightbox-img{max-width:100%;max-height:90dvh;width:auto;height:auto;border-radius:10px;cursor:default;box-shadow:0 8px 40px #0009}.config-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:#0000008c}.config-modal{width:100%;max-width:420px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 40px #0006}.config-head{display:flex;align-items:center;justify-content:space-between}.config-title{font-size:15px;font-weight:700;color:var(--text)}.config-close{background:transparent;border:0;color:var(--text-dim);font-size:18px;line-height:1;cursor:pointer;padding:2px 6px}.config-close:hover{color:var(--text)}.config-field{display:flex;flex-direction:column;gap:5px}.config-label{font-size:12px;font-weight:600;color:var(--text-dim)}.config-input{background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:var(--txt-composer);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.config-input:focus{outline:none;border-color:var(--accent)}.config-input:disabled{opacity:.6}.config-hint{font-size:11px;color:var(--text-faint)}.config-hint code{background:var(--bg-hover);color:var(--text-dim);padding:0 4px;border-radius:4px}.config-version{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;color:var(--text-faint);border-top:1px solid var(--line);padding-top:8px;margin-top:2px}.config-version-update{color:var(--accent, #3b82f6)}.config-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.config-cancel,.config-save{border-radius:8px;font-size:13px;font-weight:600;padding:7px 14px;cursor:pointer}.config-cancel{background:transparent;color:var(--text-dim);border:1px solid var(--line)}.config-cancel:hover:not(:disabled){color:var(--text)}.config-save{background:var(--accent);color:var(--bg);border:0}.config-save:hover:not(:disabled){filter:brightness(1.08)}.config-save:disabled,.config-cancel:disabled{opacity:.6;cursor:default}.term-btn{font-size:13px}.term-btn:hover{color:var(--amber);background:var(--bg-hover)}.term-overlay{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:var(--bg)}.term-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--bg-1);flex:0 0 auto}.term-title{font-weight:700;font-size:13px;color:var(--amber);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.term-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.term-newtab{font-size:12px;color:var(--accent);text-decoration:none;padding:4px 8px;border:1px solid var(--line);border-radius:6px}.term-newtab:hover{background:var(--bg-hover)}.term-close{background:none;border:none;color:var(--text-dim);font-size:16px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:6px}.term-close:hover{color:var(--text);background:var(--bg-hover)}.term-frame{flex:1 1 auto;width:100%;border:none;background:var(--bg)}.gate-root{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:24px;padding-top:max(24px,env(safe-area-inset-top));background:radial-gradient(120% 80% at 50% -10%,var(--bg-1),var(--bg) 60%)}.gate-card{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px;padding:24px;background:var(--bg-1);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);box-shadow:0 1px #ffffff0a inset,0 20px 50px -20px #000000b3}.gate-card--probing{flex-direction:row;align-items:center;justify-content:center;gap:10px;color:var(--text-dim)}.gate-brand{display:flex;align-items:center;gap:10px;margin-bottom:6px}.gate-glyph{font-size:22px;line-height:1;color:var(--accent)}.gate-title{font-size:17px;font-weight:650;letter-spacing:.01em;color:var(--text)}.gate-label{font-size:var(--txt-meta);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.gate-input{width:100%;padding:11px 12px;font-size:var(--txt-composer);color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);outline:none;transition:border-color .15s var(--ease),background .15s var(--ease)}.gate-input:focus{border-color:var(--accent);background:var(--bg-2)}.gate-input[aria-invalid=true]{border-color:var(--red)}.gate-error{margin:0;font-size:var(--txt-meta);color:var(--red)}.gate-submit{margin-top:4px;padding:11px 12px;font-size:14px;font-weight:600;color:var(--bg);background:var(--accent);border:none;border-radius:var(--radius);cursor:pointer;transition:filter .15s var(--ease),opacity .15s var(--ease)}.gate-submit:hover:not(:disabled){filter:brightness(1.08)}.gate-submit:active:not(:disabled){filter:brightness(.95)}.gate-submit:disabled{opacity:.6;cursor:default}.gate-spinner{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:gate-spin .7s linear infinite}@keyframes gate-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.gate-spinner{animation:none}}.transcript-thumb-loading{display:inline-block;background:var(--bg-2);border:1px solid var(--line)}.aui-md pre code.hljs{background:transparent;color:var(--text)}.aui-md .hljs-doctag,.aui-md .hljs-keyword,.aui-md .hljs-meta .hljs-keyword,.aui-md .hljs-template-tag,.aui-md .hljs-template-variable,.aui-md .hljs-type,.aui-md .hljs-variable.language_{color:#ff7b72}.aui-md .hljs-title,.aui-md .hljs-title.class_,.aui-md .hljs-title.class_.inherited__,.aui-md .hljs-title.function_{color:#d2a8ff}.aui-md .hljs-attr,.aui-md .hljs-attribute,.aui-md .hljs-literal,.aui-md .hljs-meta,.aui-md .hljs-number,.aui-md .hljs-operator,.aui-md .hljs-variable,.aui-md .hljs-selector-attr,.aui-md .hljs-selector-class,.aui-md .hljs-selector-id{color:#79c0ff}.aui-md .hljs-regexp,.aui-md .hljs-string,.aui-md .hljs-meta .hljs-string{color:#a5d6ff}.aui-md .hljs-built_in,.aui-md .hljs-symbol{color:#ffa657}.aui-md .hljs-comment,.aui-md .hljs-code,.aui-md .hljs-formula{color:#8b949e}.aui-md .hljs-name,.aui-md .hljs-quote,.aui-md .hljs-selector-tag,.aui-md .hljs-selector-pseudo{color:#7ee787}.aui-md .hljs-subst{color:var(--text)}.aui-md .hljs-section{color:#1f6feb;font-weight:700}.aui-md .hljs-bullet{color:#f2cc60}.aui-md .hljs-emphasis{color:var(--text);font-style:italic}.aui-md .hljs-strong{color:var(--text);font-weight:700}.aui-md .hljs-addition{color:#aff5b4;background-color:#033a16}.aui-md .hljs-deletion{color:#ffdcd7;background-color:#67060c}
|