@mindexec/cli 0.2.352 → 0.2.354

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.
Files changed (23) hide show
  1. package/package.json +1 -1
  2. package/wwwroot/assets/{AdminDashboardPage-DpUfWSRs.js → AdminDashboardPage-pAvr0347.js} +1 -1
  3. package/wwwroot/assets/{AppSidebar-CE5kJZ6_.js → AppSidebar-CBDe_h8f.js} +1 -1
  4. package/wwwroot/assets/{AuthPages-BwWpCEG3.js → AuthPages-CqMUnpl3.js} +1 -1
  5. package/wwwroot/assets/{CodePage-ClGri_SN.js → CodePage-zMi_UJaE.js} +1 -1
  6. package/wwwroot/assets/{CompanyCorePage-Dfe6EiQQ.js → CompanyCorePage-V37js22g.js} +1 -1
  7. package/wwwroot/assets/{ExecutionModePage-ZhjBroz3.js → ExecutionModePage-WoYwTq2j.js} +1 -1
  8. package/wwwroot/assets/{LaunchLeadCapture-CqeoHfvb.js → LaunchLeadCapture-C3SfsELA.js} +1 -1
  9. package/wwwroot/assets/{MarketingHome-DbWyEAya.js → MarketingHome-Cg_3ZuaT.js} +1 -1
  10. package/wwwroot/assets/MindCanvas-CAd5o-DG.css +1 -0
  11. package/wwwroot/assets/MindCanvas-CvCmDE8i.js +48 -0
  12. package/wwwroot/assets/{PlanMasterPage-appRzMad.js → PlanMasterPage-BNRDnDs3.js} +1 -1
  13. package/wwwroot/assets/{PricingPage-cq6bdo2B.js → PricingPage-BscC5UNq.js} +1 -1
  14. package/wwwroot/assets/{ToolPages-CYSvkj5A.js → ToolPages-2-8bifXT.js} +1 -1
  15. package/wwwroot/assets/{YouTubeSearchPage-0oBg8jL-.js → YouTubeSearchPage-DM1skiy0.js} +1 -1
  16. package/wwwroot/assets/canvas-runtime-DyQNXrXQ.js +44 -0
  17. package/wwwroot/assets/{index-Cx-nDOuI.js → index-BMSr0Udr.js} +2 -2
  18. package/wwwroot/assets/{storage-DhgaHSRs.js → storage-BF01PMeG.js} +1 -1
  19. package/wwwroot/assets/{vendor-icons-oiW_NVNO.js → vendor-icons-Ckw7YAP6.js} +1 -1
  20. package/wwwroot/index.html +1 -1
  21. package/wwwroot/assets/MindCanvas-BZ_GR74-.css +0 -1
  22. package/wwwroot/assets/MindCanvas-CmuWCt_-.js +0 -48
  23. package/wwwroot/assets/canvas-runtime-CENfzLQk.js +0 -44
@@ -1,4 +1,4 @@
1
- import{r as c,j as t}from"./vendor-react-BXzpOyCS.js";import{g as Ce,o as je,y as Me,aF as Qe,aG as ze,aH as Ge,aI as _e}from"./canvas-runtime-CENfzLQk.js";import{R as g}from"./app-runtime-xD2Z3NdN.js";import{l as Ve,s as Xe}from"./executionModeSettings-NJqurj-o.js";import{A as Ye,a8 as Ze,R as et,b9 as tt,b7 as nt}from"./vendor-icons-oiW_NVNO.js";import"./runtimeSettingsPersistenceProjection-BoNWmYjU.js";const Ee=["Concept.KernelHelp","Concept.Hash64","Concept.DefineComposite","Concept.Embed","Concept.Execute"],ot=0x0000000080000000n,F=11400714785074694791n,Z=14029467366897019727n,ve=1609587929392839161n,Ie=9650029242287828579n,we=2870177450012600261n;function m(e){return BigInt.asUintN(64,e)}function q(e,s){const o=BigInt(s);return m(m(e)<<o|m(e)>>64n-o)}function Y(e,s){let o=0n;for(let a=0;a<8;a+=1)o|=BigInt(e[s+a])<<BigInt(a*8);return m(o)}function st(e,s){return(e[s]|e[s+1]<<8|e[s+2]<<16|e[s+3]<<24)>>>0}function Q(e,s){let o=m(e+m(s*Z));return o=q(o,31),m(o*F)}function oe(e,s){let o=m(e^Q(0n,s));return o=m(o*F+Ie),o}function k(e){const s=e.trim();if(!s)throw new Error("signature is empty");const o=new TextEncoder().encode(s),a=o.length;let i=0,r;if(a>=32){let d=m(F+Z),w=m(Z),y=0n,N=m(-F);const u=a-32;for(;i<=u;)d=Q(d,Y(o,i)),i+=8,w=Q(w,Y(o,i)),i+=8,y=Q(y,Y(o,i)),i+=8,N=Q(N,Y(o,i)),i+=8;r=m(q(d,1)+q(w,7)+q(y,12)+q(N,18)),r=oe(r,d),r=oe(r,w),r=oe(r,y),r=oe(r,N)}else r=m(we);for(r=m(r+BigInt(a));i<=a-8;){const d=Q(0n,Y(o,i));r=m(r^d),r=m(q(r,27)*F+Ie),i+=8}for(i<=a-4&&(r=m(r^BigInt(st(o,i))*F),r=m(q(r,23)*Z+ve),i+=4);i<a;)r=m(r^BigInt(o[i])*we),r=m(q(r,11)*F),i+=1;return r=m(r^r>>33n),r=m(r*Z),r=m(r^r>>29n),r=m(r*ve),r=m(r^r>>32n),`0x${r.toString(16).padStart(16,"0")}`}const le=[{category:"Math.Double",signature:"MindExecution.Kernel.Add(System.Double,System.Double)",summary:"a+b",supported:!0},{category:"Math.Double",signature:"MindExecution.Kernel.Sub(System.Double,System.Double)",summary:"a-b",supported:!0},{category:"Math.Double",signature:"MindExecution.Kernel.Mul(System.Double,System.Double)",summary:"a*b",supported:!0},{category:"Math.Double",signature:"MindExecution.Kernel.Div(System.Double,System.Double)",summary:"a/b",supported:!0},{category:"Math.Double",signature:"MindExecution.Kernel.Min(System.Double,System.Double)",summary:"min(a,b)",supported:!0},{category:"Math.Double",signature:"MindExecution.Kernel.Max(System.Double,System.Double)",summary:"max(a,b)",supported:!0},{category:"Math.Double",signature:"MindExecution.Kernel.Round(System.Double)",summary:"round(x)",supported:!0},{category:"Math.Int64",signature:"MindExecution.Kernel.Add(System.Int64,System.Int64)",summary:"a+b",supported:!0},{category:"Math.Int64",signature:"MindExecution.Kernel.Sub(System.Int64,System.Int64)",summary:"a-b",supported:!0},{category:"Math.Int64",signature:"MindExecution.Kernel.Mul(System.Int64,System.Int64)",summary:"a*b",supported:!0},{category:"Compare.Double",signature:"MindExecution.Kernel.Gt(System.Double,System.Double)",summary:"a>b",supported:!0},{category:"Compare.Double",signature:"MindExecution.Kernel.Eq(System.Double,System.Double)",summary:"a==b",supported:!0},{category:"Logic",signature:"MindExecution.Kernel.IfElse(System.Boolean,System.Object,System.Object)",summary:"cond ? a : b",supported:!0},{category:"String",signature:"MindExecution.Kernel.Concat(System.String,System.String)",summary:"a+b",supported:!0},{category:"String",signature:"MindExecution.Kernel.Length(System.String)",summary:"len(s)",supported:!0},{category:"String",signature:"MindExecution.Kernel.ToString(System.Object)",summary:"x?.ToString()",supported:!0},{category:"Convert",signature:"MindExecution.Kernel.ToDouble(System.Object)",summary:"Convert.ToDouble",supported:!0},{category:"Convert",signature:"MindExecution.Kernel.ToInt64(System.Object)",summary:"Convert.ToInt64",supported:!0},{category:"Json",signature:"MindExecution.Kernel.Json.Parse(System.String)",summary:"parse JSON",supported:!0},{category:"Json",signature:"MindExecution.Kernel.Json.Stringify(System.Object)",summary:"serialize JSON",supported:!0},{category:"System",signature:"MindExecution.Kernel.System.GetManifest()",summary:"local manifest subset",supported:!0},{category:"System",signature:"MindExecution.Kernel.System.SignatureToId(System.String)",summary:"signature -> local 0x hash",supported:!0},{category:"Debug",signature:"MindExecution.Kernel.Print(System.Object)",summary:"ToString",supported:!0},{category:"Debug",signature:"MindExecution.Kernel.TypeOf(System.Object)",summary:"JavaScript type name",supported:!0},{category:"Time",signature:"MindExecution.Kernel.UtcNow()",summary:"UTC ISO timestamp",supported:!0},{category:"Hash",signature:"MindExecution.Kernel.Hash.Sha256(System.String)",summary:"adapter-gated in React shell",supported:!1}],Ke=new Map(le.map(e=>[k(e.signature),e]));function x(e){const s=typeof e=="number"?e:Number(e);if(!Number.isFinite(s))throw new Error(`Expected numeric value, got ${A(e)}.`);return s}function J(e){return Math.trunc(x(e))}function L(e,s){if(typeof e=="number"&&Number.isInteger(e)&&e>=0)return`0x${e.toString(16).padStart(16,"0")}`;if(typeof e!="string")throw new Error(`${s} must be a hex slot string or integer.`);const o=e.trim();if(/^0x[0-9a-f]{1,16}$/i.test(o))return`0x${o.slice(2).toLowerCase().padStart(16,"0")}`;if(/^\d+$/.test(o))return`0x${Number(o).toString(16).padStart(16,"0")}`;throw new Error(`${s} must be 0x[0-9a-f]{16}, short hex, or integer.`)}function rt(e){return`0x${(ot+BigInt(e)).toString(16).padStart(16,"0")}`}function Le(e){const s=JSON.parse(e),o=Array.isArray(s.literals)?s.literals:[],a=Array.isArray(s.instructions)?s.instructions:[];if(a.length===0)throw new Error("IR must include an instructions array.");return{literals:o,instructions:a}}function $e(e){var o;if(typeof e=="string"&&e.trim().startsWith("$")){const a=e.trim().slice(1).trim();if(!a)throw new Error("target signature cannot be empty.");return{id:k(a),signature:a}}const s=L(e,"target");return{id:s,signature:(o=Ke.get(s))==null?void 0:o.signature}}function A(e){if(e===void 0)return"<unset>";if(e===null)return"<null>";if(typeof e=="string")return JSON.stringify(e);if(typeof e=="number"||typeof e=="boolean")return String(e);try{return JSON.stringify(e)}catch{return String(e)}}function it(e){if(!e||typeof e!="object")throw new Error("Literal entries must be objects.");const s=e,o=L(s.id??s.slot,"literal.id"),a=String(s.type??"json").toLowerCase(),i=s.value;return a==="null"?{slot:o,value:null}:a==="bool"?{slot:o,value:!!i}:a==="int"?{slot:o,value:J(i)}:a==="double"?{slot:o,value:x(i)}:a==="string"?{slot:o,value:String(i??"")}:{slot:o,value:i}}const at={"MindExecution.Kernel.Add(System.Double,System.Double)":e=>x(e[0])+x(e[1]),"MindExecution.Kernel.Sub(System.Double,System.Double)":e=>x(e[0])-x(e[1]),"MindExecution.Kernel.Mul(System.Double,System.Double)":e=>x(e[0])*x(e[1]),"MindExecution.Kernel.Div(System.Double,System.Double)":e=>x(e[1])===0?Number.NaN:x(e[0])/x(e[1]),"MindExecution.Kernel.Min(System.Double,System.Double)":e=>Math.min(x(e[0]),x(e[1])),"MindExecution.Kernel.Max(System.Double,System.Double)":e=>Math.max(x(e[0]),x(e[1])),"MindExecution.Kernel.Round(System.Double)":e=>Math.round(x(e[0])),"MindExecution.Kernel.Add(System.Int64,System.Int64)":e=>J(e[0])+J(e[1]),"MindExecution.Kernel.Sub(System.Int64,System.Int64)":e=>J(e[0])-J(e[1]),"MindExecution.Kernel.Mul(System.Int64,System.Int64)":e=>J(e[0])*J(e[1]),"MindExecution.Kernel.Gt(System.Double,System.Double)":e=>x(e[0])>x(e[1]),"MindExecution.Kernel.Eq(System.Double,System.Double)":e=>x(e[0])===x(e[1]),"MindExecution.Kernel.IfElse(System.Boolean,System.Object,System.Object)":e=>e[0]?e[1]:e[2],"MindExecution.Kernel.Concat(System.String,System.String)":e=>`${e[0]??""}${e[1]??""}`,"MindExecution.Kernel.Length(System.String)":e=>String(e[0]??"").length,"MindExecution.Kernel.ToString(System.Object)":e=>e[0]==null?"":String(e[0]),"MindExecution.Kernel.ToDouble(System.Object)":e=>x(e[0]),"MindExecution.Kernel.ToInt64(System.Object)":e=>J(e[0]),"MindExecution.Kernel.Json.Parse(System.String)":e=>JSON.parse(String(e[0]??"null")),"MindExecution.Kernel.Json.Stringify(System.Object)":e=>JSON.stringify(e[0]),"MindExecution.Kernel.System.GetManifest()":()=>le.map(e=>({...e,id:k(e.signature)})),"MindExecution.Kernel.System.SignatureToId(System.String)":e=>k(String(e[0]??"")),"MindExecution.Kernel.Print(System.Object)":e=>A(e[0]),"MindExecution.Kernel.TypeOf(System.Object)":e=>e[0]===null?"null":Array.isArray(e[0])?"array":typeof e[0],"MindExecution.Kernel.UtcNow()":()=>new Date().toISOString()};function Oe(e){const s=e.trim();if(!s)return[];if(s.startsWith("[")){const o=JSON.parse(s);if(!Array.isArray(o))throw new Error("Watch JSON must be an array of slots.");return o.map(a=>L(a,"watch"))}return s.split(/[\s,]+/).filter(Boolean).map(o=>L(o,"watch"))}function Re(e,s,o,a,i,r=0){var N;if(r>8)throw new Error("FLOW recursion limit exceeded.");const d=new Map;for(const[u,l]of a.entries())d.set(u,l);for(const u of e){const{slot:l,value:$}=it(u);d.set(l,$),i.push(`${" ".repeat(r)}literal ${l} = ${A($)}`)}let w,y=!1;for(const[u,l]of s.entries()){const $=String(l.op??"").trim().toUpperCase();if($==="SET"){const f=L(l.dstSlot,`instructions[${u}].dstSlot`),C=L(l.srcSlot,`instructions[${u}].srcSlot`),O=d.get(C);d.set(f,O),i.push(`${" ".repeat(r)}${u}: SET ${f} = ${A(O)} from ${C}`);continue}if($==="CALL"){const f=$e(l.target??l.targetId),C=f.signature??((N=Ke.get(f.id))==null?void 0:N.signature),O=C?at[C]:void 0;if(!C||!O)throw new Error(`CALL target ${f.id} is not supported by the React local kernel.`);const U=(Array.isArray(l.args)?l.args.map(P=>L(P,`instructions[${u}].args`)):[]).map(P=>d.get(P)),I=O(U),R=l.dstSlot==null?null:L(l.dstSlot,`instructions[${u}].dstSlot`);R&&d.set(R,I),i.push(`${" ".repeat(r)}${u}: CALL ${C} -> ${R??"<no dst>"} = ${A(I)}`);continue}if($==="FLOW"){const f=$e(l.target??l.targetId),C=o.get(f.id);if(!C)throw new Error(`FLOW target ${f.id} is not registered in the React local composite registry.`);const O=Array.isArray(l.args)?l.args.map(R=>L(R,`instructions[${u}].args`)):[],j=new Map;for(const[R,P]of O.entries())j.set(rt(R),d.get(P));i.push(`${" ".repeat(r)}${u}: FLOW ${C.signature} (${f.id}) args=${O.length}`);const U=Re(C.literals,C.instructions,o,j,i,r+1),I=l.dstSlot==null?null:L(l.dstSlot,`instructions[${u}].dstSlot`);I&&U.didReturn&&d.set(I,U.returned),i.push(`${" ".repeat(r)}${u}: FLOW return -> ${I??"<no dst>"} = ${A(U.returned)}`);continue}if($==="RETURN"||$==="RET"){const f=l.srcSlot==null?null:L(l.srcSlot,`instructions[${u}].srcSlot`);w=f?d.get(f):void 0,y=!0,i.push(`${" ".repeat(r)}${u}: RETURN ${f??"<void>"} = ${A(w)}`);break}throw new Error(`Unknown op at instructions[${u}]: ${$||"<empty>"}`)}return{memory:d,returned:w,didReturn:y}}function ct(e,s,o=new Map){const{literals:a,instructions:i}=Le(e),r=[],{memory:d,returned:w}=Re(a,i,o,new Map,r),y=Oe(s),u=(y.length>0?y:Array.from(d.keys()).sort().slice(0,64)).map(l=>`- ${l} = ${A(d.get(l))}`);return[`OK: executed locally (atoms=${i.length}, literals=${a.length})`,`return: ${A(w)}`,"","trace:",...r,"",y.length>0?"watch:":"root user-space slots:",...u.length>0?u:["(none)"],"","adapter: local-react-shell"].join(`
1
+ import{r as c,j as t}from"./vendor-react-BXzpOyCS.js";import{g as Ce,o as je,y as Me,aF as Qe,aG as ze,aH as Ge,aI as _e}from"./canvas-runtime-DyQNXrXQ.js";import{R as g}from"./app-runtime-xD2Z3NdN.js";import{l as Ve,s as Xe}from"./executionModeSettings-NJqurj-o.js";import{A as Ye,a8 as Ze,R as et,b9 as tt,b7 as nt}from"./vendor-icons-Ckw7YAP6.js";import"./runtimeSettingsPersistenceProjection-BoNWmYjU.js";const Ee=["Concept.KernelHelp","Concept.Hash64","Concept.DefineComposite","Concept.Embed","Concept.Execute"],ot=0x0000000080000000n,F=11400714785074694791n,Z=14029467366897019727n,ve=1609587929392839161n,Ie=9650029242287828579n,we=2870177450012600261n;function m(e){return BigInt.asUintN(64,e)}function q(e,s){const o=BigInt(s);return m(m(e)<<o|m(e)>>64n-o)}function Y(e,s){let o=0n;for(let a=0;a<8;a+=1)o|=BigInt(e[s+a])<<BigInt(a*8);return m(o)}function st(e,s){return(e[s]|e[s+1]<<8|e[s+2]<<16|e[s+3]<<24)>>>0}function Q(e,s){let o=m(e+m(s*Z));return o=q(o,31),m(o*F)}function oe(e,s){let o=m(e^Q(0n,s));return o=m(o*F+Ie),o}function k(e){const s=e.trim();if(!s)throw new Error("signature is empty");const o=new TextEncoder().encode(s),a=o.length;let i=0,r;if(a>=32){let d=m(F+Z),w=m(Z),y=0n,N=m(-F);const u=a-32;for(;i<=u;)d=Q(d,Y(o,i)),i+=8,w=Q(w,Y(o,i)),i+=8,y=Q(y,Y(o,i)),i+=8,N=Q(N,Y(o,i)),i+=8;r=m(q(d,1)+q(w,7)+q(y,12)+q(N,18)),r=oe(r,d),r=oe(r,w),r=oe(r,y),r=oe(r,N)}else r=m(we);for(r=m(r+BigInt(a));i<=a-8;){const d=Q(0n,Y(o,i));r=m(r^d),r=m(q(r,27)*F+Ie),i+=8}for(i<=a-4&&(r=m(r^BigInt(st(o,i))*F),r=m(q(r,23)*Z+ve),i+=4);i<a;)r=m(r^BigInt(o[i])*we),r=m(q(r,11)*F),i+=1;return r=m(r^r>>33n),r=m(r*Z),r=m(r^r>>29n),r=m(r*ve),r=m(r^r>>32n),`0x${r.toString(16).padStart(16,"0")}`}const le=[{category:"Math.Double",signature:"MindExecution.Kernel.Add(System.Double,System.Double)",summary:"a+b",supported:!0},{category:"Math.Double",signature:"MindExecution.Kernel.Sub(System.Double,System.Double)",summary:"a-b",supported:!0},{category:"Math.Double",signature:"MindExecution.Kernel.Mul(System.Double,System.Double)",summary:"a*b",supported:!0},{category:"Math.Double",signature:"MindExecution.Kernel.Div(System.Double,System.Double)",summary:"a/b",supported:!0},{category:"Math.Double",signature:"MindExecution.Kernel.Min(System.Double,System.Double)",summary:"min(a,b)",supported:!0},{category:"Math.Double",signature:"MindExecution.Kernel.Max(System.Double,System.Double)",summary:"max(a,b)",supported:!0},{category:"Math.Double",signature:"MindExecution.Kernel.Round(System.Double)",summary:"round(x)",supported:!0},{category:"Math.Int64",signature:"MindExecution.Kernel.Add(System.Int64,System.Int64)",summary:"a+b",supported:!0},{category:"Math.Int64",signature:"MindExecution.Kernel.Sub(System.Int64,System.Int64)",summary:"a-b",supported:!0},{category:"Math.Int64",signature:"MindExecution.Kernel.Mul(System.Int64,System.Int64)",summary:"a*b",supported:!0},{category:"Compare.Double",signature:"MindExecution.Kernel.Gt(System.Double,System.Double)",summary:"a>b",supported:!0},{category:"Compare.Double",signature:"MindExecution.Kernel.Eq(System.Double,System.Double)",summary:"a==b",supported:!0},{category:"Logic",signature:"MindExecution.Kernel.IfElse(System.Boolean,System.Object,System.Object)",summary:"cond ? a : b",supported:!0},{category:"String",signature:"MindExecution.Kernel.Concat(System.String,System.String)",summary:"a+b",supported:!0},{category:"String",signature:"MindExecution.Kernel.Length(System.String)",summary:"len(s)",supported:!0},{category:"String",signature:"MindExecution.Kernel.ToString(System.Object)",summary:"x?.ToString()",supported:!0},{category:"Convert",signature:"MindExecution.Kernel.ToDouble(System.Object)",summary:"Convert.ToDouble",supported:!0},{category:"Convert",signature:"MindExecution.Kernel.ToInt64(System.Object)",summary:"Convert.ToInt64",supported:!0},{category:"Json",signature:"MindExecution.Kernel.Json.Parse(System.String)",summary:"parse JSON",supported:!0},{category:"Json",signature:"MindExecution.Kernel.Json.Stringify(System.Object)",summary:"serialize JSON",supported:!0},{category:"System",signature:"MindExecution.Kernel.System.GetManifest()",summary:"local manifest subset",supported:!0},{category:"System",signature:"MindExecution.Kernel.System.SignatureToId(System.String)",summary:"signature -> local 0x hash",supported:!0},{category:"Debug",signature:"MindExecution.Kernel.Print(System.Object)",summary:"ToString",supported:!0},{category:"Debug",signature:"MindExecution.Kernel.TypeOf(System.Object)",summary:"JavaScript type name",supported:!0},{category:"Time",signature:"MindExecution.Kernel.UtcNow()",summary:"UTC ISO timestamp",supported:!0},{category:"Hash",signature:"MindExecution.Kernel.Hash.Sha256(System.String)",summary:"adapter-gated in React shell",supported:!1}],Ke=new Map(le.map(e=>[k(e.signature),e]));function x(e){const s=typeof e=="number"?e:Number(e);if(!Number.isFinite(s))throw new Error(`Expected numeric value, got ${A(e)}.`);return s}function J(e){return Math.trunc(x(e))}function L(e,s){if(typeof e=="number"&&Number.isInteger(e)&&e>=0)return`0x${e.toString(16).padStart(16,"0")}`;if(typeof e!="string")throw new Error(`${s} must be a hex slot string or integer.`);const o=e.trim();if(/^0x[0-9a-f]{1,16}$/i.test(o))return`0x${o.slice(2).toLowerCase().padStart(16,"0")}`;if(/^\d+$/.test(o))return`0x${Number(o).toString(16).padStart(16,"0")}`;throw new Error(`${s} must be 0x[0-9a-f]{16}, short hex, or integer.`)}function rt(e){return`0x${(ot+BigInt(e)).toString(16).padStart(16,"0")}`}function Le(e){const s=JSON.parse(e),o=Array.isArray(s.literals)?s.literals:[],a=Array.isArray(s.instructions)?s.instructions:[];if(a.length===0)throw new Error("IR must include an instructions array.");return{literals:o,instructions:a}}function $e(e){var o;if(typeof e=="string"&&e.trim().startsWith("$")){const a=e.trim().slice(1).trim();if(!a)throw new Error("target signature cannot be empty.");return{id:k(a),signature:a}}const s=L(e,"target");return{id:s,signature:(o=Ke.get(s))==null?void 0:o.signature}}function A(e){if(e===void 0)return"<unset>";if(e===null)return"<null>";if(typeof e=="string")return JSON.stringify(e);if(typeof e=="number"||typeof e=="boolean")return String(e);try{return JSON.stringify(e)}catch{return String(e)}}function it(e){if(!e||typeof e!="object")throw new Error("Literal entries must be objects.");const s=e,o=L(s.id??s.slot,"literal.id"),a=String(s.type??"json").toLowerCase(),i=s.value;return a==="null"?{slot:o,value:null}:a==="bool"?{slot:o,value:!!i}:a==="int"?{slot:o,value:J(i)}:a==="double"?{slot:o,value:x(i)}:a==="string"?{slot:o,value:String(i??"")}:{slot:o,value:i}}const at={"MindExecution.Kernel.Add(System.Double,System.Double)":e=>x(e[0])+x(e[1]),"MindExecution.Kernel.Sub(System.Double,System.Double)":e=>x(e[0])-x(e[1]),"MindExecution.Kernel.Mul(System.Double,System.Double)":e=>x(e[0])*x(e[1]),"MindExecution.Kernel.Div(System.Double,System.Double)":e=>x(e[1])===0?Number.NaN:x(e[0])/x(e[1]),"MindExecution.Kernel.Min(System.Double,System.Double)":e=>Math.min(x(e[0]),x(e[1])),"MindExecution.Kernel.Max(System.Double,System.Double)":e=>Math.max(x(e[0]),x(e[1])),"MindExecution.Kernel.Round(System.Double)":e=>Math.round(x(e[0])),"MindExecution.Kernel.Add(System.Int64,System.Int64)":e=>J(e[0])+J(e[1]),"MindExecution.Kernel.Sub(System.Int64,System.Int64)":e=>J(e[0])-J(e[1]),"MindExecution.Kernel.Mul(System.Int64,System.Int64)":e=>J(e[0])*J(e[1]),"MindExecution.Kernel.Gt(System.Double,System.Double)":e=>x(e[0])>x(e[1]),"MindExecution.Kernel.Eq(System.Double,System.Double)":e=>x(e[0])===x(e[1]),"MindExecution.Kernel.IfElse(System.Boolean,System.Object,System.Object)":e=>e[0]?e[1]:e[2],"MindExecution.Kernel.Concat(System.String,System.String)":e=>`${e[0]??""}${e[1]??""}`,"MindExecution.Kernel.Length(System.String)":e=>String(e[0]??"").length,"MindExecution.Kernel.ToString(System.Object)":e=>e[0]==null?"":String(e[0]),"MindExecution.Kernel.ToDouble(System.Object)":e=>x(e[0]),"MindExecution.Kernel.ToInt64(System.Object)":e=>J(e[0]),"MindExecution.Kernel.Json.Parse(System.String)":e=>JSON.parse(String(e[0]??"null")),"MindExecution.Kernel.Json.Stringify(System.Object)":e=>JSON.stringify(e[0]),"MindExecution.Kernel.System.GetManifest()":()=>le.map(e=>({...e,id:k(e.signature)})),"MindExecution.Kernel.System.SignatureToId(System.String)":e=>k(String(e[0]??"")),"MindExecution.Kernel.Print(System.Object)":e=>A(e[0]),"MindExecution.Kernel.TypeOf(System.Object)":e=>e[0]===null?"null":Array.isArray(e[0])?"array":typeof e[0],"MindExecution.Kernel.UtcNow()":()=>new Date().toISOString()};function Oe(e){const s=e.trim();if(!s)return[];if(s.startsWith("[")){const o=JSON.parse(s);if(!Array.isArray(o))throw new Error("Watch JSON must be an array of slots.");return o.map(a=>L(a,"watch"))}return s.split(/[\s,]+/).filter(Boolean).map(o=>L(o,"watch"))}function Re(e,s,o,a,i,r=0){var N;if(r>8)throw new Error("FLOW recursion limit exceeded.");const d=new Map;for(const[u,l]of a.entries())d.set(u,l);for(const u of e){const{slot:l,value:$}=it(u);d.set(l,$),i.push(`${" ".repeat(r)}literal ${l} = ${A($)}`)}let w,y=!1;for(const[u,l]of s.entries()){const $=String(l.op??"").trim().toUpperCase();if($==="SET"){const f=L(l.dstSlot,`instructions[${u}].dstSlot`),C=L(l.srcSlot,`instructions[${u}].srcSlot`),O=d.get(C);d.set(f,O),i.push(`${" ".repeat(r)}${u}: SET ${f} = ${A(O)} from ${C}`);continue}if($==="CALL"){const f=$e(l.target??l.targetId),C=f.signature??((N=Ke.get(f.id))==null?void 0:N.signature),O=C?at[C]:void 0;if(!C||!O)throw new Error(`CALL target ${f.id} is not supported by the React local kernel.`);const U=(Array.isArray(l.args)?l.args.map(P=>L(P,`instructions[${u}].args`)):[]).map(P=>d.get(P)),I=O(U),R=l.dstSlot==null?null:L(l.dstSlot,`instructions[${u}].dstSlot`);R&&d.set(R,I),i.push(`${" ".repeat(r)}${u}: CALL ${C} -> ${R??"<no dst>"} = ${A(I)}`);continue}if($==="FLOW"){const f=$e(l.target??l.targetId),C=o.get(f.id);if(!C)throw new Error(`FLOW target ${f.id} is not registered in the React local composite registry.`);const O=Array.isArray(l.args)?l.args.map(R=>L(R,`instructions[${u}].args`)):[],j=new Map;for(const[R,P]of O.entries())j.set(rt(R),d.get(P));i.push(`${" ".repeat(r)}${u}: FLOW ${C.signature} (${f.id}) args=${O.length}`);const U=Re(C.literals,C.instructions,o,j,i,r+1),I=l.dstSlot==null?null:L(l.dstSlot,`instructions[${u}].dstSlot`);I&&U.didReturn&&d.set(I,U.returned),i.push(`${" ".repeat(r)}${u}: FLOW return -> ${I??"<no dst>"} = ${A(U.returned)}`);continue}if($==="RETURN"||$==="RET"){const f=l.srcSlot==null?null:L(l.srcSlot,`instructions[${u}].srcSlot`);w=f?d.get(f):void 0,y=!0,i.push(`${" ".repeat(r)}${u}: RETURN ${f??"<void>"} = ${A(w)}`);break}throw new Error(`Unknown op at instructions[${u}]: ${$||"<empty>"}`)}return{memory:d,returned:w,didReturn:y}}function ct(e,s,o=new Map){const{literals:a,instructions:i}=Le(e),r=[],{memory:d,returned:w}=Re(a,i,o,new Map,r),y=Oe(s),u=(y.length>0?y:Array.from(d.keys()).sort().slice(0,64)).map(l=>`- ${l} = ${A(d.get(l))}`);return[`OK: executed locally (atoms=${i.length}, literals=${a.length})`,`return: ${A(w)}`,"","trace:",...r,"",y.length>0?"watch:":"root user-space slots:",...u.length>0?u:["(none)"],"","adapter: local-react-shell"].join(`
2
2
  `)}function lt(e,s,o=16){const a=`${e}
3
3
 
4
4
  Description: ${s}`,i=Array.from({length:o},(d,w)=>{const y=BigInt(k(`${a}#${w}`)),N=Number(y&0xffffn)/32767.5-1;return Number(N.toFixed(6))}),r=a.trim().length===0?0:a.trim().split(/\s+/).length;return{input:a,vector:i,tokens:r}}const Ne=JSON.stringify({literals:[{id:"0x0000000000000000",type:"double",value:1},{id:"0x0000000000000001",type:"double",value:10}],instructions:[{op:"CALL",target:"$MindExecution.Kernel.Add(System.Double,System.Double)",args:["0x0000000000000000","0x0000000000000001"],dstSlot:"0x0000000000000002"},{op:"RETURN",srcSlot:"0x0000000000000002"}]},null,2),De=JSON.stringify({literals:[],instructions:[{op:"CALL",target:"$MindExecution.Kernel.Add(System.Double,System.Double)",args:["0x0000000080000000","0x0000000080000001"],dstSlot:"0x0000000000000000"},{op:"RETURN",srcSlot:"0x0000000000000000"}]},null,2);function dt(e,s){var a;const o=((a=e.latestRows)==null?void 0:a[0])||{};return{provider:e.provider||"LocalBridgeJsonConceptStore",adapterState:e.adapterState||"json-row-projection",nativeSqliteAdapterState:e.nativeSqliteAdapterState||"adapter-gated",paidEmbeddingAdapterState:e.paidEmbeddingAdapterState||"adapter-gated",originalTable:e.originalTable||"tbl_concepts",rowCount:Number(e.rowCount||0),indexPath:e.indexPath||"",latestRowId:(s==null?void 0:s.id)||o.id||"",latestRowSqlKey:(s==null?void 0:s.sqlKey)||o.sqlKey||"",latestRowSignature:(s==null?void 0:s.signature)||o.signature||"",sqliteReadyColumns:(e.sqliteReadyColumns||[]).slice(0,16)}}function ht(){const[e,s]=c.useState(Ne),[o,a]=c.useState(()=>Ve()),[i,r]=c.useState("MindExecution.Kernel.Add(System.Double,System.Double)"),[d,w]=c.useState("MindExecution.Dynamic.Sum(System.Double,System.Double)"),[y,N]=c.useState("Adds two double values through a browser-local FLOW composite."),[u,l]=c.useState(De),[$,f]=c.useState("MindExecution.Dynamic.Sum(System.Double,System.Double)"),[C,O]=c.useState("Adds two doubles through a Concept FLOW composite. Browser preview only."),[j,U]=c.useState([]),[I,R]=c.useState("0x0000000000000002"),[P,M]=c.useState(""),[z,de]=c.useState(!1),[H,se]=c.useState("idle"),[ue,pe]=c.useState(""),[Ae,me]=c.useState(""),[ke,ge]=c.useState(""),[h,xe]=c.useState(null),[p,Pe]=c.useState(null),[re,ie]=c.useState("idle"),[Se,he]=c.useState(""),G=c.useRef(0),_=c.useMemo(()=>le.map(n=>({...n,id:k(n.signature)})),[]),be=c.useMemo(()=>new Map(j.map(n=>[n.id,n])),[j]),T=o.executionMode,V=o.directInstructionQueueMode,ye=c.useCallback((n,S)=>{const v=Xe({...o,...n},S);a(v),g.emit("executionMode.settings.changed",{source:S,executionMode:v.executionMode,directInstructionQueueMode:v.directInstructionQueueMode})},[o]),Te=c.useCallback(()=>{de(!0),g.emit("executionMode.tool.run",{toolName:T==="PureLLM"?"PureLLM.AdapterGate":"Concept.Execute"}),g.emit("executionMode.run.local",{hasPrompt:!!e.trim(),mode:T,directInstructionQueueMode:V,adapterGated:T==="PureLLM"}),window.setTimeout(()=>{const n=e.trim();if(T==="PureLLM")M(["PureLLM mode selected.","","Live direct LLM execution is adapter-gated in this React shell.",`Queue mode: ${V}`,"","Use Concept mode for deterministic browser-local JSON IR testing until a verified Agent adapter is connected."].join(`
@@ -1 +1 @@
1
- import{r as s,j as e}from"./vendor-react-BXzpOyCS.js";import{R as b}from"./app-runtime-xD2Z3NdN.js";import{aT as A}from"./vendor-icons-oiW_NVNO.js";const u="mindexec-react-launch-leads-v1";function O(){const t=window.localStorage.getItem(u);if(!t)return[];const i=JSON.parse(t);return Array.isArray(i)?i.filter(r=>typeof r=="object"&&r!==null):[]}function R(){return navigator.language||"en"}function $({productKey:t="mindexec",eyebrow:i="Launch list",headline:r="Get the launch notes.",body:w="Short English updates for the product launch, payment rollout, and practical workflow examples.",buttonText:y="Join list",sourceTag:a="unknown",compact:L=!1}){const h=s.useId(),[m,p]=s.useState(""),[o,E]=s.useState("solo-builder"),[l,x]=s.useState(!1),[f,c]=s.useState(""),[N,j]=s.useState(!1),k=n=>{if(n.preventDefault(),l)return;const d=m.trim().toLowerCase();if(c(""),j(!1),!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(d)){c("Enter a valid email address.");return}x(!0),window.setTimeout(()=>{const g=window.location.pathname,v=R();try{const C={email:d,productKey:t,sourcePath:g,sourceTag:a,intent:o,locale:v,metadata:{source_tag:a,host:window.location.host},capturedAt:new Date().toISOString()},I=O();window.localStorage.setItem(u,JSON.stringify([C,...I.filter(S=>S.email!==d||S.sourceTag!==a).slice(0,49)]))}catch{}b.emit("launchLead.captured",{productKey:t,sourcePath:g,sourceTag:a,intent:o,locale:v}),a==="pricing"&&b.emit("pricing.lead.captured",{intent:o,sourceTag:a}),x(!1),j(!0),c("You're on the launch list."),p("")},450)};return e.jsxs("section",{className:`launch-lead ${L?"launch-lead--compact":""}`,"data-testid":"launch-lead","data-lead-storage-key":u,"data-product-key":t,"data-source-tag":a,children:[e.jsxs("div",{className:"launch-lead-copy",children:[e.jsx("div",{className:"eyebrow",children:i}),e.jsx("h2",{children:r}),e.jsx("p",{children:w})]}),e.jsxs("form",{className:"launch-lead-form",onSubmit:k,"data-testid":"launch-lead-form",children:[e.jsx("label",{htmlFor:h,children:"Email"}),e.jsxs("div",{className:"launch-lead-controls",children:[e.jsxs("div",{className:"launch-lead-input",children:[e.jsx(A,{size:17}),e.jsx("input",{id:h,value:m,onChange:n=>p(n.target.value),type:"email",autoComplete:"email",placeholder:"you@example.com",disabled:l,"data-testid":"launch-lead-email"})]}),e.jsxs("select",{value:o,onChange:n=>E(n.target.value),"aria-label":"Launch interest",disabled:l,"data-testid":"launch-lead-intent",children:[e.jsx("option",{value:"solo-builder",children:"Solo builder"}),e.jsx("option",{value:"researcher",children:"Researcher"}),e.jsx("option",{value:"developer",children:"Developer"}),e.jsx("option",{value:"creator",children:"Creator"})]}),e.jsx("button",{type:"submit",disabled:l,"data-testid":"launch-lead-submit",children:l?"Saving...":y})]}),f&&e.jsx("p",{className:`launch-lead-status ${N?"is-ok":""}`,role:"status","data-testid":"launch-lead-status",children:f})]})]})}export{$ as L};
1
+ import{r as s,j as e}from"./vendor-react-BXzpOyCS.js";import{R as b}from"./app-runtime-xD2Z3NdN.js";import{aT as A}from"./vendor-icons-Ckw7YAP6.js";const u="mindexec-react-launch-leads-v1";function O(){const t=window.localStorage.getItem(u);if(!t)return[];const i=JSON.parse(t);return Array.isArray(i)?i.filter(r=>typeof r=="object"&&r!==null):[]}function R(){return navigator.language||"en"}function $({productKey:t="mindexec",eyebrow:i="Launch list",headline:r="Get the launch notes.",body:w="Short English updates for the product launch, payment rollout, and practical workflow examples.",buttonText:y="Join list",sourceTag:a="unknown",compact:L=!1}){const h=s.useId(),[m,p]=s.useState(""),[o,E]=s.useState("solo-builder"),[l,x]=s.useState(!1),[f,c]=s.useState(""),[N,j]=s.useState(!1),k=n=>{if(n.preventDefault(),l)return;const d=m.trim().toLowerCase();if(c(""),j(!1),!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(d)){c("Enter a valid email address.");return}x(!0),window.setTimeout(()=>{const g=window.location.pathname,v=R();try{const C={email:d,productKey:t,sourcePath:g,sourceTag:a,intent:o,locale:v,metadata:{source_tag:a,host:window.location.host},capturedAt:new Date().toISOString()},I=O();window.localStorage.setItem(u,JSON.stringify([C,...I.filter(S=>S.email!==d||S.sourceTag!==a).slice(0,49)]))}catch{}b.emit("launchLead.captured",{productKey:t,sourcePath:g,sourceTag:a,intent:o,locale:v}),a==="pricing"&&b.emit("pricing.lead.captured",{intent:o,sourceTag:a}),x(!1),j(!0),c("You're on the launch list."),p("")},450)};return e.jsxs("section",{className:`launch-lead ${L?"launch-lead--compact":""}`,"data-testid":"launch-lead","data-lead-storage-key":u,"data-product-key":t,"data-source-tag":a,children:[e.jsxs("div",{className:"launch-lead-copy",children:[e.jsx("div",{className:"eyebrow",children:i}),e.jsx("h2",{children:r}),e.jsx("p",{children:w})]}),e.jsxs("form",{className:"launch-lead-form",onSubmit:k,"data-testid":"launch-lead-form",children:[e.jsx("label",{htmlFor:h,children:"Email"}),e.jsxs("div",{className:"launch-lead-controls",children:[e.jsxs("div",{className:"launch-lead-input",children:[e.jsx(A,{size:17}),e.jsx("input",{id:h,value:m,onChange:n=>p(n.target.value),type:"email",autoComplete:"email",placeholder:"you@example.com",disabled:l,"data-testid":"launch-lead-email"})]}),e.jsxs("select",{value:o,onChange:n=>E(n.target.value),"aria-label":"Launch interest",disabled:l,"data-testid":"launch-lead-intent",children:[e.jsx("option",{value:"solo-builder",children:"Solo builder"}),e.jsx("option",{value:"researcher",children:"Researcher"}),e.jsx("option",{value:"developer",children:"Developer"}),e.jsx("option",{value:"creator",children:"Creator"})]}),e.jsx("button",{type:"submit",disabled:l,"data-testid":"launch-lead-submit",children:l?"Saving...":y})]}),f&&e.jsx("p",{className:`launch-lead-status ${N?"is-ok":""}`,role:"status","data-testid":"launch-lead-status",children:f})]})]})}export{$ as L};
@@ -1 +1 @@
1
- import{r as f,j as e}from"./vendor-react-BXzpOyCS.js";import{L as v}from"./LaunchLeadCapture-CqeoHfvb.js";import{m as b}from"./marketingTools-DN_rnHeB.js";import{g as j}from"./vendor-icons-oiW_NVNO.js";import"./app-runtime-xD2Z3NdN.js";const w=b.slice(0,6),k=[["Researchers","Move from reading notes and loose fragments into a board that can hold context and structure."],["Writers","Preview docs and README content quickly, then collect the related work in one saved project."],["Developers","Use local-first utility pages without upload friction, then expand into a canvas when the work becomes multi-file or collaborative."]];function g(r){switch(r.key){case"markdown-viewer":return"Markdown";case"bulk-markdown-viewer":return"Bulk";case"markdown-outline":return"Outline";case"markdown-table-formatter":return"Tables";case"markdown-link-checker":return"Links";case"readme-previewer":return"README";case"markdown-to-html":return"HTML";case"browser-notepad":return"Notes";case"clipboard-board":return"Clipboard";default:return r.chip||"Tool"}}function l(r,t,o){const a=document.head.querySelector(r),s=a??t(),i=s.getAttribute("content"),c=!a;return c&&document.head.appendChild(s),s.setAttribute("content",o),()=>{c?s.remove():i===null?s.removeAttribute("content"):s.setAttribute("content",i)}}function y(r){const t=document.createElement("meta");return t.setAttribute("name",r),t}function d(r){const t=document.createElement("meta");return t.setAttribute("property",r),t}function N(){const r=document.title,t="MindExec | Run your ideas as AI task graphs",o="MindExec is an AI execution canvas for solo builders, researchers, developers, and creators. Start with free browser tools, then move serious work into saved MindCanvas projects.",a="https://mindexecution.pages.dev/",s=document.head.querySelector('link[rel="canonical"]')??document.createElement("link"),i=!s.parentElement,c=s.getAttribute("href");s.setAttribute("rel","canonical"),s.setAttribute("href",a),i&&document.head.appendChild(s);const h={"@context":"https://schema.org","@type":"SoftwareApplication",name:"MindExec",applicationCategory:"ProductivityApplication",operatingSystem:"Web",description:"AI execution canvas for markdown, notes, research, and technical planning.",url:a,offers:{"@type":"Offer",price:"9",priceCurrency:"USD"}},n=document.head.querySelector("#platform-home-structured-data")??document.createElement("script"),p=!n.parentElement,u=n.textContent;n.id="platform-home-structured-data",n.type="application/ld+json",n.setAttribute("data-testid","platform-home-structured-data"),n.textContent=JSON.stringify(h),p&&document.head.appendChild(n),document.title=t;const m=[l('meta[name="description"]',()=>y("description"),o),l('meta[property="og:title"]',()=>d("og:title"),t),l('meta[property="og:description"]',()=>d("og:description"),"Use free markdown, notes, and clipboard tools instantly, then move larger work into MindCanvas for saved projects, AI task graphs, and visual organization."),l('meta[property="og:type"]',()=>d("og:type"),"website"),l('meta[property="og:url"]',()=>d("og:url"),a)];return()=>{document.title=r,m.forEach(x=>x()),i?s.remove():c===null?s.removeAttribute("href"):s.setAttribute("href",c),p?n.remove():n.textContent=u}}function I({navigate:r}){return f.useEffect(()=>N(),[]),e.jsxs("div",{className:"page platform-page","data-testid":"platform-home",children:[e.jsxs("section",{className:"platform-hero",children:[e.jsx("div",{className:"eyebrow",children:"AI business execution canvas"}),e.jsxs("div",{className:"platform-hero-grid",children:[e.jsxs("div",{className:"platform-copy",children:[e.jsx("h1",{children:"MindExec"}),e.jsx("p",{children:"Run your ideas as AI task graphs. Start with quick browser tools, then keep serious work in MindCanvas where notes, assets, AI runs, and execution evidence stay visible."}),e.jsxs("div",{className:"action-row",children:[e.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>r("/mindcanvas"),children:"Open MindCanvas"}),e.jsx("button",{className:"btn btn-secondary",type:"button",onClick:()=>r("/tools"),children:"Browse free tools"}),e.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>r("/pricing"),children:"See pricing"})]}),e.jsxs("div",{className:"trust-row",children:[e.jsx("span",{children:"English-first global launch"}),e.jsx("span",{children:"Local-first by default"}),e.jsx("span",{children:"USD paid path"}),e.jsx("span",{children:"Built for solo builders"})]})]}),e.jsxs("div",{className:"hero-product-panel","aria-label":"MindExec workflow preview",children:[e.jsxs("div",{className:"preview-toolbar",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}),e.jsxs("div",{className:"preview-canvas",children:[e.jsxs("article",{className:"preview-node preview-node--note",children:[e.jsx("strong",{children:"Context"}),e.jsx("p",{children:"Audience, offer, proof, and reusable launch notes."})]}),e.jsxs("article",{className:"preview-node preview-node--task",children:[e.jsx(j,{size:16}),e.jsx("strong",{children:"AI Task"}),e.jsx("p",{children:"Create launch plan"})]}),e.jsx("svg",{className:"preview-edge",viewBox:"0 0 360 210","aria-hidden":"true",children:e.jsx("path",{d:"M130 92 C180 70 205 70 250 100"})})]})]})]})]}),e.jsx(v,{eyebrow:"Global launch list",headline:"Get the English launch notes before the paid rollout.",body:"Short product updates, practical MindCanvas examples, and launch pricing notices for builders who want a durable visual workspace.",sourceTag:"home"}),e.jsxs("section",{className:"page-section",children:[e.jsxs("div",{className:"section-head",children:[e.jsx("div",{className:"eyebrow",children:"How it fits"}),e.jsx("h2",{children:"Use the light tool first. Keep the bigger work in one place."}),e.jsx("p",{children:"The React port keeps MindExec canvas-first: fast utility work stays quick, and durable project work moves into a saved board."})]}),e.jsx("div",{className:"step-grid",children:[["01","Open a tool instantly","Markdown, notes, snippets, and quick review without login friction."],["02","Find the point where it matters","When work needs structure, compare, evidence, or repeatability."],["03","Continue in MindCanvas","Connect context, run AI tasks, and keep the output reusable."]].map(([t,o,a])=>e.jsxs("article",{className:"step-card",children:[e.jsx("span",{children:t}),e.jsx("h3",{children:o}),e.jsx("p",{children:a})]},t))})]}),e.jsxs("section",{className:"page-section","data-testid":"platform-featured-tools",children:[e.jsxs("div",{className:"section-head",children:[e.jsx("div",{className:"eyebrow",children:"Free entry points"}),e.jsx("h2",{children:"Start with the tool that matches the job"}),e.jsx("p",{children:"Each tool is meant to solve one narrow problem quickly, then hand larger work off to MindCanvas at the right moment."})]}),e.jsx("div",{className:"platform-tool-grid",children:w.map(t=>e.jsxs("article",{className:"platform-tool-card","data-testid":"platform-featured-tool-card","data-tool-key":t.key,children:[e.jsx("div",{className:"platform-tool-chip",children:g(t)}),e.jsx("h3",{children:t.title}),e.jsx("p",{children:t.description}),e.jsx("a",{href:t.liveUrl,target:"_blank",rel:"noreferrer","data-live-url":t.liveUrl,children:"Open tool"})]},t.key))}),e.jsx("div",{className:"platform-section-link",children:e.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>r("/tools"),children:"See the full tools directory"})})]}),e.jsxs("section",{className:"page-section","data-testid":"platform-audience",children:[e.jsxs("div",{className:"section-head",children:[e.jsx("div",{className:"eyebrow",children:"Best fit"}),e.jsx("h2",{children:"Built for researchers, writers, developers, and solo builders"}),e.jsx("p",{children:"If your work begins as markdown, snippets, notes, links, or loose planning artifacts, MindExec gives you a cleaner path into a persistent AI execution canvas."})]}),e.jsx("div",{className:"platform-audience-grid",children:k.map(([t,o])=>e.jsxs("article",{children:[e.jsx("h3",{children:t}),e.jsx("p",{children:o})]},t))})]}),e.jsxs("section",{className:"platform-closing","data-testid":"platform-closing",children:[e.jsxs("div",{children:[e.jsx("div",{className:"eyebrow",children:"Next step"}),e.jsx("h2",{children:"Start free. Upgrade when the work becomes worth keeping."}),e.jsx("p",{children:"Use the free entry points first, then keep the work that deserves persistence, cloud access, and AI support."})]}),e.jsxs("div",{className:"action-row",children:[e.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>r("/mindcanvas"),children:"Open MindCanvas"}),e.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>r("/pricing"),children:"See pricing"})]})]})]})}export{I as MarketingHome};
1
+ import{r as f,j as e}from"./vendor-react-BXzpOyCS.js";import{L as v}from"./LaunchLeadCapture-C3SfsELA.js";import{m as b}from"./marketingTools-DN_rnHeB.js";import{g as j}from"./vendor-icons-Ckw7YAP6.js";import"./app-runtime-xD2Z3NdN.js";const w=b.slice(0,6),k=[["Researchers","Move from reading notes and loose fragments into a board that can hold context and structure."],["Writers","Preview docs and README content quickly, then collect the related work in one saved project."],["Developers","Use local-first utility pages without upload friction, then expand into a canvas when the work becomes multi-file or collaborative."]];function g(r){switch(r.key){case"markdown-viewer":return"Markdown";case"bulk-markdown-viewer":return"Bulk";case"markdown-outline":return"Outline";case"markdown-table-formatter":return"Tables";case"markdown-link-checker":return"Links";case"readme-previewer":return"README";case"markdown-to-html":return"HTML";case"browser-notepad":return"Notes";case"clipboard-board":return"Clipboard";default:return r.chip||"Tool"}}function l(r,t,o){const a=document.head.querySelector(r),s=a??t(),i=s.getAttribute("content"),c=!a;return c&&document.head.appendChild(s),s.setAttribute("content",o),()=>{c?s.remove():i===null?s.removeAttribute("content"):s.setAttribute("content",i)}}function y(r){const t=document.createElement("meta");return t.setAttribute("name",r),t}function d(r){const t=document.createElement("meta");return t.setAttribute("property",r),t}function N(){const r=document.title,t="MindExec | Run your ideas as AI task graphs",o="MindExec is an AI execution canvas for solo builders, researchers, developers, and creators. Start with free browser tools, then move serious work into saved MindCanvas projects.",a="https://mindexecution.pages.dev/",s=document.head.querySelector('link[rel="canonical"]')??document.createElement("link"),i=!s.parentElement,c=s.getAttribute("href");s.setAttribute("rel","canonical"),s.setAttribute("href",a),i&&document.head.appendChild(s);const h={"@context":"https://schema.org","@type":"SoftwareApplication",name:"MindExec",applicationCategory:"ProductivityApplication",operatingSystem:"Web",description:"AI execution canvas for markdown, notes, research, and technical planning.",url:a,offers:{"@type":"Offer",price:"9",priceCurrency:"USD"}},n=document.head.querySelector("#platform-home-structured-data")??document.createElement("script"),p=!n.parentElement,u=n.textContent;n.id="platform-home-structured-data",n.type="application/ld+json",n.setAttribute("data-testid","platform-home-structured-data"),n.textContent=JSON.stringify(h),p&&document.head.appendChild(n),document.title=t;const m=[l('meta[name="description"]',()=>y("description"),o),l('meta[property="og:title"]',()=>d("og:title"),t),l('meta[property="og:description"]',()=>d("og:description"),"Use free markdown, notes, and clipboard tools instantly, then move larger work into MindCanvas for saved projects, AI task graphs, and visual organization."),l('meta[property="og:type"]',()=>d("og:type"),"website"),l('meta[property="og:url"]',()=>d("og:url"),a)];return()=>{document.title=r,m.forEach(x=>x()),i?s.remove():c===null?s.removeAttribute("href"):s.setAttribute("href",c),p?n.remove():n.textContent=u}}function I({navigate:r}){return f.useEffect(()=>N(),[]),e.jsxs("div",{className:"page platform-page","data-testid":"platform-home",children:[e.jsxs("section",{className:"platform-hero",children:[e.jsx("div",{className:"eyebrow",children:"AI business execution canvas"}),e.jsxs("div",{className:"platform-hero-grid",children:[e.jsxs("div",{className:"platform-copy",children:[e.jsx("h1",{children:"MindExec"}),e.jsx("p",{children:"Run your ideas as AI task graphs. Start with quick browser tools, then keep serious work in MindCanvas where notes, assets, AI runs, and execution evidence stay visible."}),e.jsxs("div",{className:"action-row",children:[e.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>r("/mindcanvas"),children:"Open MindCanvas"}),e.jsx("button",{className:"btn btn-secondary",type:"button",onClick:()=>r("/tools"),children:"Browse free tools"}),e.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>r("/pricing"),children:"See pricing"})]}),e.jsxs("div",{className:"trust-row",children:[e.jsx("span",{children:"English-first global launch"}),e.jsx("span",{children:"Local-first by default"}),e.jsx("span",{children:"USD paid path"}),e.jsx("span",{children:"Built for solo builders"})]})]}),e.jsxs("div",{className:"hero-product-panel","aria-label":"MindExec workflow preview",children:[e.jsxs("div",{className:"preview-toolbar",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}),e.jsxs("div",{className:"preview-canvas",children:[e.jsxs("article",{className:"preview-node preview-node--note",children:[e.jsx("strong",{children:"Context"}),e.jsx("p",{children:"Audience, offer, proof, and reusable launch notes."})]}),e.jsxs("article",{className:"preview-node preview-node--task",children:[e.jsx(j,{size:16}),e.jsx("strong",{children:"AI Task"}),e.jsx("p",{children:"Create launch plan"})]}),e.jsx("svg",{className:"preview-edge",viewBox:"0 0 360 210","aria-hidden":"true",children:e.jsx("path",{d:"M130 92 C180 70 205 70 250 100"})})]})]})]})]}),e.jsx(v,{eyebrow:"Global launch list",headline:"Get the English launch notes before the paid rollout.",body:"Short product updates, practical MindCanvas examples, and launch pricing notices for builders who want a durable visual workspace.",sourceTag:"home"}),e.jsxs("section",{className:"page-section",children:[e.jsxs("div",{className:"section-head",children:[e.jsx("div",{className:"eyebrow",children:"How it fits"}),e.jsx("h2",{children:"Use the light tool first. Keep the bigger work in one place."}),e.jsx("p",{children:"The React port keeps MindExec canvas-first: fast utility work stays quick, and durable project work moves into a saved board."})]}),e.jsx("div",{className:"step-grid",children:[["01","Open a tool instantly","Markdown, notes, snippets, and quick review without login friction."],["02","Find the point where it matters","When work needs structure, compare, evidence, or repeatability."],["03","Continue in MindCanvas","Connect context, run AI tasks, and keep the output reusable."]].map(([t,o,a])=>e.jsxs("article",{className:"step-card",children:[e.jsx("span",{children:t}),e.jsx("h3",{children:o}),e.jsx("p",{children:a})]},t))})]}),e.jsxs("section",{className:"page-section","data-testid":"platform-featured-tools",children:[e.jsxs("div",{className:"section-head",children:[e.jsx("div",{className:"eyebrow",children:"Free entry points"}),e.jsx("h2",{children:"Start with the tool that matches the job"}),e.jsx("p",{children:"Each tool is meant to solve one narrow problem quickly, then hand larger work off to MindCanvas at the right moment."})]}),e.jsx("div",{className:"platform-tool-grid",children:w.map(t=>e.jsxs("article",{className:"platform-tool-card","data-testid":"platform-featured-tool-card","data-tool-key":t.key,children:[e.jsx("div",{className:"platform-tool-chip",children:g(t)}),e.jsx("h3",{children:t.title}),e.jsx("p",{children:t.description}),e.jsx("a",{href:t.liveUrl,target:"_blank",rel:"noreferrer","data-live-url":t.liveUrl,children:"Open tool"})]},t.key))}),e.jsx("div",{className:"platform-section-link",children:e.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>r("/tools"),children:"See the full tools directory"})})]}),e.jsxs("section",{className:"page-section","data-testid":"platform-audience",children:[e.jsxs("div",{className:"section-head",children:[e.jsx("div",{className:"eyebrow",children:"Best fit"}),e.jsx("h2",{children:"Built for researchers, writers, developers, and solo builders"}),e.jsx("p",{children:"If your work begins as markdown, snippets, notes, links, or loose planning artifacts, MindExec gives you a cleaner path into a persistent AI execution canvas."})]}),e.jsx("div",{className:"platform-audience-grid",children:k.map(([t,o])=>e.jsxs("article",{children:[e.jsx("h3",{children:t}),e.jsx("p",{children:o})]},t))})]}),e.jsxs("section",{className:"platform-closing","data-testid":"platform-closing",children:[e.jsxs("div",{children:[e.jsx("div",{className:"eyebrow",children:"Next step"}),e.jsx("h2",{children:"Start free. Upgrade when the work becomes worth keeping."}),e.jsx("p",{children:"Use the free entry points first, then keep the work that deserves persistence, cloud access, and AI support."})]}),e.jsxs("div",{className:"action-row",children:[e.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>r("/mindcanvas"),children:"Open MindCanvas"}),e.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>r("/pricing"),children:"See pricing"})]})]})]})}export{I as MarketingHome};
@@ -0,0 +1 @@
1
+ .mindcanvas{position:relative;width:100%;height:100vh;overflow:hidden;color:var(--ink);background:linear-gradient(135deg,#f7f8fa,#e8ecf1,#dde3eb);-webkit-user-select:none;user-select:none}.mindcanvas--read-mode .canvas-toolbar,.mindcanvas--read-mode .runtime-status-cluster,.mindcanvas--read-mode .global-input-shell{opacity:0;pointer-events:none}.canvas-plane{--grid-x: 540px;--grid-y: 210px;--grid-small: 24px;--grid-large: 144px;position:absolute;top:0;right:0;bottom:0;left:0;cursor:grab;overflow:hidden;background-image:radial-gradient(circle,rgba(100,116,139,.24) 1px,transparent 1px),radial-gradient(circle,rgba(100,116,139,.32) 1.6px,transparent 1.6px);background-position:var(--grid-x) var(--grid-y),var(--grid-x) var(--grid-y);background-size:var(--grid-small) var(--grid-small),var(--grid-large) var(--grid-large)}.canvas-plane--grid-line{background-image:linear-gradient(rgba(100,116,139,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(100,116,139,.16) 1px,transparent 1px),linear-gradient(rgba(71,85,105,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(71,85,105,.18) 1px,transparent 1px);background-position:var(--grid-x) var(--grid-y),var(--grid-x) var(--grid-y),var(--grid-x) var(--grid-y),var(--grid-x) var(--grid-y);background-size:var(--grid-small) var(--grid-small),var(--grid-small) var(--grid-small),var(--grid-large) var(--grid-large),var(--grid-large) var(--grid-large)}.canvas-plane--grid-particles{background-image:radial-gradient(circle at 25% 35%,rgba(37,99,235,.32) 0 1.2px,transparent 1.5px),radial-gradient(circle at 72% 58%,rgba(20,184,166,.26) 0 1.1px,transparent 1.5px),radial-gradient(circle at 48% 78%,rgba(245,158,11,.22) 0 1px,transparent 1.4px),radial-gradient(circle,rgba(100,116,139,.18) 1px,transparent 1px);background-position:var(--grid-x) var(--grid-y),calc(var(--grid-x) + 16px) calc(var(--grid-y) + 10px),calc(var(--grid-x) + 34px) calc(var(--grid-y) + 28px),var(--grid-x) var(--grid-y);background-size:calc(var(--grid-small) * 3) calc(var(--grid-small) * 3),calc(var(--grid-small) * 4) calc(var(--grid-small) * 4),calc(var(--grid-small) * 5) calc(var(--grid-small) * 5),var(--grid-large) var(--grid-large)}.canvas-plane--grid-spirit{background-image:radial-gradient(ellipse at var(--grid-x) var(--grid-y),rgba(59,130,246,.16),transparent 42%),repeating-linear-gradient(37deg,rgba(20,184,166,.13) 0 1px,transparent 1px 38px),repeating-linear-gradient(143deg,rgba(244,114,182,.1) 0 1px,transparent 1px 56px),radial-gradient(circle,rgba(71,85,105,.18) 1px,transparent 1px);background-position:0 0,var(--grid-x) var(--grid-y),calc(var(--grid-x) * -.5) calc(var(--grid-y) * -.5),var(--grid-x) var(--grid-y);background-size:100% 100%,calc(var(--grid-large) * 1.4) calc(var(--grid-large) * 1.4),calc(var(--grid-large) * 1.8) calc(var(--grid-large) * 1.8),var(--grid-large) var(--grid-large)}body.is-panning .canvas-plane{cursor:grabbing}body.is-selecting .canvas-plane{cursor:crosshair}.canvas-selection-box{position:absolute;z-index:18;pointer-events:none;border:1px solid rgba(37,99,235,.82);border-radius:5px;background:#3b82f61f;box-shadow:inset 0 0 0 1px #ffffffb8,0 0 0 1px #2563eb1f}.canvas-multi-selection-bounds{position:absolute;z-index:19;pointer-events:none;border:1px dashed rgba(37,99,235,.86);border-radius:7px;background:#2563eb0a;box-shadow:0 0 0 2px #2563eb14}.multi-selection-toolbar{position:absolute;z-index:245;display:inline-flex;align-items:center;gap:4px;min-height:38px;padding:4px 6px;border-radius:8px;transform:translate(-50%);pointer-events:auto}.multi-selection-toolbar__count{min-width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;border-radius:7px;color:#1d4ed8;background:#dbeafee6;font-size:12px;font-weight:900}.multi-selection-toolbar button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;color:#475569;background:transparent;cursor:pointer}.multi-selection-toolbar button:hover{color:#0f172a;background:#e2e8f0d1}.multi-selection-toolbar button.is-danger{color:#be123c}.multi-selection-toolbar button.is-danger:hover{color:#9f1239;background:#ffe4e6db}.multi-selection-toolbar__separator{width:1px;height:22px;margin-inline:2px;background:#cbd5e1db}.canvas-world{position:absolute;left:0;top:0;width:1px;height:1px;transform-origin:0 0;will-change:transform;contain:layout style}.edge-layer{position:absolute;left:-1200px;top:-900px;overflow:visible;pointer-events:none}.edge-path{fill:none;stroke-width:3;stroke-linecap:round;pointer-events:stroke;cursor:pointer;opacity:.88}.edge-path--result{stroke:#f97316e6}.edge-path--context{stroke:#2563ebb3;stroke-dasharray:8 8}.canvas-node{position:absolute;display:flex;flex-direction:column;overflow:visible;border:1px solid rgba(226,232,240,.92);border-radius:8px;background:#fffffff0;box-shadow:0 0 6px #0f172a2e,0 16px 38px #0f172a21;cursor:grab;-webkit-user-select:none;user-select:none;contain:layout style}.canvas-node.is-selected{border-color:#2563ebc2;box-shadow:0 0 0 2px #2563eb2e,0 0 20px #3b82f647,0 18px 42px #0f172a29}.canvas-node.is-pulsing{animation:pulseNode .9s ease}.node-resize-handle{position:absolute;right:-6px;bottom:-6px;z-index:5;width:18px;height:18px;border:1px solid rgba(37,99,235,.38);border-radius:6px;background:linear-gradient(135deg,transparent 0 42%,rgba(37,99,235,.7) 42% 50%,transparent 50% 100%),linear-gradient(135deg,transparent 0 62%,rgba(37,99,235,.5) 62% 70%,transparent 70% 100%),#fffffff5;box-shadow:0 6px 18px #0f172a2e;cursor:nwse-resize;opacity:0;transition:opacity .14s ease,transform .14s ease,border-color .14s ease}.canvas-node:hover .node-resize-handle,.canvas-node.is-selected .node-resize-handle{opacity:1}.node-resize-handle:hover{border-color:#2563ebb3;transform:scale(1.08)}.canvas-node--remote-surface>.node-resize-handle,.canvas-node[data-remote-surface-scroll-owner=remote-page-rail]>.node-resize-handle{right:4px;bottom:4px;width:14px;height:14px;border-radius:5px;opacity:.72;box-shadow:0 2px 8px #0f172a1f}.canvas-node--remote-surface:hover>.node-resize-handle,.canvas-node--remote-surface.is-selected>.node-resize-handle,.canvas-node[data-remote-surface-scroll-owner=remote-page-rail]:hover>.node-resize-handle,.canvas-node[data-remote-surface-scroll-owner=remote-page-rail].is-selected>.node-resize-handle{opacity:1}body.is-resizing-node,body.is-resizing-node *{cursor:nwse-resize!important;-webkit-user-select:none!important;user-select:none!important}@keyframes pulseNode{0%,to{box-shadow:0 0 0 2px #2563eb2e,0 18px 42px #0f172a29}50%{box-shadow:0 0 0 6px #2563eb2e,0 0 46px #2563eb6b,0 18px 42px #0f172a29}}.canvas-node--ai-task{border-color:#f973166b;background:linear-gradient(180deg,#fff7edf5,#fffffff0)}.canvas-node--code{background:linear-gradient(180deg,#f8fafc,#eef2ff)}.canvas-node--text{border-color:#64748b3d;background:linear-gradient(180deg,#fff,#f8fafc)}.canvas-node--text .node-kind{color:#475569;background:#f1f5f9}.canvas-node--mask{border-color:#0ea5e95c;background:linear-gradient(180deg,#f8fafc,#ecfeff)}.canvas-node--mask .node-kind{color:#0e7490;background:#cffafe}.canvas-node--markdown{border-color:#0ea5e947;background:linear-gradient(180deg,#f8fafc,#f0f9ff)}.canvas-node--markdown .node-kind{color:#0369a1;background:#e0f2fe}.canvas-node--memo{--memo-bg: #fff2eb;--memo-border: rgba(255, 128, 82, .42);--memo-ink: #7c2d12;--memo-ring: rgba(255, 128, 82, .22);--memo-accent: #ff8052;border-color:var(--memo-border);color:var(--memo-ink);background:linear-gradient(180deg,var(--memo-bg),rgba(255,255,255,.92)),#fff}.canvas-node--memo .node-kind{color:var(--memo-ink);background:var(--memo-ring)}.canvas-node--memo .node-header input{color:var(--memo-ink)}.canvas-node--memo .node-tags span{color:var(--memo-ink);background:var(--memo-ring)}.canvas-node--agent-command{--memo-bg: #f8fafc;--memo-border: rgba(99, 102, 241, .38);--memo-ink: #312e81;--memo-ring: rgba(99, 102, 241, .16);--memo-accent: #6366f1;border-color:var(--memo-border);background:linear-gradient(180deg,#eef2fff5,#fffffff0),#fff}.canvas-node--agent-command .node-kind{color:#4338ca;background:#e0e7ff}.node-agent-command-state{display:flex;align-items:center;gap:6px;margin:0 12px 8px;padding:6px 8px;border:1px solid rgba(99,102,241,.18);border-radius:8px;color:#312e81;background:#eef2ffc2;font-size:11px;font-weight:760}.node-agent-command-state span{min-width:0;padding:2px 6px;border-radius:999px;color:#4338ca;background:#ffffffc7;white-space:nowrap}.node-agent-command-actions{display:flex;gap:8px;margin:-2px 12px 8px}.node-agent-command-actions button{height:26px;padding:0 10px;border:1px solid rgba(99,102,241,.26);border-radius:7px;color:#3730a3;background:#ffffffe0;font-size:11px;font-weight:820;cursor:pointer}.node-agent-command-actions button:hover{color:#fff;background:#4f46e5}.node-agent-command-actions button:disabled{opacity:.55;cursor:not-allowed}.canvas-node--code-note{--memo-bg: #f0f9ff;--memo-border: rgba(14, 165, 233, .36);--memo-ink: #075985;--memo-ring: rgba(14, 165, 233, .16);--memo-accent: #0ea5e9;border-color:var(--memo-border);background:linear-gradient(180deg,#f0f9fff5,#fffffff0),#fff}.canvas-node--code-note .node-kind{color:#0369a1;background:#e0f2fe}.node-code-note-state{display:flex;align-items:center;gap:6px;margin:0 12px 8px;padding:6px 8px;border:1px solid rgba(14,165,233,.2);border-radius:8px;color:#075985;background:#e0f2feb8;font-size:11px;font-weight:760}.node-code-note-state span{min-width:0;padding:2px 6px;border-radius:999px;color:#0369a1;background:#ffffffc7;white-space:nowrap}.node-code-note-actions{display:flex;flex-wrap:wrap;gap:8px;margin:-2px 12px 8px}.node-code-note-actions button{height:26px;padding:0 10px;border:1px solid rgba(14,165,233,.28);border-radius:7px;color:#075985;background:#ffffffe0;font-size:11px;font-weight:820;white-space:nowrap;cursor:pointer}.node-code-note-actions button:hover{color:#fff;background:#0284c7}.canvas-node--pdf{border-color:#ef444447;background:linear-gradient(180deg,#fff7f7,#fff)}.canvas-node--file{border-color:#2563eb47;background:linear-gradient(180deg,#eff6ff,#fff)}.canvas-node--directory{border-color:#f59e0b6b;background:linear-gradient(180deg,#fffbeb,#fff)}.canvas-node--template-launcher{border-color:#2563eb52;background:linear-gradient(180deg,#f8fbff,#f7fdf9)}.canvas-node--remote-monitor,.canvas-node--remote-control,.canvas-node--remote-monitor-surface,.canvas-node--remote-control-surface{overflow:hidden;overflow-x:hidden;overflow-y:hidden;overflow:clip;overflow-x:clip;overflow-y:clip;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;border-color:#64748b73;background:#f8fbff}.canvas-node:has(>.node-remote-monitor),.canvas-node:has(>.node-remote-control){overflow:hidden;overflow-x:hidden;overflow-y:hidden;overflow:clip;overflow-x:clip;overflow-y:clip;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;border-color:#64748b73;background:#f8fbff}.canvas-node--remote-surface,.canvas-node[data-remote-surface-chrome=self-contained]{display:grid;grid-template-rows:minmax(0,1fr);gap:0;align-items:stretch;padding:0;overflow:visible;overflow-x:visible;overflow-y:visible;scrollbar-width:none;-ms-overflow-style:none}.canvas-node--remote-surface>.node-remote-monitor,.canvas-node--remote-surface>.node-remote-control,.canvas-node[data-remote-surface-chrome=self-contained]>.node-remote-monitor,.canvas-node[data-remote-surface-chrome=self-contained]>.node-remote-control{width:100%;height:100%;min-height:0}.canvas-node--remote-monitor::-webkit-scrollbar,.canvas-node--remote-control::-webkit-scrollbar,.canvas-node--remote-monitor-surface::-webkit-scrollbar,.canvas-node--remote-control-surface::-webkit-scrollbar,.canvas-node--remote-surface::-webkit-scrollbar,.canvas-node:has(>.node-remote-monitor)::-webkit-scrollbar,.canvas-node:has(>.node-remote-control)::-webkit-scrollbar{display:none;width:0;height:0}.canvas-node[data-remote-surface-chrome=self-contained]>.node-header,.canvas-node[data-remote-surface-title-owner=inner-remote-view]>.node-header,.canvas-node[data-remote-surface-chrome=self-contained]>.node-tags,.canvas-node[data-remote-surface-title-owner=inner-remote-view]>.node-tags,.canvas-node[data-remote-surface-chrome=self-contained]>.node-external-rail,.canvas-node[data-remote-surface-chrome=self-contained]>.node-external-action-rail,.canvas-node[data-remote-surface-title-owner=inner-remote-view]>.node-external-rail,.canvas-node[data-remote-surface-title-owner=inner-remote-view]>.node-external-action-rail,.canvas-node:has(>.node-remote-monitor)>.node-header,.canvas-node:has(>.node-remote-monitor)>.node-tags,.canvas-node:has(>.node-remote-monitor)>.node-external-rail,.canvas-node:has(>.node-remote-monitor)>.node-external-action-rail,.canvas-node:has(>.node-remote-control)>.node-header,.canvas-node:has(>.node-remote-control)>.node-tags,.canvas-node:has(>.node-remote-control)>.node-external-rail,.canvas-node:has(>.node-remote-control)>.node-external-action-rail{display:none}.canvas-node--remote-monitor-surface>.node-header,.canvas-node--remote-monitor-surface>.node-tags,.canvas-node--remote-monitor-surface>.node-external-rail,.canvas-node--remote-monitor-surface>.node-external-action-rail,.canvas-node--remote-control-surface>.node-header,.canvas-node--remote-control-surface>.node-tags,.canvas-node--remote-control-surface>.node-external-rail,.canvas-node--remote-control-surface>.node-external-action-rail{display:none}.node-header{display:flex;align-items:center;gap:8px;padding:12px 12px 8px}.node-kind{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:999px;color:#475569;background:#f1f5f9eb}.canvas-node--ai-task .node-kind{color:#c2410c;background:#fff7ed}.canvas-node--pdf .node-kind{color:#dc2626;background:#fee2e2}.canvas-node--file .node-kind{color:#1d4ed8;background:#dbeafe}.canvas-node--directory .node-kind{color:#b45309;background:#fef3c7}.canvas-node--template-launcher .node-kind{color:#1d4ed8;background:#dbeafe}.canvas-node--remote-monitor .node-kind,.canvas-node--remote-control .node-kind{color:#2563eb;background:#eff6ff}.node-header input{min-width:0;flex:1;padding:4px 0;border:0;color:#111827;background:transparent;font-size:14px;font-weight:840;outline:none}.node-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:160px}.node-actions button{position:relative;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:#64748b;background:transparent;cursor:pointer}.node-actions button:hover{background:#e2e8f0d1;color:#0f172a}.node-actions button.is-active-ai{color:#7c3aed;background:#f5f3ff}.node-actions button.is-inactive-ai:after{content:"";position:absolute;width:17px;height:2px;border-radius:999px;background:#ef4444;transform:rotate(-42deg)}.node-actions button.is-company-action{color:#0f766e;background:#ccfbf1}.node-actions button.is-memo-color-action{color:var(--memo-ink, #7c2d12);background:var(--memo-ring, rgba(255, 128, 82, .22))}.node-actions button[aria-pressed=true]{color:#1d4ed8;background:#dbeafe}.node-actions button.is-memo-color-action[aria-pressed=true]{color:var(--memo-ink, #7c2d12);background:var(--memo-ring, rgba(255, 128, 82, .22))}.node-external-rail{position:absolute;top:calc(100% + 8px);left:50%;z-index:14;width:max-content;min-width:min(100%,190px);max-width:min(460px,calc(100vw - 48px));display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:4px;pointer-events:none;cursor:default;opacity:.72;transform:translate(-50%,-2px);transform-origin:top center;filter:drop-shadow(0 12px 24px rgba(15,23,42,.14));transition:opacity .14s ease,transform .14s ease}.node-external-action-rail{position:absolute;bottom:calc(100% + 8px);left:50%;z-index:15;width:max-content;min-width:min(100%,190px);max-width:min(460px,calc(100vw - 48px));display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:4px;pointer-events:none;cursor:default;opacity:0;transform:translate(-50%,4px);transform-origin:bottom center;filter:drop-shadow(0 12px 24px rgba(15,23,42,.14));transition:opacity .14s ease,transform .14s ease}.canvas-node:hover .node-external-rail,.canvas-node.is-selected .node-external-rail,.canvas-node:hover .node-external-action-rail,.canvas-node.is-selected .node-external-action-rail{opacity:1;pointer-events:auto;transform:translate(-50%)}.node-external-rail__meta,.node-external-rail__actions,.node-external-rail__pins,.node-surface-badges,.node-surface-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:4px;min-width:0}.node-external-rail__meta{flex:0 1 auto;max-width:100%}.node-external-rail__actions{flex:0 1 auto;max-width:min(420px,calc(100vw - 48px));max-height:0;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(-3px);transition:max-height .16s ease,opacity .14s ease,transform .14s ease}.canvas-node:hover .node-external-rail__actions,.canvas-node.is-selected .node-external-rail__actions{max-height:112px;opacity:1;pointer-events:auto;transform:translateY(0)}.node-external-rail__pins{flex:0 0 auto;max-width:100%}.node-external-action-rail .node-actions,.node-external-action-rail .node-agent-command-actions,.node-external-action-rail .node-code-note-actions,.node-external-action-rail .node-company-quick-actions,.node-external-action-rail .node-embed-actions,.node-external-action-rail .node-video-actions,.node-external-action-rail .node-asset-actions{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;gap:4px;max-width:min(100%,420px);margin:0;padding:3px;border:1px solid rgba(203,213,225,.78);border-radius:8px;background:#fffffff0;box-shadow:inset 0 1px #ffffffbd}.node-external-action-rail .node-actions button{width:24px;height:24px;background:#fff}.node-external-action-rail .node-surface-actions{max-width:min(100%,420px)}.node-external-action-rail .node-result-row{position:static;z-index:auto;display:flex;gap:4px;padding:0;pointer-events:auto}.node-external-action-rail .node-pin,.node-external-action-rail .node-context-source{min-height:24px;padding:0 8px;border-color:#cbd5e1d1;background:#fffffff0;box-shadow:0 1px #ffffffbd}.node-external-action-rail .node-context-source{position:static;width:auto;height:24px;justify-content:center;transform:none}.node-external-action-rail .node-context-source span{display:inline}.node-external-rail .node-tags{display:flex;flex-wrap:wrap;gap:4px;padding:0}.node-surface-badges{max-width:100%}.node-external-rail .node-tags span,.node-external-rail .node-mask-badge,.node-external-rail .node-image-stack-badge,.node-external-rail .node-embed-badge,.node-external-rail .node-video-badge,.node-external-rail .node-agent-command-state,.node-external-rail .node-code-note-state,.node-external-rail .node-company-state{min-height:20px;margin:0;padding:2px 7px;border-radius:999px;font-size:10px;line-height:1.2;box-shadow:0 1px #ffffffbd}.node-external-rail .node-agent-command-state,.node-external-rail .node-code-note-state,.node-external-rail .node-company-state{display:inline-flex;flex:0 1 auto;max-width:min(100%,260px);gap:5px;overflow:hidden;white-space:nowrap}.node-external-rail .node-agent-command-state span,.node-external-rail .node-code-note-state span{padding:1px 5px;font-size:10px}.node-external-rail .node-company-state strong{max-width:150px}.node-external-rail .node-company-state span{margin-left:0}.node-external-rail .node-mask-badge,.node-external-rail .node-image-stack-badge,.node-external-rail .node-embed-badge,.node-external-rail .node-video-badge{position:static;top:auto;right:auto;left:auto;max-width:min(180px,100%);height:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-external-action-rail .node-agent-command-actions button,.node-external-action-rail .node-code-note-actions button,.node-external-action-rail .node-company-quick-actions button,.node-external-action-rail .node-embed-actions button,.node-external-action-rail .node-video-actions button,.node-external-action-rail .node-asset-actions button{margin:0}.node-memo-palette{position:absolute;bottom:calc(100% + 44px);right:12px;z-index:24;display:grid;grid-template-columns:repeat(6,20px);gap:6px;padding:8px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#fffffff5;box-shadow:0 0 0 1px #0f172a0a,0 14px 34px #0f172a33;cursor:default}.node-memo-palette button{width:20px;height:20px;padding:0;border:2px solid rgba(255,255,255,.96);border-radius:999px;background:var(--memo-swatch);box-shadow:0 0 0 1px #0f172a29;cursor:pointer}.node-memo-palette button:hover,.node-memo-palette button.is-active{box-shadow:0 0 0 2px var(--memo-swatch),0 0 0 6px var(--memo-swatch-ring)}.node-template-card{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:10px;min-height:0;padding:4px 12px 12px}.node-template-card__summary{display:grid;gap:4px;padding:10px 11px;border:1px solid rgba(203,213,225,.74);border-radius:8px;background:#ffffffc7}.node-template-card__summary strong,.node-template-card__summary span,.node-template-card__options strong,.node-template-card__options span{min-width:0;overflow:hidden;text-overflow:ellipsis}.node-template-card__summary strong{color:#0f172a;font-size:13px;line-height:1.35}.node-template-card__summary span{color:#64748b;font-size:11px;line-height:1.4}.node-template-card__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.node-template-card__options button{min-width:0;min-height:58px;display:grid;gap:3px;padding:8px 9px;border:1px solid rgba(203,213,225,.84);border-radius:8px;color:#334155;background:#fff;cursor:pointer;text-align:left}.node-template-card__options button.is-active{border-color:#2563eb80;background:#eff6ff}.node-template-card__options strong{color:#0f172a;font-size:12px;white-space:nowrap}.node-template-card__options span{color:#64748b;font-size:10.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.node-template-card__inputs{display:grid;gap:8px;min-height:0;overflow:auto;padding-right:3px}.node-template-card__field{display:grid;gap:6px;padding:9px;border:1px solid rgba(226,232,240,.9);border-radius:8px;background:#ffffffd6}.node-template-card__field span{display:grid;gap:3px}.node-template-card__field strong{color:#0f172a;font-size:12px}.node-template-card__field small,.node-template-card__empty,.node-template-card__missing{color:#64748b;font-size:11px;line-height:1.42}.node-template-card__field input,.node-template-card__field select,.node-template-card__field textarea{width:100%;min-width:0;border:1px solid rgba(203,213,225,.9);border-radius:7px;color:#0f172a;background:#f8fafc;font-size:12px;outline:none}.node-template-card__field input,.node-template-card__field select{height:32px;padding:0 9px}.node-template-card__field textarea{min-height:72px;resize:vertical;padding:8px 9px;line-height:1.45}.node-template-card__validation{padding:8px 9px;border:1px solid rgba(245,158,11,.34);border-radius:7px;color:#92400e;background:#fffbeb;font-size:11px;font-weight:760}.node-template-card__generate{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;color:#fff;background:#0f172a;font-size:12px;font-weight:840;cursor:pointer}.node-template-card__generate:disabled{cursor:default;opacity:.45}.node-company-launcher{position:fixed;z-index:3200;width:min(332px,calc(100vw - 32px));display:grid;gap:10px;padding:14px;border:1px solid rgba(20,184,166,.28);border-radius:8px;color:#0f172a;background:#fffffffa;box-shadow:0 0 0 1px #0f172a0a,0 20px 48px #0f172a38;cursor:default;-webkit-user-select:none;user-select:none}.node-company-launcher__eyebrow{color:#0f766e;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.node-company-launcher h4,.node-company-launcher p{margin:0}.node-company-launcher h4{font-size:14px;line-height:1.25}.node-company-launcher p{color:#475569;font-size:12px;line-height:1.55}.node-company-mode-list{display:grid;gap:7px;max-height:170px;overflow:auto}.node-company-mode-list button{min-height:56px;display:grid;gap:3px;padding:9px 10px;border:1px solid rgba(203,213,225,.84);border-radius:8px;color:#334155;background:#f8fafc;text-align:left;cursor:pointer}.node-company-mode-list button:hover,.node-company-mode-list button.is-selected{border-color:#14b8a680;background:#ecfeff}.node-company-mode-list strong,.node-company-mode-list span{display:block}.node-company-mode-list strong{color:#0f172a;font-size:12px}.node-company-mode-list span{color:#64748b;font-size:11px;line-height:1.4}.node-company-subagents{display:flex;align-items:flex-start;gap:8px;width:100%;padding:9px 10px;border:1px solid rgba(203,213,225,.84);border-radius:8px;background:#f8fafc;color:#334155;font-size:12px;font-weight:760;line-height:1.4;text-align:left;cursor:pointer}.node-company-subagents[aria-pressed=true]{border-color:#14b8a66b;background:#f0fdfa}.node-company-toggle-indicator{min-width:34px;min-height:22px;display:inline-flex;align-items:center;justify-content:center;margin-top:-1px;border-radius:999px;color:#475569;background:#e2e8f0;font-size:10px;font-weight:900}.node-company-subagents[aria-pressed=true] .node-company-toggle-indicator{color:#0f766e;background:#ccfbf1}.node-company-subagents>span:last-child{min-width:0;display:inline-flex;align-items:flex-start;gap:6px;flex:1 1 auto}.node-company-subagents svg{margin-top:1px;flex:0 0 auto;color:#0f766e}.node-company-launcher__actions{display:flex;justify-content:flex-end;gap:8px}.node-company-launcher__actions .btn{min-height:34px;padding:0 12px;border-radius:8px;font-size:12px}.node-tags{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 8px}.node-tags span{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;color:#475569;background:#f1f5f9;font-size:10px;font-weight:780}.node-status--running{color:#075985!important;background:#e0f2fe!important}.node-status--paused{color:#92400e!important;background:#fef3c7!important}.node-status--done{color:#047857!important;background:#d1fae5!important}.node-status--blocked{color:#be123c!important;background:#ffe4e6!important}.node-company-state{display:flex;align-items:center;gap:6px;min-height:28px;margin:0 12px 8px;padding:5px 8px;border:1px solid rgba(20,184,166,.22);border-radius:8px;color:#0f766e;background:#f0fdfa;font-size:11px;line-height:1.2}.node-company-state strong{min-width:0;overflow:hidden;color:#0f172a;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.node-company-state span{margin-left:auto;color:#0f766e;font-weight:850;white-space:nowrap}.node-company-quick-actions{display:flex;align-items:center;gap:4px;min-height:28px;margin:-3px 12px 8px;padding:3px;border:1px solid rgba(15,118,110,.14);border-radius:8px;background:#f0fdfab8}.node-company-quick-actions button{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:#0f766e;background:#fff;box-shadow:inset 0 0 0 1px #0f766e1f;cursor:pointer}.node-company-quick-actions button:hover:not(:disabled){color:#0f172a;background:#ccfbf1}.node-company-quick-actions button:disabled{color:#94a3b8;background:#f8fafc;cursor:default;opacity:.72}.node-company-quick-actions [data-testid=node-company-remove]{margin-left:auto;color:#be123c}.node-company-quick-actions [data-testid=node-company-remove]:hover:not(:disabled){color:#7f1d1d;background:#ffe4e6}.node-chunked-text-state{flex:0 1 auto;min-height:20px;max-width:min(100%,220px);display:inline-flex;align-items:center;gap:5px;margin:0;padding:2px 7px;border:1px solid rgba(37,99,235,.18);border-radius:999px;color:#1d4ed8;background:#eff6fff5;box-shadow:0 1px #ffffffbd;font-size:10px;line-height:1.2}.node-chunked-text-state strong{min-width:0;max-width:92px;overflow:hidden;color:#0f172a;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.node-chunked-text-state span{margin-left:0;color:#1d4ed8;font-weight:850;white-space:nowrap}.canvas-node textarea{flex:1 1 auto;min-height:0;margin:0 12px 12px;padding:12px;border:1px solid rgba(226,232,240,.75);border-radius:6px;color:#1f2937;background:#ffffffb8;box-shadow:inset 0 1px #ffffffc7;font-size:12px;line-height:1.55;resize:none;outline:none;-webkit-user-select:text;user-select:text;pointer-events:auto}.node-markdown-card{flex:1 1 auto;min-height:0;display:grid;grid-template-rows:minmax(70px,.72fr) minmax(78px,1fr);gap:8px;margin:0 12px 12px}.node-markdown-preview{min-height:0;overflow:auto;padding:10px;border:1px solid rgba(14,165,233,.2);border-radius:6px;color:#0f172a;background:#ffffffb8;box-shadow:inset 0 1px #ffffffc7;font-size:11px;line-height:1.42;overscroll-behavior:contain;pointer-events:auto;scrollbar-gutter:stable}.node-markdown-preview>*{margin:0 0 5px}.node-markdown-preview>:last-child{margin-bottom:0}.node-md-empty{color:#64748b;font-style:italic}.node-md-heading{display:block;overflow:hidden;color:#075985;font-weight:880;text-overflow:ellipsis;white-space:nowrap}.node-md-heading--1,.node-md-heading--2{font-size:13px}.node-md-quote{padding-left:8px;border-left:2px solid rgba(14,165,233,.42);color:#475569}.node-md-list-item{display:flex;gap:6px}.node-md-list-item span{color:#0284c7;font-weight:900}.node-md-list-item p{min-width:0}.node-md-code,.node-md-table-row{display:block;overflow:hidden;padding:3px 5px;border-radius:4px;color:#334155;background:#e2e8f0b8;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.node-markdown-card textarea{margin:0}.node-csv-card{flex:1 1 auto;min-height:0;display:grid;grid-template-rows:minmax(130px,1fr) minmax(74px,.42fr);gap:8px;margin:0 12px 12px}.csv-table-scroll{position:relative;min-height:0;overflow:auto;border:1px solid rgba(34,197,94,.22);border-radius:6px;color:#0f172a;background:#ffffffc7;box-shadow:inset 0 1px #ffffffd1;overscroll-behavior:contain;pointer-events:auto;scrollbar-gutter:stable both-edges}.csv-table{min-width:100%;border-collapse:separate;border-spacing:0;font-size:10.5px;line-height:1.35}.csv-table th{position:sticky;top:0;z-index:1;padding:0;border-bottom:1px solid rgba(148,163,184,.34);background:#f0fdf4f5}.csv-table-header-button{display:flex;width:100%;min-width:84px;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border:0;color:#166534;background:transparent;font:inherit;font-weight:850;text-align:left;cursor:pointer}.csv-table-header-button small{color:#16a34a;font-size:9px;font-weight:900}.csv-table-header-button.is-active{color:#0f172a;background:#dcfce7db}.csv-table td{max-width:220px;padding:6px 8px;border-right:1px solid rgba(226,232,240,.78);border-bottom:1px solid rgba(226,232,240,.78);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csv-table tr:nth-child(2n) td{background:#f8fafcc7}.csv-table-status{position:sticky;left:0;bottom:0;display:flex;gap:8px;padding:6px 8px;border-top:1px solid rgba(187,247,208,.72);color:#166534;background:#f0fdf4f0;font-size:10px;font-weight:820}.node-csv-card textarea{margin:0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;overflow:auto;white-space:pre}.canvas-node--memo textarea{border-color:var(--memo-border);color:var(--memo-ink);background:#ffffff94}.canvas-node.is-ai-disabled textarea{background:#f8fafca3}.canvas-node.is-nowrap textarea{overflow:auto;white-space:pre}.canvas-node.is-collapsed textarea{overflow:hidden}.canvas-node.is-company-candidate{border-color:#0f766e75;box-shadow:0 0 0 3px #0f766e14,0 18px 42px #0f172a24}.company-focus-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3300;display:flex;align-items:stretch;justify-content:stretch;padding:18px;background:#0f172aad;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.company-focus-dialog{width:100%;min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(203,213,225,.9);border-radius:12px;color:#0f172a;background:#f8fafc;box-shadow:0 28px 80px #0f172a57}.company-focus-head{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid rgba(226,232,240,.95);background:#fff}.company-focus-head>button,.company-focus-head__actions button,.company-focus-primary,.company-focus-approval button,.company-focus-preview button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:850}.company-focus-head>button{width:38px;color:#475569;background:#f1f5f9}.company-focus-head>div:nth-child(2){min-width:0;display:grid;gap:3px}.company-focus-head span{min-width:0}.company-focus-head>div:nth-child(2) span{color:#0f766e;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.company-focus-head strong{min-width:0;overflow:hidden;color:#0f172a;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.company-focus-head small{min-width:0;overflow:hidden;color:#64748b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.company-focus-head__actions{min-width:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.company-focus-head__actions>span{min-height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 10px;border-radius:999px;color:#334155;background:#f1f5f9;font-size:11px;font-weight:850}.company-focus-head__actions button{padding:0 10px;color:#334155;background:#f8fafc;box-shadow:inset 0 0 0 1px #cbd5e1d6}.company-focus-head__actions button.is-danger{color:#be123c;background:#fff1f2;box-shadow:inset 0 0 0 1px #fda4afb8}.company-focus-main{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,360px)}.company-focus-main>main,.company-focus-side{min-height:0;overflow:auto;padding:16px}.company-focus-side{display:grid;align-content:start;gap:14px;border-left:1px solid rgba(226,232,240,.95);background:#fff}.company-focus-side section,.company-focus-graph{border:1px solid rgba(226,232,240,.92);border-radius:10px;background:#fff}.company-focus-side section{display:grid;gap:10px;padding:12px}.company-focus-side p{margin:0;color:#64748b;font-size:12px;line-height:1.55}.company-focus-side textarea{width:100%;min-height:104px;resize:vertical;border:1px solid rgba(203,213,225,.9);border-radius:8px;padding:10px;color:#0f172a;background:#f8fafc;font-size:13px;line-height:1.5;outline:none}.company-focus-side textarea:focus{border-color:#14b8a694;box-shadow:0 0 0 3px #14b8a61f}.company-focus-primary,.company-focus-preview button{color:#fff;background:#0f172a}.company-focus-primary:disabled{opacity:.48;cursor:default}.company-focus-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.company-focus-metric{display:grid;gap:5px;min-height:86px;align-content:center;padding:12px;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px #e2e8f0eb}.company-focus-metric span{color:#64748b;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.company-focus-metric strong{color:#0f172a;font-size:26px;font-weight:920}.company-focus-metric--blue{background:#eff6ff}.company-focus-metric--amber{background:#fffbeb}.company-focus-metric--teal{background:#f0fdfa}.company-focus-section-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.company-focus-section-head div{min-width:0;display:inline-flex;align-items:center;gap:7px}.company-focus-section-head strong{color:#334155;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.company-focus-section-head span{color:#64748b;font-size:11px;font-weight:850}.company-focus-graph{display:grid;gap:12px;padding:14px}.company-focus-lanes{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:12px;overflow-x:auto;padding-bottom:4px}.company-focus-lane{min-width:230px;display:grid;align-content:start;gap:10px;border:1px solid rgba(226,232,240,.92);border-radius:10px;padding:10px;background:#f8fafc}.company-focus-lane header{display:flex;align-items:center;justify-content:space-between;gap:10px}.company-focus-lane header strong{color:#0f172a;font-size:13px}.company-focus-lane header span{color:#64748b;font-size:11px;font-weight:820}.company-focus-node-list{display:grid;gap:9px}.company-focus-node{display:grid;gap:8px;padding:10px;border:1px solid rgba(226,232,240,.92);border-radius:9px;background:#fff}.company-focus-node.is-empty{border-style:dashed;background:#ffffff9e}.company-focus-node div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.company-focus-node span,.company-focus-approval span,.company-focus-artifacts span,.company-focus-preview span{color:#64748b;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.company-focus-node b{color:#0f766e;font-size:10px}.company-focus-node strong,.company-focus-approval strong,.company-focus-artifacts strong,.company-focus-preview strong{color:#0f172a;font-size:13px;line-height:1.3}.company-focus-node p{margin:0;color:#64748b;font-size:12px;line-height:1.45}.company-focus-node small{color:#475569;font-size:11px;line-height:1.4}.company-focus-progress{height:6px;overflow:hidden;border-radius:999px;background:#e2e8f0}.company-focus-progress i{display:block;height:100%;border-radius:inherit;background:#14b8a6}.company-focus-approval{display:grid;gap:7px;padding:10px;border:1px solid rgba(245,158,11,.28);border-radius:9px;background:#fffbeb}.company-focus-approval--approved{border-color:#14b8a647;background:#f0fdfa}.company-focus-approval--rejected{border-color:#f43f5e47;background:#fff1f2}.company-focus-approval div{display:flex;flex-wrap:wrap;gap:7px}.company-focus-approval button{padding:0 10px;color:#334155;background:#fff;box-shadow:inset 0 0 0 1px #cbd5e1d1}.company-focus-artifacts{display:grid;gap:7px;max-height:170px;overflow:auto}.company-focus-artifacts button{display:grid;gap:3px;min-height:54px;padding:9px 10px;border:1px solid rgba(226,232,240,.92);border-radius:8px;background:#f8fafc;text-align:left;cursor:pointer}.company-focus-artifacts button.is-selected{border-color:#14b8a680;background:#ecfeff}.company-focus-preview{display:grid;gap:8px;padding:10px;border:1px solid rgba(20,184,166,.24);border-radius:9px;background:#f0fdfa}.company-focus-preview pre{max-height:180px;overflow:auto;margin:0;padding:10px;border-radius:8px;color:#334155;background:#fff;font-size:11px;line-height:1.5;white-space:pre-wrap}.node-image-wrap{position:relative;flex:1;min-height:0;margin:0 12px 12px;overflow:hidden;border-radius:7px;border:1px solid rgba(226,232,240,.9)}.secure-image{position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:#f8fafc}.secure-image img{width:100%;height:100%;display:block;object-fit:cover}.secure-image--loading img{opacity:0}.secure-image__loading,.secure-image__fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.secure-image__loading{background:linear-gradient(90deg,#f8fafcb8,#e2e8f06b,#f8fafcb8)}.secure-image__loading span{width:18px;height:18px;border:2px solid rgba(37,99,235,.18);border-top-color:#2563eb;border-radius:999px;animation:spinIcon .9s linear infinite}.secure-image__fallback{color:#64748b;background:linear-gradient(45deg,rgba(226,232,240,.62) 25%,transparent 25%),linear-gradient(-45deg,rgba(226,232,240,.62) 25%,transparent 25%),#f8fafc;background-size:18px 18px}.node-image-wrap--mask{border-color:#0891b25c;background:linear-gradient(45deg,rgba(207,250,254,.44) 25%,transparent 25%),linear-gradient(-45deg,rgba(207,250,254,.44) 25%,transparent 25%),#f8fafc;background-size:18px 18px}.node-mask-badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border:1px solid rgba(8,145,178,.3);border-radius:999px;color:#0e7490;background:#f0fdfaeb;font-size:10px;font-weight:900;text-transform:uppercase}.node-image-wrap--stack{display:grid}.node-image-wrap--stack>.secure-image{grid-area:1 / 1}.node-image-stack-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border:1px solid rgba(37,99,235,.24);border-radius:999px;color:#1d4ed8;background:#ffffffeb;box-shadow:0 6px 16px #0f172a1f;font-size:11px;font-weight:800;line-height:1}.node-image-stack-rail{display:flex;gap:6px;max-width:min(220px,100%);overflow-x:auto;padding:3px;border:1px solid rgba(226,232,240,.86);border-radius:8px;background:#ffffffe6;box-shadow:0 8px 22px #0f172a1f}.node-image-stack-rail button{flex:0 0 30px;width:30px;height:24px;overflow:hidden;padding:0;border:2px solid transparent;border-radius:6px;background:#f8fafc;cursor:pointer}.node-image-stack-rail button.is-active{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb24}.node-image-stack-rail button .secure-image{width:100%;height:100%}.node-embed-card{flex:1 1 auto;min-height:0;display:grid;grid-template-rows:minmax(78px,1fr) minmax(44px,.48fr) auto;gap:7px;margin:0 12px 12px;overflow:hidden}.node-embed-preview{position:relative;width:100%;min-height:0;overflow:hidden;border:1px solid rgba(226,232,240,.94);border-radius:7px;background:linear-gradient(135deg,#f8fafcfa,#eff6ffe6),#f8fafc}.node-embed-preview img{display:block;width:100%;height:100%;object-fit:cover}.node-embed-placeholder{width:100%;height:100%;min-height:74px;display:grid;place-items:center;align-content:center;gap:5px;color:#475569}.node-embed-placeholder svg{color:#2563eb}.node-embed-placeholder strong,.node-embed-placeholder span{max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-embed-placeholder strong{color:#0f172a;font-size:12px;font-weight:880}.node-embed-placeholder span{color:#64748b;font-size:10px;font-weight:780}.node-embed-badge{max-width:calc(100% - 14px);overflow:hidden;padding:3px 7px;border:1px solid rgba(191,219,254,.9);border-radius:999px;color:#1d4ed8;background:#eff6ffeb;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:880;text-transform:uppercase}.node-embed-actions{display:flex;gap:4px;min-height:0}.node-embed-actions button{flex:0 0 auto;min-width:0;min-height:24px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 8px;border:1px solid rgba(203,213,225,.88);border-radius:7px;color:#334155;background:#f8fafc;cursor:pointer;font-size:11px;font-weight:820}.node-embed-actions button:hover{color:#0f172a;border-color:#2563eb38;background:#eff6ff}.node-embed-card textarea{margin:0}.node-embed-source{min-width:0;overflow:hidden;color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:760}.node-video-card{flex:1 1 auto;min-height:0;display:grid;grid-template-rows:minmax(74px,1fr) minmax(44px,.52fr) auto;gap:7px;margin:0 12px 12px;overflow:hidden}.node-video-player,.node-video-placeholder{width:100%;height:100%;min-height:0;overflow:hidden;border:1px solid rgba(226,232,240,.94);border-radius:7px;background:#0f172a}.node-video-player{display:block;object-fit:contain}.node-video-placeholder{display:grid;place-items:center;align-content:center;gap:5px;color:#475569;background:linear-gradient(135deg,#f8fafcf5,#f1f5f9f5),#f8fafc}.node-video-placeholder svg{color:#2563eb}.node-video-placeholder strong{max-width:calc(100% - 24px);overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:880}.node-video-placeholder span{max-width:calc(100% - 24px);overflow:hidden;color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:780}.node-video-actions{display:flex;gap:4px;min-height:0}.node-video-actions button{flex:0 0 auto;min-width:0;min-height:24px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 8px;border:1px solid rgba(203,213,225,.88);border-radius:7px;color:#334155;background:#f8fafc;cursor:pointer;font-size:11px;font-weight:820}.node-video-actions button:hover{color:#0f172a;border-color:#2563eb38;background:#eff6ff}.node-video-card textarea{margin:0}.node-video-source{min-width:0;overflow:hidden;color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:760}.node-remote-monitor{position:relative;flex:1;height:100%;min-height:0;display:block;margin:0;padding:0;border:0;border-radius:8px;background:transparent;overflow:visible;scrollbar-width:none;-ms-overflow-style:none}.node-remote-monitor::-webkit-scrollbar{display:none;width:0;height:0}.node-remote-monitor__surface{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:9px;padding:10px;border:1px solid #e6edf6;border-radius:8px;background:#f8fbff;overflow:hidden;overflow:clip;scrollbar-width:none;-ms-overflow-style:none}.node-remote-monitor__surface::-webkit-scrollbar{display:none;width:0;height:0}.node-remote-monitor__head{min-width:0;min-height:38px;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 2px 6px;border-bottom:1px solid rgba(226,232,240,.95)}.node-remote-monitor__titlemark{min-width:0;display:flex;align-items:center;gap:9px}.node-remote-monitor__titlemark>span{width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(147,197,253,.64);border-radius:7px;color:#2563eb;background:#eff6fff2;box-shadow:inset 0 0 0 1px #fffc}.node-remote-monitor__titlemark>div{min-width:0;display:grid;gap:1px}.node-remote-monitor__titlemark small{overflow:hidden;color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:950;letter-spacing:.08em}.node-remote-monitor__titlemark strong{overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:950;line-height:1.1}.node-remote-monitor__head-actions{min-width:0;display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:8px}.node-remote-monitor__head-actions i{width:7px;height:7px;border-radius:999px;background:#2563eb;box-shadow:0 0 0 3px #2563eb17}.node-remote-monitor__head-status{min-height:26px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;border:1px solid #dbe4ef;border-radius:7px;color:#64748b;background:#f8fafc;font-size:9px;font-weight:950}.node-remote-monitor__head-status strong{color:#263241;letter-spacing:0}.node-remote-monitor__route-status.is-online{border-color:#14b8a659;color:#0f766e;background:#f0fdfa}.node-remote-monitor__route-status.is-online strong{color:#0f766e}.node-remote-monitor__route-status.is-warn{border-color:#f59e0b61;color:#92400e;background:#fffbeb}.node-remote-monitor__route-status.is-warn strong{color:#92400e}.node-remote-monitor__route-status.is-default{border-color:#dbe4ef;color:#64748b;background:#f8fafc}.node-remote-monitor__head-actions button{min-height:26px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 10px;border:1px solid rgba(147,197,253,.75);border-radius:7px;color:#2563eb;background:#fff;box-shadow:0 1px 2px #2563eb1f;cursor:pointer;font-size:10px;font-weight:950}.node-remote-monitor__head-actions button:disabled{color:#94a3b8;background:#f8fafc;cursor:not-allowed}.node-remote-monitor__head-actions button.is-active{border-color:#14b8a670;color:#0f766e;background:#f0fdfa;box-shadow:0 1px 2px #14b8a624}.node-remote-monitor__wall-shell{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 18px;gap:6px;overflow:hidden;overflow:clip}.node-remote-monitor__wall{min-height:0;display:grid;grid-template-columns:repeat(5,minmax(var(--remote-node-tile-min-width, 96px),1fr));grid-template-rows:repeat(6,minmax(var(--remote-node-tile-min-height, 58px),1fr));grid-auto-rows:minmax(var(--remote-node-tile-min-height, 58px),1fr);align-content:start;gap:6px;overflow:auto;overflow-x:auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;scrollbar-gutter:auto;-ms-overflow-style:none;touch-action:none;cursor:grab}.node-remote-monitor__wall::-webkit-scrollbar{display:none;width:0;height:0}.node-remote-monitor__wall::-webkit-scrollbar-thumb{border-radius:999px;background:#cbd5e1}.node-remote-monitor__wall:active,.node-remote-monitor__wall span:active{cursor:grabbing}.node-remote-monitor__wall span{position:relative;min-width:0;min-height:0;overflow:hidden;border:2px solid #e7edf5;background:linear-gradient(135deg,#f8fafcf2,#fffffff5),#fff;cursor:grab}.node-remote-monitor__wall span.is-online{border-color:#dbeafe;background:linear-gradient(135deg,#eff6fff5,#fffffffa),#fff}.node-remote-monitor__wall span.is-selected{border-color:#93c5fd;box-shadow:inset 0 0 0 1px #3b82f647}.node-remote-monitor__wall span.is-input-active{border-color:#2dd4bf;box-shadow:inset 0 0 0 1px #2dd4bf66,0 0 0 1px #2dd4bf29;cursor:crosshair}.node-remote-monitor__wall span:focus-visible{outline:2px solid rgba(37,99,235,.55);outline-offset:-2px}.node-remote-monitor__wall canvas{width:100%;height:100%;display:block}.node-remote-monitor__wall em{position:absolute;top:5px;right:5px;display:inline-flex;align-items:center;gap:3px;padding:2px 5px;border:1px solid rgba(13,148,136,.3);border-radius:999px;color:#0f766e;background:#f0fdfaf0;font-size:8px;font-style:normal;font-weight:900;text-transform:uppercase}.node-remote-monitor__taskbar{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:6px}.node-remote-monitor__taskbar input{min-width:0;height:26px;padding:0 9px;border:1px solid #dbe4ef;border-radius:7px;color:#263241;background:#fff;font-size:11px;font-weight:760}.node-remote-monitor__taskbar input::placeholder{color:#94a3b8}.node-remote-monitor__taskbar button{min-width:0;height:26px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;border:1px solid #dbe4ef;border-radius:7px;color:#2563eb;background:#eff6ff;cursor:pointer;font-size:10px;font-weight:900}.node-remote-monitor__taskbar button:disabled{color:#94a3b8;background:#f8fafc;cursor:not-allowed}.node-remote-monitor__wall small{position:absolute;left:6px;right:6px;bottom:5px;overflow:hidden;color:#475569;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:900;text-shadow:0 1px 0 rgba(255,255,255,.8)}.node-remote-monitor__pager{min-height:0;display:grid;grid-template-rows:20px minmax(0,1fr) 20px;gap:5px;align-items:stretch}.node-remote-monitor__pager button{width:18px;height:20px;display:grid;place-items:center;padding:0;border:1px solid #dbe4ef;border-radius:6px;color:#64748b;background:#fff;cursor:pointer}.node-remote-monitor__pager button:disabled{color:#cbd5e1;background:#f8fafc;cursor:not-allowed}.node-remote-monitor__pager-track{position:relative;display:block;min-height:0;border-radius:999px;background:linear-gradient(180deg,#edf3fb,#f8fafc);overflow:hidden}.node-remote-monitor__pager-track strong{position:absolute;left:3px;right:3px;top:var(--remote-node-page-top, 0%);height:var(--remote-node-page-height, 100%);min-height:16px;border-radius:999px;background:linear-gradient(180deg,#cbd5e1,#94a3b8)}.node-remote-monitor__footer{min-width:0;display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:6px}.node-remote-monitor__footer-scale,.node-remote-monitor__footer-group,.node-remote-monitor__footer-filter,.node-remote-monitor__footer-status{min-width:0;display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.node-remote-monitor__footer-scale{flex:none}.node-remote-monitor__footer-group{flex:none;min-height:22px;padding:0 7px;border:1px solid #e0e6ef;border-radius:999px;color:#5f6b7a;background:#fff;font-size:9px;font-weight:950}.node-remote-monitor__footer-filter{flex:0 1 286px;min-height:22px;padding:0 7px;border:1px solid #e0e6ef;border-radius:999px;color:#5f6b7a;background:#fff;font-size:9px;font-weight:950}.node-remote-monitor__footer-filter input{width:74px;min-width:46px;height:18px;border:0;outline:none;color:#263241;background:transparent;font:inherit;font-size:10px;font-weight:850}.node-remote-monitor__footer-filter input::placeholder{color:#94a3b8}.node-remote-monitor__footer-group select,.node-remote-monitor__footer-filter select{max-width:86px;border:0;outline:none;color:#263241;background:transparent;cursor:pointer;font:inherit;font-size:10px}.node-remote-monitor__footer-filter select{max-width:68px}.node-remote-monitor__footer-status{flex:1 1 320px;justify-content:center}.node-remote-monitor__footer-scale button{width:22px;min-width:22px;justify-content:center;padding:0}.node-remote-monitor__footer span{min-height:22px;display:inline-flex;align-items:center;gap:4px;padding:0 8px;border:1px solid #e0e6ef;border-radius:999px;color:#5f6b7a;background:#fff;font-size:10px;font-weight:900}.node-remote-monitor__footer strong{color:#263241;letter-spacing:0}.node-remote-monitor__footer i{width:6px;height:6px;border-radius:50%;background:#2dd4bf}.node-remote-monitor__footer button{min-height:22px;display:inline-flex;align-items:center;gap:4px;padding:0 8px;border:1px solid #dbe4ef;border-radius:999px;color:#2563eb;background:#eff6ff;cursor:pointer;font-size:10px;font-weight:900}.node-remote-monitor__footer button:disabled{color:#94a3b8;background:#f8fafc;cursor:not-allowed}.node-remote-monitor__message{min-width:0;margin:0;overflow:hidden;color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:760;text-align:center}.node-remote-monitor__external-rail{position:absolute;top:calc(100% + 8px);left:50%;z-index:24;width:min(max(100%,720px),calc(100vw - 48px));max-width:calc(100vw - 48px);display:grid;grid-template-columns:minmax(0,1fr);gap:5px;padding:6px;border:1px solid rgba(203,213,225,.82);border-radius:8px;background:#fffffff2;box-shadow:0 0 0 1px #ffffffbd inset,0 14px 28px #0f172a24;cursor:default;pointer-events:auto;transform:translate(-50%)}.node-remote-monitor__external-rail .node-remote-monitor__head-actions,.node-remote-monitor__external-rail .node-remote-monitor__taskbar,.node-remote-monitor__external-rail .node-remote-monitor__footer{width:100%}.node-remote-monitor__external-rail .node-remote-monitor__head-actions{padding-bottom:2px}.node-remote-monitor__external-rail .node-remote-monitor__footer{padding-top:1px}.node-remote-monitor__external-rail .node-remote-monitor__message{max-width:100%}.node-remote-control{flex:1 1 auto;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:8px;margin:0 12px 12px}.node-remote-control__bar{min-height:30px;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:7px}.node-remote-control__bar strong{min-width:0;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900}.node-remote-control__bar span{color:#64748b;font-size:10px;font-weight:850;text-transform:uppercase}.node-remote-control__bar button{min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 8px;border-radius:7px;color:#334155;background:#f1f5f9;cursor:pointer;font-size:10px;font-weight:850}.node-remote-control__bar button:disabled{color:#94a3b8;cursor:not-allowed}.node-remote-control__screen{position:relative;min-height:0;overflow:hidden;border:1px solid rgba(148,163,184,.34);border-radius:7px;background:#020617;outline:none}.node-remote-control__screen.is-input-active{border-color:#2563ebb8;box-shadow:0 0 0 3px #2563eb29;cursor:crosshair}.node-remote-control__screen canvas{width:100%;height:100%;display:block}.node-remote-control__screen em{position:absolute;right:8px;top:8px;display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border-radius:999px;color:#1d4ed8;background:#dbeafef0;font-size:10px;font-style:normal;font-weight:900}.node-remote-control__taskbar{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.node-remote-control__taskbar input{min-width:0;height:28px;padding:0 9px;border:1px solid rgba(203,213,225,.9);border-radius:7px;color:#0f172a;background:#fff;font-size:10px;font-weight:780;outline:none}.node-remote-control__taskbar input:focus{border-color:#2563ebad;box-shadow:0 0 0 3px #2563eb1f}.node-remote-control__taskbar input::placeholder{color:#94a3b8}.node-remote-control__taskbar button{height:28px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 9px;border-radius:7px;color:#1d4ed8;background:#dbeafe;cursor:pointer;font-size:10px;font-weight:900}.node-remote-control__taskbar button:disabled{color:#94a3b8;background:#f1f5f9;cursor:not-allowed}.node-remote-control__footer{display:flex;flex-wrap:wrap;gap:6px}.node-remote-control__footer span{min-width:0;display:inline-flex;align-items:center;gap:4px;min-height:21px;padding:0 7px;border-radius:999px;color:#64748b;background:#f1f5f9;font-size:9px;font-weight:850}.node-remote-control__footer strong{max-width:128px;overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap}.node-remote-control__message{min-width:0;margin:-2px 0 0;overflow:hidden;color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:760}.node-asset-card{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:10px;margin:0 12px 12px;padding:12px;border:1px solid rgba(226,232,240,.86);border-radius:7px;background:#ffffffc7}.node-asset-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;color:#475569;background:#f1f5f9}.node-asset-card--pdf .node-asset-icon{color:#dc2626;background:#fee2e2}.node-asset-card--file .node-asset-icon{color:#1d4ed8;background:#dbeafe}.node-asset-card--directory .node-asset-icon{color:#b45309;background:#fef3c7}.node-asset-copy{min-width:0;display:grid;align-content:center;gap:4px}.node-asset-copy strong,.node-asset-copy span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-asset-copy strong{color:#0f172a;font-size:13px}.node-asset-copy span{color:#64748b;font-size:11px;font-weight:760}.node-asset-meta{min-width:0;display:grid;grid-template-columns:48px minmax(0,1fr);gap:3px 6px;margin:3px 0 0;color:#64748b;font-size:10px;line-height:1.3}.node-asset-meta dt{color:#92400e;font-weight:850}.node-asset-meta dd{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-asset-actions{display:flex;gap:4px}.node-asset-actions button{min-height:24px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border-radius:7px;color:#334155;background:#f1f5f9;cursor:pointer;font-size:11px;font-weight:820}.node-asset-actions button:hover{color:#0f172a;background:#e2e8f0}.node-result-row{position:relative;z-index:2;flex:0 0 auto;display:flex;justify-content:space-between;gap:8px;padding:0 12px 12px;pointer-events:auto}.node-pin,.node-context-source{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:0 8px;border-radius:999px;color:#475569;background:#fff;border:1px solid rgba(203,213,225,.92);cursor:pointer;font-size:10px;font-weight:850}.node-pin--context{color:#1d4ed8;border-color:#3b82f647}.node-pin--result{color:#c2410c;border-color:#f9731652}.node-pin.has-result{box-shadow:0 0 14px #f9731638}.node-pin.can-receive,.node-context-source.can-receive{border-color:#2563eb;background:#eff6ff}.node-context-source{position:absolute;top:50%;right:-14px;width:28px;height:28px;justify-content:center;padding:0;transform:translateY(-50%)}.node-action-toast{position:fixed;top:82px;left:74px;z-index:240;min-height:36px;display:inline-flex;align-items:center;max-width:min(420px,calc(100vw - 96px));padding:0 12px;border:1px solid rgba(15,118,110,.22);border-radius:9px;color:#0f766e;background:#f0fdfaf0;font-size:13px;font-weight:820}.top-tabbar{position:fixed;left:56px;right:0;top:0;z-index:110;display:flex;height:36px;align-items:stretch;width:auto;max-width:none;overflow-x:auto;overflow-y:hidden;pointer-events:auto;border-bottom:1px solid rgba(203,213,225,.78);background:linear-gradient(90deg,#f8fafcf5,#f1f5f9e6);box-shadow:0 8px 24px #0f172a0a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.top-tabbar::-webkit-scrollbar{height:0}.tab-shell{flex:0 0 auto;display:inline-flex;align-items:stretch;max-width:250px;border-right:1px solid rgba(203,213,225,.72);background:#ffffffd1}.tab-shell.is-active{background:#eff6fff2}.tab-shell.is-dragging{opacity:.62}.tab-shell.is-drag-over{box-shadow:inset 3px 0 #2563eb;background:#dbeafef5}.tab-button{max-width:220px;min-width:80px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;color:#2563eb;background:transparent;cursor:pointer;font-size:12px;font-weight:780}.tab-button--current{justify-content:flex-start;padding:0 12px}.tab-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-button--plain{flex:0 0 auto;min-width:42px;border-right:1px solid rgba(203,213,225,.72);color:#64748b;background:#ffffffd1}.tab-close{flex:0 0 28px;width:28px;border:0;color:#94a3b8;background:transparent;cursor:pointer}.tab-close:hover{color:#ef4444;background:#fee2e2d1}.local-board-backdrop{position:fixed;top:36px;right:0;bottom:0;left:56px;z-index:180;background:#0f172a0a;cursor:default}.local-board-panel{position:fixed;top:108px;left:68px;z-index:190;width:min(360px,calc(100vw - 88px));max-height:min(500px,calc(100vh - 132px));display:grid;gap:10px;overflow:auto;padding:12px;border-radius:10px}.project-gallery-backdrop{top:36px;right:0;bottom:0;left:56px;z-index:180;background:#0f172a0b}.project-gallery-shell{position:fixed;top:36px;right:16px;bottom:16px;left:68px;z-index:190;display:flex;align-items:center;justify-content:center;padding-bottom:clamp(48px,8vh,104px);pointer-events:none}.project-gallery-positioner{width:100%;max-width:min(2720px,calc(100vw - 112px));transform:translateY(5vh);pointer-events:auto}.project-gallery-panel{position:relative;top:auto;left:auto;width:min(92vw,2720px);max-width:calc(100vw - 112px);height:min(clamp(640px,min(72vh,calc(100vh - 250px)),1280px),calc(100vh - 96px));max-height:none;grid-template-rows:auto minmax(0,1fr);gap:12px;overflow:hidden;padding:14px;border-radius:8px;border:1px solid rgba(203,213,225,.92);box-shadow:0 20px 60px #0f172a24}.local-board-panel.project-gallery-panel{left:auto;right:auto;max-height:none;overflow:hidden}.project-gallery-panel__head{min-height:62px;padding-bottom:10px;border-bottom:1px solid rgba(226,232,240,.88)}.project-gallery-title{display:grid;gap:3px;min-width:0}.project-gallery-title__eyebrow{display:inline-flex;align-items:center;gap:7px}.project-gallery-title p{margin:0;color:#64748b;font-size:12px;font-weight:720}.project-gallery-body{min-height:0;display:grid;grid-template-columns:clamp(220px,12vw,320px) minmax(0,1fr);gap:12px}.project-gallery-folder-rail,.project-gallery-board-area{min-height:0;display:grid;gap:10px}.project-gallery-folder-rail{align-content:start;padding:10px;border:1px solid rgba(226,232,240,.92);border-radius:8px;background:#f8fafcb8}.project-gallery-board-area{overflow:hidden}.project-gallery-current-name{display:grid;gap:6px}.project-gallery-current-name span,.project-gallery-rail-card span{color:#64748b;font-size:11px;font-weight:850;text-transform:uppercase}.project-gallery-rail-card{display:grid;gap:4px;padding:10px;border:1px solid rgba(203,213,225,.82);border-radius:8px;background:#fff}.project-gallery-rail-card strong{color:#0f172a;font-size:13px;font-weight:900}.project-gallery-rail-card small{color:#64748b;font-size:11px;font-weight:740}.project-gallery-workspace-summary small{max-height:44px;overflow:hidden;word-break:break-all}.project-gallery-startup-toggle{min-height:36px;display:inline-flex;align-items:center;gap:9px;padding:0 10px;border:1px solid rgba(203,213,225,.82);border-radius:8px;color:#334155;background:#fff;cursor:pointer;font-size:12px;font-weight:850}.project-gallery-startup-toggle input{width:14px;height:14px;accent-color:#2563eb}.project-gallery-board-section{min-height:0;overflow:hidden}.project-gallery-board-grid{min-height:0;max-height:none;grid-template-columns:repeat(auto-fill,minmax(clamp(210px,10vw,280px),1fr));align-content:start;gap:8px;overflow:auto;padding:1px 4px 4px 1px}.project-gallery-board-card{min-width:0;min-height:78px;border:1px solid rgba(226,232,240,.86);background:#fff}.project-gallery-board-card.is-active{border-color:#2563eb61;background:#eff6ff}.project-gallery-board-card .local-board-row__main{min-height:76px;align-items:flex-start;padding:12px}.project-gallery-board-card .local-board-row__action{height:76px}.project-gallery-open-tab-badge{width:fit-content;padding:3px 6px;border-radius:999px;color:#1d4ed8!important;background:#dbeafeeb;font-size:10px!important;font-weight:900!important}.project-gallery-bridge-section{min-height:0;overflow:hidden;padding-top:2px}.project-gallery-workspace-panel{display:grid;gap:8px;padding:10px;border:1px solid rgba(203,213,225,.86);border-radius:8px;background:#f8fafcd6}.project-gallery-workspace-panel__main{display:flex;align-items:flex-start;gap:9px;min-width:0}.project-gallery-workspace-panel__main svg{flex:0 0 auto;margin-top:2px;color:#2563eb}.project-gallery-workspace-panel__main span{min-width:0;display:grid;gap:2px}.project-gallery-workspace-panel__main strong{color:#0f172a;font-size:12px;font-weight:900}.project-gallery-workspace-panel__main small{color:#64748b;font-size:11px;font-weight:720;line-height:1.35;word-break:break-all}.project-gallery-workspace-panel__actions,.project-gallery-workspace-history{display:flex;flex-wrap:wrap;gap:6px}.project-gallery-workspace-panel__actions button,.project-gallery-workspace-history button{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border-radius:7px;border:1px solid rgba(203,213,225,.88);color:#334155;background:#fff;font-size:11px;font-weight:850;cursor:pointer}.project-gallery-workspace-panel__actions button:disabled,.project-gallery-workspace-history button:disabled{cursor:not-allowed;opacity:.55}.project-gallery-workspace-history button{max-width:100%;justify-content:flex-start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-gallery-bridge-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));max-height:148px}.local-board-section{display:grid;gap:8px;min-height:0}.local-board-section__title{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.local-board-section__title span{color:#334155;font-size:12px;font-weight:900}.local-board-section__title small{color:#64748b;font-size:11px;font-weight:760}.local-board-section__title button{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;color:#475569;background:#f1f5f9;cursor:pointer}.local-board-panel__head,.local-board-state,.local-board-row{display:flex;align-items:center;gap:10px;min-width:0}.local-board-panel__head{justify-content:space-between}.local-board-panel__actions{display:flex;gap:6px}.local-board-panel__head div{display:grid;gap:2px;min-width:0}.local-board-panel__head span{color:#64748b;font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.local-board-panel__head strong{color:#0f172a;font-size:17px}.board-name-input{width:100%;min-width:0;height:32px;padding:0 8px;border:1px solid rgba(203,213,225,.86);border-radius:7px;color:#0f172a;background:#ffffffe6;font-size:14px;font-weight:850;outline:none}.board-name-input:focus{border-color:#2563eb85;box-shadow:0 0 0 3px #2563eb1f}.local-board-panel__actions button,.local-board-state button{min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;color:#475569;background:#f1f5f9;cursor:pointer}.local-board-panel__actions button:disabled{opacity:.55;cursor:default}.project-storage-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border:1px solid rgba(226,232,240,.9);border-radius:9px;background:#f8fafc}.project-storage-tabs button{min-width:0;min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:7px;color:#64748b;background:transparent;cursor:pointer;font-size:12px;font-weight:850}.project-storage-tabs button.is-active{color:#0f172a;background:#fff;box-shadow:0 8px 20px #0f172a14}.project-cloud-shell{min-height:0;display:grid;gap:10px;padding:14px;border:1px solid rgba(191,219,254,.92);border-radius:10px;color:#334155;background:linear-gradient(180deg,#eff6ff,#fff 76%)}.project-cloud-shell__icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:#1d4ed8;background:#ffffffdb;box-shadow:inset 0 0 0 1px #93c5fd6b}.project-cloud-shell strong{color:#0f172a;font-size:14px;font-weight:900}.project-cloud-shell p{margin:0;color:#475569;font-size:12px;line-height:1.55}.project-cloud-shell__current{display:grid;gap:3px;padding:10px;border:1px solid rgba(203,213,225,.82);border-radius:8px;background:#ffffffdb}.project-cloud-shell__current span{color:#1d4ed8;font-size:11px;font-weight:900;text-transform:uppercase}.project-cloud-shell__current small{min-width:0;overflow:hidden;color:#64748b;font-size:11px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.project-cloud-shell button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;color:#fff;background:#0f172a;cursor:pointer;font-size:12px;font-weight:880}.project-cloud-shell button:disabled{color:#64748b;background:#dbeafe;cursor:default}.local-board-state{min-height:36px;padding:0 10px;border:1px solid rgba(203,213,225,.72);border-radius:8px;color:#475569;background:#f8fafc;font-size:12px;font-weight:820}.local-board-state--connected{color:#047857;border-color:#10b98147;background:#ecfdf5}.local-board-state--blocked{color:#1d4ed8;border-color:#3b82f640;background:#eff6ff}.local-board-state--unavailable{color:#b45309;border-color:#f59e0b4d;background:#fffbeb}.local-board-state button{width:auto;min-width:62px;margin-left:auto;padding:0 10px;color:#fff;background:#0f172a;font-size:11px;font-weight:850}.local-board-message{margin:0;color:#64748b;font-size:12px;line-height:1.5}.local-board-export{width:100%;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;color:#fff;background:#0f172a;cursor:pointer;font-size:12px;font-weight:880}.local-board-export:disabled{cursor:default;opacity:.52}.local-board-list{display:grid;gap:6px;overflow:auto;padding-right:2px}.local-board-list--stored{max-height:248px}.local-board-row{width:100%;min-height:48px;padding:8px 10px;border-radius:8px;color:#334155;background:#f8fafcd1;cursor:pointer;text-align:left}.local-board-row:hover:not(:disabled){background:#eef6ff}.local-board-row.is-active{border:1px solid rgba(37,99,235,.26);background:#eff6ff}.local-board-row:disabled{cursor:default;opacity:.72}.local-board-row--compound{display:flex;align-items:stretch;padding:0;overflow:hidden}.local-board-row--compound.is-editing{padding:6px}.local-board-row__main{min-width:0;min-height:46px;flex:1;display:inline-flex;align-items:center;gap:10px;padding:8px 10px;color:inherit;text-align:left;cursor:pointer}.local-board-row__action{width:36px;height:46px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:#64748b;cursor:pointer}.local-board-row__action:disabled{opacity:.35;cursor:default}.local-board-row__action:hover:not(:disabled){color:#0f172a;background:#e2e8f0c7}.stored-board-rename{min-width:0;width:100%;display:grid;grid-template-columns:minmax(0,1fr) 30px 30px;align-items:center;gap:6px}.stored-board-rename input{min-width:0;height:34px;padding:0 10px;border:1px solid rgba(37,99,235,.36);border-radius:7px;outline:none;color:#0f172a;background:#fff;font-size:13px;font-weight:780}.stored-board-rename input:focus{border-color:#2563ebb3;box-shadow:0 0 0 3px #2563eb1f}.stored-board-rename button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;color:#475569;background:#e2e8f0;cursor:pointer}.stored-board-rename button:hover{color:#0f172a;background:#cbd5e1}.local-board-row>svg,.local-board-row__main>svg{flex:0 0 auto;color:#2563eb}.local-board-row span{min-width:0;display:grid;gap:3px;flex:1}.local-board-row strong,.local-board-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.local-board-row strong{color:#0f172a;font-size:13px}.local-board-row small{color:#64748b;font-size:11px;font-weight:760}.runtime-status-cluster{position:fixed;left:72px;bottom:156px;z-index:155;width:min(430px,calc(100vw - 126px));display:grid;gap:8px;pointer-events:none}.runtime-status-row{display:flex;flex-wrap:wrap;gap:8px;pointer-events:auto}.runtime-status-pill{min-width:0;min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 7px 0 10px;border:1px solid rgba(203,213,225,.76);border-radius:8px;color:#475569;background:#ffffffeb;box-shadow:var(--soft-shadow);-webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1);font-size:12px;font-weight:840}.runtime-status-pill>span:last-of-type{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runtime-status-pill__icon{flex:0 0 auto;display:inline-flex;color:currentColor}.runtime-status-pill--connected,.runtime-status-pill--sync-ready{color:#047857;border-color:#10b9814d;background:#ecfdf5f0}.runtime-status-pill--checking,.runtime-status-pill--sync-syncing{color:#b45309;border-color:#f59e0b57;background:#fffbebf0}.runtime-status-pill--blocked{color:#1d4ed8;border-color:#3b82f647;background:#eff6fff0}.runtime-status-pill--unavailable,.runtime-status-pill--sync-error{color:#b91c1c;border-color:#f8717157;background:#fef2f2f0}.runtime-status-pill--idle,.runtime-status-pill--sync-offline{color:#64748b;background:#f8fafcf0}.runtime-status-pill__button,.runtime-status-pill__action,.runtime-local-warning button{flex:0 0 auto;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;cursor:pointer}.runtime-status-pill__button{width:26px;color:currentColor;background:#ffffffa8}.runtime-status-pill__button:disabled{cursor:default;opacity:.52}.runtime-status-pill__action{min-width:54px;padding:0 9px;color:#fff;background:#0f172a;font-size:11px;font-weight:860}.runtime-local-warning{min-height:58px;display:grid;grid-template-columns:30px minmax(0,1fr) 28px;align-items:center;gap:9px;padding:9px;border:1px solid rgba(245,158,11,.36);border-radius:8px;color:#92400e;background:#fffbebf5;box-shadow:var(--soft-shadow);pointer-events:none}.runtime-local-warning__icon{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:#b45309;background:#fef3c7}.runtime-local-warning__copy{min-width:0;display:grid;gap:2px}.runtime-local-warning__copy strong{color:#78350f;font-size:12px;font-weight:900}.runtime-local-warning__copy span{min-width:0;overflow:hidden;color:#92400e;font-size:11px;line-height:1.35;text-overflow:ellipsis}.runtime-local-warning button{width:28px;color:#92400e;background:#fef3c7d6;pointer-events:auto}.floating-panel,.canvas-toolbar,.global-input-shell,.bottom-controls button{border:1px solid rgba(203,213,225,.72);background:linear-gradient(180deg,#ffffffc7,#f1f5f994);box-shadow:0 14px 28px #0f172a14,inset 0 1px #ffffffb8;-webkit-backdrop-filter:blur(18px) saturate(1.12);backdrop-filter:blur(18px) saturate(1.12)}.canvas-toolbar{position:fixed;top:48px;left:calc(50% + 28px);z-index:140;display:flex;align-items:center;gap:6px;min-height:48px;padding:6px;border-radius:7px;transform:translate(-50%);pointer-events:auto;scrollbar-width:none}.canvas-toolbar::-webkit-scrollbar{display:none}.canvas-toolbar button,.bottom-controls button{width:36px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;color:#64748b;background:transparent;cursor:pointer}.canvas-toolbar button:hover:not(:disabled),.bottom-controls button:hover{color:#0f172a;background:#e2e8f0bf}.canvas-toolbar button:disabled{cursor:default;opacity:.38}.toolbar-separator{width:1px;height:28px;margin-inline:4px;background:#cbd5e1cc}.search-panel{position:fixed;top:108px;right:32px;z-index:150;width:min(330px,calc(100vw - 120px));display:grid;gap:6px;min-height:46px;padding:8px 10px;border-radius:7px}.search-input-row{display:flex;align-items:center;gap:8px;min-width:0}.search-panel input{min-width:0;flex:1;border:0;outline:none;color:#334155;background:transparent;font-size:13px}.search-panel button{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;color:#475569;background:transparent}.search-panel button:hover:not(:disabled){color:#0f172a;background:#eef4ff}.search-panel button:disabled{cursor:default;opacity:.35}.search-count{flex:0 0 auto;max-width:74px;overflow:hidden;color:#64748b;font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.search-current{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding-left:24px;color:#64748b;font-size:11px;font-weight:800}.search-current button{width:auto;max-width:208px;height:24px;padding:0 8px;overflow:hidden;color:#1d4ed8;text-overflow:ellipsis;white-space:nowrap}.search-results{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-width:calc(100vw - 120px);display:grid;gap:6px;padding:8px;border:1px solid rgba(203,213,225,.82);border-radius:9px;background:#fffffff5;box-shadow:var(--shadow)}.search-results button{display:grid;gap:3px;width:100%;height:auto;padding:10px;border-radius:7px;color:#334155;background:transparent;cursor:pointer;text-align:left}.search-results button:hover{background:#f1f5f9}.search-results button.is-active{color:#0f172a;background:#eaf1ff;box-shadow:inset 3px 0 #3b82f6}.search-results span{overflow:hidden;color:#64748b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.connection-toast{position:fixed;left:72px;bottom:86px;z-index:170;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;color:#334155;font-size:12px;font-weight:750}.connection-toast button{padding:4px 8px;border-radius:6px;color:#1d4ed8;background:#eff6ff;cursor:pointer}.result-popover{position:fixed;right:30px;top:112px;z-index:180;width:min(520px,calc(100vw - 110px));max-height:min(560px,calc(100vh - 170px));overflow:hidden;border-radius:10px}.result-popover__header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid rgba(203,213,225,.7)}.result-popover__header button{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:#64748b;background:#f1f5f9;cursor:pointer}.result-popover__actions{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid rgba(203,213,225,.62);background:#f8fafcb8}.result-popover__actions button{min-width:0;height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border-radius:7px;color:#334155;background:#ffffffd1;cursor:pointer;font-size:12px;font-weight:850;white-space:nowrap}.result-popover__actions button:hover{color:#1d4ed8;background:#eff6ff}.result-popover__body{max-height:min(456px,calc(100vh - 276px));margin:0;overflow:auto;padding:14px;color:#1f2937;background:#ffffffb8;font:15px/1.62 Inter,Noto Sans KR,ui-sans-serif,system-ui;white-space:pre-wrap}.pdf-viewer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:265;display:flex;align-items:center;justify-content:center;padding:22px 22px 22px 78px;background:#0f172a38}.pdf-viewer-dialog{width:min(980px,calc(100vw - 120px));height:min(780px,calc(100vh - 48px));display:grid;grid-template-rows:56px minmax(0,1fr);overflow:hidden;border:1px solid rgba(203,213,225,.92);border-radius:12px;background:#fff;box-shadow:0 30px 90px #0f172a47}.pdf-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px 0 16px;border-bottom:1px solid rgba(226,232,240,.9);background:#f8fafceb}.pdf-viewer-head div:first-child{min-width:0;display:grid;gap:2px}.pdf-viewer-head span{color:#64748b;font-size:11px;font-weight:860;letter-spacing:.06em;text-transform:uppercase}.pdf-viewer-head strong{min-width:0;overflow:hidden;color:#0f172a;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.pdf-viewer-actions{display:flex;gap:8px;flex:0 0 auto}.pdf-viewer-actions button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#64748b;background:#e2e8f0;cursor:pointer}.pdf-viewer-actions button:hover{color:#0f172a;background:#cbd5e1}.pdf-viewer-frame{width:100%;height:100%;border:0;background:#f8fafc}.directory-settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:264;display:flex;align-items:center;justify-content:center;padding:24px 24px 24px 80px;background:#0f172a2e}.directory-settings-dialog{width:min(520px,calc(100vw - 112px));max-height:min(440px,calc(100vh - 48px));display:grid;grid-template-rows:62px minmax(0,1fr) 58px;overflow:hidden;border:1px solid rgba(203,213,225,.92);border-radius:12px;background:#fff;box-shadow:0 22px 60px #0f172a33}.directory-settings-head,.directory-settings-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;border-bottom:1px solid rgba(226,232,240,.9)}.directory-settings-head div{min-width:0;display:grid;gap:4px}.directory-settings-head span{display:inline-flex;align-items:center;gap:7px;color:#92400e;font-size:11px;font-weight:900;text-transform:uppercase}.directory-settings-head strong{min-width:0;overflow:hidden;color:#0f172a;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.directory-settings-head button,.directory-settings-footer button{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(203,213,225,.92);border-radius:8px;background:#f8fafc;color:#475569;font-weight:820}.directory-settings-body{min-height:0;display:grid;align-content:start;gap:14px;overflow:auto;padding:18px}.directory-setting-row{min-width:0;display:grid;gap:7px}.directory-setting-row span{display:inline-flex;align-items:center;gap:7px;color:#334155;font-size:12px;font-weight:860}.directory-setting-row input{width:100%;min-width:0;height:38px;border:1px solid #cbd5e1;border-radius:8px;padding:0 11px;color:#0f172a;background:#fff;font-size:13px;font-weight:720;outline:0}.directory-setting-row input:focus{border-color:#d97706;box-shadow:0 0 0 3px #d9770624}.directory-settings-footer{justify-content:flex-end;border-top:1px solid rgba(226,232,240,.9);border-bottom:0;background:#f8fafc}.directory-settings-footer button{min-width:86px}.directory-settings-footer button.is-primary{border-color:#0f172a;color:#fff;background:#0f172a}.template-launcher-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;display:flex;align-items:flex-start;justify-content:center;padding:108px 24px 120px 78px;background:#0f172a12}.template-launcher-panel{width:min(760px,calc(100vw - 118px));max-height:min(720px,calc(100vh - 152px));display:grid;grid-template-rows:auto auto auto minmax(0,auto) auto auto;overflow:hidden;border-radius:12px;background:#fffffffa}.template-launcher-head,.template-launcher-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(226,232,240,.88)}.template-launcher-head div{min-width:0;display:grid;gap:3px}.template-launcher-head span{color:#64748b;font-size:11px;font-weight:880;letter-spacing:.06em;text-transform:uppercase}.template-launcher-head strong{overflow:hidden;color:#0f172a;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.template-launcher-head button,.template-launcher-secondary,.template-launcher-primary{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:840}.template-launcher-head button{width:34px;color:#64748b;background:#f1f5f9}.template-launcher-tabs{display:flex;gap:6px;overflow-x:auto;padding:10px 12px;border-bottom:1px solid rgba(226,232,240,.82);background:#f8fafcd1;scrollbar-width:none}.template-launcher-tabs::-webkit-scrollbar{display:none}.template-launcher-tabs button{min-width:0;min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border-radius:8px;color:#64748b;background:transparent;cursor:pointer;font-size:12px;font-weight:800}.template-launcher-tabs button.is-active{color:#0f172a;background:#fff;box-shadow:inset 0 0 0 1px #cbd5e1d1}.template-launcher-tabs span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-launcher-description,.template-launcher-prompt{margin:0;color:#475569;font-size:13px;line-height:1.55}.template-launcher-description{padding:12px 16px 0}.template-launcher-option-block,.template-launcher-form{display:grid;gap:10px;padding:12px 16px 0}.template-launcher-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.template-launcher-chips button{min-width:0;min-height:74px;display:grid;gap:4px;align-content:start;padding:10px;border:1px solid rgba(226,232,240,.9);border-radius:8px;color:#334155;background:#fff;cursor:pointer;text-align:left}.template-launcher-chips button.is-active{border-color:#2563eb70;background:#eff6ff}.template-launcher-chips strong,.template-launcher-chips span{min-width:0;overflow:hidden;text-overflow:ellipsis}.template-launcher-chips strong{color:#0f172a;font-size:13px;white-space:nowrap}.template-launcher-chips span{color:#64748b;font-size:11px;line-height:1.4}.template-launcher-form{overflow:auto;padding-bottom:10px}.template-launcher-field{display:grid;grid-template-columns:minmax(0,.92fr) minmax(220px,1.08fr);gap:12px;align-items:start;padding:11px 12px;border:1px solid rgba(226,232,240,.9);border-radius:9px;background:#fff}.template-launcher-field span{min-width:0;display:grid;gap:4px}.template-launcher-field strong{color:#0f172a;font-size:13px}.template-launcher-field small{color:#64748b;font-size:11px;line-height:1.4}.template-launcher-field input,.template-launcher-field select,.template-launcher-field textarea{width:100%;min-width:0;border:1px solid rgba(203,213,225,.9);border-radius:8px;color:#0f172a;background:#f8fafc;font-size:13px;outline:none}.template-launcher-field input,.template-launcher-field select{height:36px;padding:0 10px}.template-launcher-field textarea{min-height:86px;max-height:180px;resize:vertical;padding:9px 10px;line-height:1.5}.template-launcher-field input:focus,.template-launcher-field select:focus,.template-launcher-field textarea:focus{border-color:#2563eb85;box-shadow:0 0 0 3px #2563eb1f}.template-launcher-validation{margin:8px 16px 0;padding:9px 10px;border:1px solid rgba(245,158,11,.36);border-radius:8px;color:#92400e;background:#fffbeb;font-size:12px;font-weight:760;line-height:1.45}.template-launcher-footer{border-top:1px solid rgba(226,232,240,.88);border-bottom:0;background:#f8fafcbd}.template-launcher-secondary{min-width:82px;padding:0 12px;color:#475569;background:#e2e8f0}.template-launcher-primary{min-width:126px;padding:0 14px;color:#fff;background:#0f172a}.template-launcher-primary:disabled{cursor:default;opacity:.45}.template-studio-chooser-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:252;background:#0f172a0a}.template-studio-chooser{position:fixed;top:88px;right:24px;width:min(420px,calc(100vw - 96px));display:grid;gap:12px;padding:14px;border-radius:10px}.template-studio-chooser__head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.template-studio-chooser__head div{min-width:0;display:grid;gap:2px}.template-studio-chooser__head span{color:#2563eb;font-size:11px;font-weight:900}.template-studio-chooser__head strong{overflow:hidden;color:#0f172a;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.template-studio-chooser__head button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#64748b;background:#f1f5f9;cursor:pointer}.template-studio-chooser__description{margin:0;color:#64748b;font-size:12px;line-height:1.45}.template-studio-chooser__actions{display:grid;gap:8px}.template-studio-chooser__action{min-width:0;min-height:72px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:10px;border:1px solid rgba(226,232,240,.9);border-radius:9px;color:#334155;background:#fff;cursor:pointer;text-align:left}.template-studio-chooser__action:hover{border-color:#2563eb70;background:#eff6ff}.template-studio-chooser__icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;color:#2563eb;background:#eff6ff}.template-studio-chooser__action span:last-child{min-width:0;display:grid;gap:3px}.template-studio-chooser__action strong{color:#0f172a;font-size:13px}.template-studio-chooser__action small{color:#64748b;font-size:11px;line-height:1.35}.template-studio-toolbar-stack{position:fixed;left:72px;top:88px;z-index:166;display:grid;gap:8px;pointer-events:none}.template-studio-toolbar{width:max-content;max-width:min(820px,calc(100vw - 460px));display:flex;align-items:center;gap:6px;padding:6px;border-radius:9px;pointer-events:auto}.template-studio-toolbar__badge,.template-studio-toolbar__meta{min-height:30px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border-radius:8px;color:#0f172a;background:#eff6ff;font-size:12px;font-weight:860;white-space:nowrap}.template-studio-toolbar__badge svg{color:#2563eb}.template-studio-toolbar__meta{max-width:240px;color:#64748b;background:#f8fafc;overflow:hidden;text-overflow:ellipsis}.template-studio-toolbar__meta--selected{max-width:280px}.template-studio-toolbar button{min-width:31px;height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border-radius:7px;color:#64748b;background:transparent;cursor:pointer;font-size:11px;font-weight:880}.template-studio-toolbar button:hover,.template-studio-toolbar button.is-active{color:#0f172a;background:#e2e8f0d6}.template-studio-toolbar--roles,.template-studio-toolbar--selected{background:#f8fafcf5}.template-studio-toolbar--roles button,.template-studio-toolbar--selected button{min-width:54px}.template-studio-panel{position:fixed;top:88px;right:24px;bottom:28px;z-index:166;width:min(370px,calc(100vw - 96px));display:grid;grid-template-rows:54px minmax(0,1fr);overflow:hidden;border-radius:10px}.template-studio-panel__head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px 0 16px;border-bottom:1px solid rgba(226,232,240,.88);background:#f8fafcd6}.template-studio-panel__head div{min-width:0;display:grid;gap:2px}.template-studio-panel__head span,.template-studio-panel__section-head small{color:#64748b;font-size:11px;font-weight:820}.template-studio-panel__head strong{overflow:hidden;color:#0f172a;font-size:14px;font-weight:880;text-overflow:ellipsis;white-space:nowrap}.template-studio-panel__head button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#64748b;background:#f1f5f9;cursor:pointer}.template-studio-panel__body{min-height:0;overflow:auto;padding:12px}.template-studio-panel__section{display:grid;gap:10px;padding:12px;border-bottom:1px solid rgba(226,232,240,.86)}.template-studio-panel__section:last-child{border-bottom:0}.template-studio-panel__field{display:grid;gap:6px}.template-studio-panel__field span,.template-studio-panel__checkbox span,.template-studio-panel__section-head span{color:#475569;font-size:11px;font-weight:860}.template-studio-panel__field input,.template-studio-panel__field select,.template-studio-panel__field textarea{width:100%;min-width:0;border:1px solid rgba(203,213,225,.9);border-radius:8px;color:#0f172a;background:#fff;font-size:12px;font-weight:740}.template-studio-panel__field input,.template-studio-panel__field select{height:34px;padding:0 9px}.template-studio-panel__field textarea{min-height:72px;resize:vertical;padding:9px;line-height:1.45}.template-studio-panel__checkbox{min-height:30px;display:inline-flex;align-items:center;gap:9px}.template-studio-panel__checkbox input{width:16px;height:16px;accent-color:#0f172a}.template-studio-panel__node-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;border:1px solid rgba(226,232,240,.9);border-radius:8px;background:#f8fafc}.template-studio-panel__node-summary strong{overflow:hidden;color:#0f172a;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.template-studio-panel__node-summary span{flex:0 0 auto;padding:2px 7px;border-radius:999px;color:#1d4ed8;background:#eff6ff;font-size:10px;font-weight:900}.template-studio-panel__hint{margin:0;color:#64748b;font-size:12px;line-height:1.45}.template-studio-panel__section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.template-studio-panel__issues{display:grid;gap:6px}.template-studio-panel__issue{display:grid;gap:2px;padding:8px;border:1px solid rgba(245,158,11,.35);border-radius:8px;color:#92400e;background:#fffbeb}.template-studio-panel__issue strong{font-size:11px}.template-studio-panel__issue span{font-size:11px;line-height:1.35}.template-studio-panel__manifest{max-height:260px;overflow:auto;margin:0;padding:10px;border:1px solid rgba(203,213,225,.85);border-radius:8px;color:#0f172a;background:#f8fafc;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.45;white-space:pre-wrap}.ai-settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;display:flex;align-items:flex-end;justify-content:center;padding:0 18px 140px 74px;background:transparent}.ai-settings-dialog{width:min(768px,calc(100vw - 104px));height:min(520px,calc(100vh - 168px));max-height:calc(100vh - 36px);min-height:0;display:grid;grid-template-columns:176px minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden;border:1px solid rgba(229,231,235,.98);border-radius:12px;background:#fff;box-shadow:0 22px 58px #0f172a2e}.ai-settings-tabs{min-height:0;display:flex;flex-direction:column;padding:8px 0;border-right:1px solid rgba(243,244,246,.98);background:#f9fafbbd}.ai-settings-tabs button{min-height:36px;display:inline-flex;align-items:center;gap:10px;padding:0 16px;border-left:2px solid transparent;color:#6b7280;background:transparent;cursor:pointer;font-size:13px;font-weight:500;text-align:left}.ai-settings-tabs button.is-active{border-left-color:#111827;color:#111827;background:#fff;font-weight:650}.ai-settings-main{min-width:0;min-height:0;height:100%;display:grid;grid-template-rows:48px minmax(0,1fr) 56px;background:#fff}.ai-settings-head,.ai-settings-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px;border-bottom:1px solid rgba(243,244,246,.98)}.ai-settings-head strong{min-width:0;overflow:hidden;color:#111827;font-size:15px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.ai-settings-head span,.ai-settings-footer span{overflow:hidden;color:#64748b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.ai-settings-head button,.ai-settings-footer button{min-width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:#9ca3af;background:transparent;cursor:pointer}.ai-settings-head button:hover{color:#4b5563;background:#f3f4f6}.ai-settings-footer{justify-content:flex-end;border-top:1px solid rgba(243,244,246,.98);border-bottom:0;background:#f9fafbb8}.ai-settings-footer button{min-width:64px;height:34px;padding:0 16px;border-radius:8px;color:#fff;background:#111827;font-size:13px;font-weight:650}.ai-settings-footer button:hover{background:#1f2937}.ai-settings-body{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:20px 24px;scrollbar-color:rgba(148,163,184,.72) transparent;scrollbar-width:thin}.ai-settings-body::-webkit-scrollbar{width:9px}.ai-settings-body::-webkit-scrollbar-thumb{border:2px solid #fff;border-radius:999px;background:#94a3b894}.ai-settings-body:focus-visible{outline:2px solid rgba(37,99,235,.28);outline-offset:-2px}.settings-grid{display:grid;grid-template-columns:1fr;gap:2px}.settings-grid--compact{grid-template-columns:1fr}.settings-stack{display:grid;gap:16px}.settings-media-section{display:grid;gap:10px;padding:12px;border:1px solid rgba(226,232,240,.92);border-radius:8px;background:#f9fafb}.settings-media-section>header{display:flex;align-items:center;gap:10px}.settings-media-section>header span:last-child{min-width:0;display:grid;gap:2px}.settings-media-section>header strong{color:#0f172a;font-size:13px}.settings-media-section>header small{min-width:0;overflow:hidden;color:#64748b;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.settings-media-section__icon{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;color:#0f172a;background:#e2e8f0}.setting-row{min-height:38px;display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,160px);align-items:center;gap:16px;padding:3px 0;border:0;border-radius:0;background:transparent}.setting-row span{min-width:0;display:grid;gap:1px}.setting-row__select-wrap{min-width:0;display:flex;align-items:center;gap:7px}.setting-row__select-wrap .aspect-select__swatch{flex:0 0 auto}.setting-row strong{color:#111827;font-size:13px;font-weight:500;line-height:1.25}.setting-row small{color:#9ca3af;font-size:11px;line-height:1.25}.setting-row select,.setting-row input[type=text],.setting-row input[type=number]{width:100%;min-width:0;height:30px;border:1px solid rgba(229,231,235,.98);border-radius:6px;padding:0 10px;color:#111827;background:#fff;font-size:13px;font-weight:500;outline:none}.setting-row select:focus,.setting-row input[type=text]:focus,.setting-row input[type=number]:focus{border-color:#9ca3af}.setting-row input[type=number]{width:96px;justify-self:end;text-align:right}.setting-row input[type=text]{width:256px;max-width:100%;justify-self:end}.setting-row--toggle{grid-template-columns:minmax(0,1fr) 36px}.setting-row input[type=checkbox]{position:relative;width:36px;height:20px;justify-self:end;border:0;border-radius:999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e5e7eb;cursor:pointer;outline:none;transition:background .14s ease}.setting-row input[type=checkbox]:after{position:absolute;top:2px;left:2px;width:16px;height:16px;border:1px solid rgba(209,213,219,.95);border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f172a29;content:"";transition:transform .14s ease}.setting-row input[type=checkbox]:checked{background:#3b82f6}.setting-row input[type=checkbox]:checked:after{transform:translate(16px);border-color:#fff}.setting-row input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px #3b82f62e}.settings-radio-group{display:grid;grid-template-columns:1fr;gap:2px}.settings-radio-group label{min-height:26px;display:flex;align-items:center;gap:8px;padding:2px 0;border:0;border-radius:0;background:transparent;cursor:pointer}.settings-radio-group label.is-selected{color:#111827;background:transparent}.settings-radio-group input{width:16px;height:16px;accent-color:#111827}.settings-radio-group span{min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.settings-radio-group strong{color:#374151;font-size:13px;font-weight:500}.settings-radio-group small,.settings-note,.settings-about span,.settings-about small{color:#64748b;font-size:12px;line-height:1.45}.settings-note{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border:1px solid rgba(226,232,240,.92);border-radius:8px;background:#f8fafc}.settings-note svg{flex:0 0 auto;color:#94a3b8}.settings-provider-card{display:grid;gap:14px;padding:12px;border:1px solid rgba(229,231,235,.98);border-radius:8px;background:#f9fafb}.settings-provider-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.settings-provider-card header div,.settings-provider-card__section{min-width:0;display:grid;gap:7px}.settings-provider-card strong{color:#374151;font-size:13px;font-weight:500}.settings-provider-card span,.settings-provider-card p,.settings-provider-card li{margin:0;color:#475569;font-size:12px;line-height:1.45}.settings-provider-card ol{margin:0;padding-left:18px}.settings-provider-card code{padding:1px 5px;border-radius:5px;background:#e2e8f0eb;color:#0f172a;font-size:11px}.settings-provider-card__notice,.settings-provider-card__note{padding:9px 10px;border:1px solid rgba(251,191,36,.42);border-radius:7px;background:#fffbeb;color:#92400e;font-size:12px;line-height:1.45}.settings-provider-card__command-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.settings-provider-card__command-head button{min-height:30px;padding:0 10px;border:1px solid rgba(203,213,225,.95);border-radius:7px;background:#fff;color:#334155;font-size:12px;font-weight:700;cursor:pointer}.settings-provider-card__command-head button:hover{border-color:#2563eb59;color:#1d4ed8}.settings-provider-card__command{width:100%;min-height:86px;resize:vertical;padding:9px 10px;border:1px solid rgba(203,213,225,.92);border-radius:7px;background:#fff;color:#0f172a;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.5}.settings-provider-card__section--image{padding-top:10px;border-top:1px solid rgba(226,232,240,.9)}.settings-about{min-height:300px;display:grid;place-items:center;align-content:center;gap:10px;text-align:center}.settings-about svg{width:56px;height:56px;padding:14px;border-radius:12px;color:#fff;background:#111827}.settings-about strong{color:#0f172a;font-size:18px}.prompt-debug-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:270;display:flex;align-items:flex-start;justify-content:flex-end;padding:74px 24px 24px 74px;background:#0f172a0f}.prompt-debug-dialog{width:min(680px,calc(100vw - 104px));max-height:min(720px,calc(100vh - 104px));display:grid;grid-template-rows:58px minmax(0,1fr);overflow:hidden;border:1px solid rgba(203,213,225,.92);border-radius:12px;color:#0f172a;background:#fffffffa;box-shadow:0 28px 80px #0f172a3d}.prompt-debug-header,.prompt-debug-header>div,.prompt-debug-header__actions,.prompt-debug-tabs,.prompt-debug-section-title,.prompt-debug-actions{display:flex;align-items:center}.prompt-debug-header{justify-content:space-between;gap:12px;padding:0 16px;border-bottom:1px solid rgba(226,232,240,.9);background:#f8fafcd1}.prompt-debug-header>div:first-child{min-width:0;gap:8px;color:#0f172a;font-weight:900}.prompt-debug-header>div:first-child svg{color:#d97706}.prompt-debug-header__actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.prompt-debug-header__actions button,.prompt-debug-actions button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border-radius:8px;color:#475569;background:#f1f5f9;cursor:pointer;font-size:12px;font-weight:820}.prompt-debug-header__actions button:hover,.prompt-debug-actions button:hover{color:#0f172a;background:#e2e8f0}.prompt-debug-content{min-height:0;display:grid;grid-template-rows:44px minmax(0,1fr)}.prompt-debug-tabs{gap:6px;overflow-x:auto;padding:8px 12px;border-bottom:1px solid rgba(226,232,240,.9);scrollbar-width:none}.prompt-debug-tabs::-webkit-scrollbar{display:none}.prompt-debug-tabs button{min-height:28px;display:inline-flex;align-items:center;flex:0 0 auto;gap:6px;padding:0 9px;border-radius:999px;color:#64748b;background:#f1f5f9;cursor:pointer;font-size:12px;font-weight:820}.prompt-debug-tabs button.is-active{color:#fff;background:#0f172a}.prompt-debug-main{min-height:0;overflow:auto;padding:14px}.prompt-debug-section-title{gap:8px;margin-bottom:12px}.prompt-debug-section-title strong{color:#0f172a;font-size:14px}.prompt-debug-section-title span{margin-left:auto;color:#64748b;font-size:12px;font-weight:740}.prompt-debug-metric-grid,.prompt-debug-dev-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.prompt-debug-metric-grid--small{grid-template-columns:repeat(3,minmax(0,1fr))}.prompt-debug-card,.prompt-debug-toggle,.prompt-debug-readout,.prompt-debug-dev-grid button,.prompt-debug-point-quote,.prompt-debug-note{border:1px solid rgba(226,232,240,.9);border-radius:9px;background:#fff}.prompt-debug-card{display:grid;gap:5px;min-height:92px;padding:12px}.prompt-debug-card span,.prompt-debug-card small,.prompt-debug-toggle small,.prompt-debug-readout span,.prompt-debug-point-quote span,.prompt-debug-point-quote small,.prompt-debug-note,.prompt-debug-dev-grid small{color:#64748b;font-size:12px;line-height:1.42}.prompt-debug-card strong{overflow:hidden;color:#0f172a;font-size:22px;font-weight:900;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.prompt-debug-point-quote{display:grid;grid-template-columns:minmax(0,.7fr) minmax(96px,auto) minmax(0,1fr);align-items:center;gap:10px;padding:12px;background:#f8fafc}.prompt-debug-point-quote strong{color:#0f172a;font-size:16px;font-weight:900;text-align:center}.prompt-debug-point-quote small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prompt-debug-stack{display:grid;gap:10px}.prompt-debug-actions{flex-wrap:wrap;gap:8px}.prompt-debug-toggle,.prompt-debug-readout{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:12px;min-height:68px;padding:10px 12px}.prompt-debug-toggle span,.prompt-debug-readout{min-width:0}.prompt-debug-toggle strong,.prompt-debug-readout strong,.prompt-debug-dev-grid strong{color:#0f172a;font-size:13px}.prompt-debug-toggle input{width:42px;height:22px;justify-self:end;accent-color:#0f172a}.prompt-debug-readout{grid-template-columns:minmax(112px,.35fr) minmax(0,1fr)}.prompt-debug-readout strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prompt-debug-stack textarea{width:100%;min-height:300px;resize:vertical;border:1px solid rgba(203,213,225,.9);border-radius:9px;padding:12px;color:#1e293b;background:#f8fafc;font-family:Consolas,Monaco,Andale Mono,monospace;font-size:12px;line-height:1.55;outline:none}.prompt-debug-note{padding:12px;background:#fff7ed;border-color:#fed7aae6}.prompt-debug-dev-grid button{min-height:96px;display:flex;align-items:flex-start;gap:10px;padding:12px;color:#334155;text-align:left;cursor:pointer}.prompt-debug-dev-grid button:hover{border-color:#2563eb57;background:#eff6ff}.prompt-debug-dev-grid svg{flex:0 0 auto;color:#2563eb}.prompt-debug-dev-grid span{min-width:0;display:grid;gap:4px}.global-input-shell{position:fixed;left:calc(50% + 28px);bottom:28px;z-index:160;width:min(700px,calc(100vw - 160px));min-height:96px;display:grid;grid-template-rows:minmax(34px,auto) 42px;gap:4px;padding:12px;border-radius:22px;transform:translate(-50%);pointer-events:none}.global-input-shell textarea{width:100%;min-height:34px;max-height:88px;resize:none;border:0;outline:none;color:#334155;background:transparent;font-size:16px;line-height:1.5;pointer-events:auto}.global-input-shell textarea::placeholder{color:#94a3b8}.input-controls{display:flex;align-items:center;gap:8px;min-width:0;scrollbar-width:none;pointer-events:auto}.input-controls::-webkit-scrollbar{display:none}.input-controls button{min-width:42px;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;border-radius:999px;color:#64748b;background:#e2e8f0ad;cursor:pointer;font-size:12px;font-weight:850;white-space:nowrap}.input-controls .input-settings-button{width:36px;min-width:36px;padding:0;color:#2563eb;background:#eff6ff}.input-controls button.is-active{color:#fff;background:#020617}.input-controls button:disabled{cursor:default;opacity:.46}.input-controls .select-button{min-width:164px;justify-content:space-between;border:1px solid rgba(203,213,225,.9);color:#475569;background:#fff}.input-select-wrap{min-width:152px;max-width:214px;height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 10px 0 11px;border:1px solid rgba(203,213,225,.9);border-radius:999px;color:#475569;background:#fff;overflow:hidden}.input-select-wrap select{min-width:0;flex:1;border:0;outline:none;color:inherit;background:transparent;font:inherit;font-size:12px;font-weight:850;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.input-select-wrap svg{flex:0 0 auto;color:#94a3b8;pointer-events:none}.input-select-provider{flex:0 0 auto;max-width:76px;padding:2px 7px;border-radius:999px;color:#1d4ed8;background:#eff6ff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:900;letter-spacing:0}.input-select-wrap--aspect{min-width:104px;max-width:132px}.aspect-select__swatch{flex:0 0 auto;width:20px;height:16px;display:inline-block;border:2px solid #60a5fa;border-radius:5px;background:linear-gradient(135deg,#eff6fff2,#dbeafee6)}.aspect-swatch--square{width:16px;height:16px}.aspect-swatch--wide{width:21px;height:16px}.aspect-swatch--portrait{width:14px;height:18px}.aspect-swatch--cinema{width:24px;height:14px}.aspect-swatch--vertical{width:12px;height:20px}.aspect-swatch--auto{width:18px;height:18px;border-style:dashed}.input-controls .send-button{width:38px;min-width:38px;padding:0;color:#fff;background:#6b7280}.input-controls .send-button:disabled{color:#64748b;background:#e2e8f0}.global-submit-count{min-width:28px;height:24px;display:inline-grid;place-items:center;border-radius:999px;border:1px solid rgba(59,130,246,.18);color:#1d4ed8;background:#eff6ff;font-size:11px;font-weight:800}.global-input-shell[data-submit-state=idle] .global-submit-count{display:none}.canvas-view-control-stack{position:fixed;left:72px;bottom:338px;z-index:156;display:grid;gap:8px;pointer-events:none}.canvas-view-panel,.canvas-bookmark-strip{pointer-events:auto;display:flex;align-items:center;gap:5px;width:max-content;max-width:min(520px,calc(100vw - 144px));padding:6px;border-radius:9px}.canvas-bookmark-strip{overflow-x:auto;scrollbar-width:none}.canvas-bookmark-strip::-webkit-scrollbar{display:none}.canvas-view-panel button,.canvas-bookmark-strip button{width:31px;height:29px;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;border-radius:7px;color:#64748b;background:transparent;cursor:pointer}.canvas-view-panel button:hover,.canvas-bookmark-strip button:hover{color:#0f172a;background:#e2e8f0c7}.canvas-view-panel button.is-active,.canvas-bookmark-strip button.is-saved{color:#1d4ed8;background:#eff6ff}.canvas-bookmark-slot span{font-size:12px;font-weight:880;line-height:1}.canvas-bookmark-slot:not(.is-saved) span{opacity:.58}.canvas-view-panel__separator{width:1px;height:22px;margin-inline:2px;background:#cbd5e1cc}.bottom-controls{position:fixed;right:20px;bottom:22px;z-index:170;display:flex;gap:10px}.bottom-controls button{width:46px;height:46px;border-radius:12px}.bottom-controls button.is-active{color:#1d4ed8;background:#eff6ff}.canvas-minimap{position:fixed;right:20px;bottom:86px;z-index:155;width:208px;display:grid;gap:7px;padding:9px;border-radius:10px;pointer-events:auto}.canvas-minimap__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.canvas-minimap__head span{color:#334155;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.canvas-minimap__head small{color:#64748b;font-size:11px;font-weight:780}.canvas-minimap__stage{position:relative;width:188px;height:126px;overflow:hidden;border:1px solid rgba(148,163,184,.28);border-radius:7px;background:linear-gradient(rgba(148,163,184,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.14) 1px,transparent 1px),#f8fafceb;background-size:20px 20px;cursor:crosshair}.canvas-minimap__node,.canvas-minimap__viewport{position:absolute;border-radius:2px;pointer-events:none}.canvas-minimap__node{min-width:2px;min-height:2px;background:#2563eb7a}.canvas-minimap__node--ai-task{background:#f9731694}.canvas-minimap__node--image,.canvas-minimap__node--video{background:#0f766e8a}.canvas-minimap__node--pdf,.canvas-minimap__node--file,.canvas-minimap__node--directory{background:#64748b8a}.canvas-minimap__node.is-selected{box-shadow:0 0 0 2px #0f172aa3}.canvas-minimap__viewport{border:2px solid rgba(15,23,42,.64);background:#ffffff2e;box-shadow:0 0 0 999px #0f172a0d}.canvas-status{position:fixed;left:72px;bottom:12px;z-index:150;color:#475569cc;font-size:11px;font-weight:780;pointer-events:none}@media(max-width:1440px)and (min-width:961px){.search-panel{top:108px}}@media(max-width:960px){.company-focus-backdrop{padding:12px}.company-focus-head{grid-template-columns:38px minmax(0,1fr)}.company-focus-head__actions{grid-column:1 / -1;justify-content:flex-start}.company-focus-main{grid-template-columns:1fr}.company-focus-side{border-left:0;border-top:1px solid rgba(226,232,240,.95)}.company-focus-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.company-focus-lanes{grid-template-columns:repeat(4,minmax(220px,1fr))}.canvas-toolbar{left:64px;right:14px;transform:none;overflow-x:auto;justify-content:flex-start}.search-panel{top:104px;left:68px;right:14px;width:auto}.local-board-panel{top:160px;max-height:min(460px,calc(100vh - 184px))}.project-gallery-shell{top:44px;right:14px;bottom:14px;left:68px;padding-bottom:72px}.project-gallery-positioner{max-width:none;transform:translateY(2vh)}.project-gallery-panel{top:auto;width:100%;max-width:none;height:min(680px,calc(100vh - 96px));max-height:none}.project-gallery-body{grid-template-columns:1fr}.project-gallery-folder-rail{grid-template-columns:minmax(0,1fr) minmax(180px,.8fr)}.project-gallery-startup-toggle,.project-gallery-rail-card{align-self:stretch}.template-launcher-backdrop{align-items:center;padding:18px 14px 18px 68px}.pdf-viewer-backdrop,.directory-settings-backdrop{padding:18px 14px 18px 68px}.directory-settings-dialog{width:100%;max-height:min(440px,calc(100vh - 36px))}.pdf-viewer-dialog{width:100%;height:min(760px,calc(100vh - 36px))}.template-launcher-panel{width:100%;max-height:calc(100vh - 36px)}.global-input-shell{left:68px;right:14px;width:auto;transform:none}.runtime-status-cluster{left:68px;bottom:150px;width:min(410px,calc(100vw - 142px))}.canvas-view-control-stack{left:68px;bottom:314px}.canvas-view-panel,.canvas-bookmark-strip{max-width:min(440px,calc(100vw - 150px))}.ai-settings-backdrop{align-items:center;padding:18px 14px 18px 68px}.ai-settings-dialog{width:100%;height:min(720px,calc(100vh - 36px));max-height:calc(100vh - 36px);grid-template-columns:136px minmax(0,1fr)}.prompt-debug-backdrop{align-items:flex-start;justify-content:center;padding:18px 14px 18px 68px}.prompt-debug-dialog{width:100%;max-height:calc(100vh - 36px)}.prompt-debug-metric-grid,.prompt-debug-dev-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid,.settings-radio-group{grid-template-columns:1fr}.input-controls{overflow-x:auto}.bottom-controls{right:14px;bottom:142px;flex-direction:column}.canvas-minimap{right:70px;bottom:142px}}@media(max-width:640px){.top-tabbar{left:48px}.company-focus-backdrop{padding:8px}.company-focus-dialog{border-radius:10px}.company-focus-head{gap:9px;padding:10px}.company-focus-head__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.company-focus-head__actions>span,.company-focus-head__actions button{width:100%}.company-focus-main>main,.company-focus-side{padding:10px}.company-focus-metrics{grid-template-columns:1fr}.company-focus-lanes{grid-template-columns:repeat(4,minmax(200px,1fr))}.local-board-backdrop{left:48px}.local-board-panel{left:68px;right:70px;width:auto;max-height:330px;overflow:auto}.project-gallery-shell{top:48px;right:10px;bottom:10px;left:58px;padding-bottom:54px}.project-gallery-panel{left:auto;right:auto;width:100%;max-width:none;height:min(620px,calc(100vh - 82px));max-height:none;overflow:hidden}.local-board-panel.project-gallery-panel{left:auto;right:auto;width:100%;max-width:none;max-height:none;overflow:hidden}.project-gallery-panel__head{align-items:flex-start}.project-gallery-title p{display:none}.project-gallery-folder-rail,.project-gallery-board-grid,.project-gallery-bridge-list{grid-template-columns:1fr}.global-input-shell{min-height:118px;bottom:12px}.runtime-status-cluster{left:58px;bottom:148px;width:min(360px,calc(100vw - 122px))}.canvas-view-control-stack{top:214px;right:14px;bottom:auto;left:58px}.canvas-view-panel,.canvas-bookmark-strip{max-width:calc(100vw - 72px)}.runtime-status-pill{max-width:100%;min-height:32px;font-size:11px}.runtime-local-warning{grid-template-columns:28px minmax(0,1fr) 28px;min-height:52px}.canvas-minimap{top:160px;right:14px;bottom:auto}.template-launcher-backdrop,.pdf-viewer-backdrop,.directory-settings-backdrop{padding-left:54px}.directory-settings-dialog{width:calc(100vw - 68px)}.directory-settings-head,.directory-settings-body,.directory-settings-footer{padding-inline:12px}.pdf-viewer-dialog{width:calc(100vw - 68px)}.template-launcher-panel{width:calc(100vw - 68px);grid-template-rows:auto auto auto auto minmax(0,auto) auto}.template-launcher-head,.template-launcher-footer{padding-inline:12px}.template-launcher-chips,.template-launcher-field{grid-template-columns:1fr}.template-launcher-secondary,.template-launcher-primary{flex:1}.ai-settings-backdrop,.prompt-debug-backdrop{padding-left:54px}.prompt-debug-dialog{grid-template-rows:auto minmax(0,1fr)}.prompt-debug-header,.prompt-debug-header__actions{align-items:stretch}.prompt-debug-header{flex-direction:column;padding-block:10px}.prompt-debug-header__actions button{flex:1 1 auto}.prompt-debug-metric-grid,.prompt-debug-metric-grid--small,.prompt-debug-dev-grid,.prompt-debug-readout,.prompt-debug-toggle{grid-template-columns:1fr}.ai-settings-dialog{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.ai-settings-tabs{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid rgba(226,232,240,.92);padding:0}.ai-settings-tabs button{flex:0 0 auto;min-height:42px;border-left:0;border-bottom:2px solid transparent}.ai-settings-tabs button.is-active{border-bottom-color:#0f172a}.ai-settings-head,.ai-settings-footer{padding-inline:12px}.setting-row{grid-template-columns:1fr;gap:8px}}@media(max-width:480px){.runtime-status-cluster{width:calc(100vw - 136px)}.runtime-local-warning__copy span{display:none}}