	<style>

#commandPalette{

position:fixed;

top:12%;

left:50%;

transform:
translateX(-50%);

width:
680px;

max-width:
92%;

z-index:
999999;

}

.studio-command{

background:#fff;

border-radius:22px;

padding:20px;

box-shadow:

0 25px 80px rgba(
0,
0,
0,
.18
);

}

.command-row{

padding:14px;

cursor:pointer;

border-radius:12px;

}

.command-row:hover{

background:#f6f8fb;

}

.studio-shell{

position:sticky;

top:0;

z-index:999;

background:#fff;

padding:14px;

border-radius:18px;

margin-bottom:20px;

box-shadow:

0 10px 40px rgba(
0,
0,
0,
.08
);

}

.shell-link{

display:inline-flex;

gap:10px;

padding:12px 18px;

margin:4px;

border-radius:14px;

text-decoration:none;

}

.shell-link:hover{

transform:
translateY(-2px);

}

.action-grid{

display:grid;

grid-template-columns:
repeat(
auto-fill,
minmax(
180px,
1fr
));

gap:14px;

}

.action-btn{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#f5f7fb
);

cursor:pointer;

text-align:center;

transition:.25s;

}

.action-btn:hover{

transform:
translateY(-4px);

}

.os-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:16px;

}

.os-cell{

padding:18px;

border-radius:18px;

background:
linear-gradient(
145deg,
#ffffff,
#eef3fb
);

}

.kernel-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.kernel-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#f8fbff,
#eef4ff
);

}

.hypervisor-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.hypervisor-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#f9fbff,
#eef6ff
);

}

#copilotPrompt{

border-radius:18px;

}

.copilot-card{

padding:18px;

margin-top:12px;

background:
linear-gradient(
135deg,
#ffffff,
#eef5ff
);

border-radius:18px;

}


.agent-plan{

margin-top:14px;

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#f8fbff,
#eef6ff
);

}


.memory-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.memory-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#edf6ff
);

}

.cognitive-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#eef8ff
);

margin-bottom:12px;

}

.mesh-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.mesh-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#f9fcff,
#eef8ff
);

}

.conscious-card{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#fff,
#eef9ff
);

margin-bottom:12px;

}

.meta-card{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#edf8ff
);

margin-bottom:12px;

}

.universe-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.universe-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#edf8ff
);

.nexus-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.nexus-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#eef8ff
);

}

.cns-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.cns-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#eef7ff
);

}

.exec-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.exec-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#eef8ff
);

}

.strategy-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.strategy-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#eef7ff
);

}

.const-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.const-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#eef8ff
);

}

cabinet-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.cabinet-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#eef8ff
);

}

.senate-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.senate-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#eef8ff
);

}

.chancellor-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.chancellor-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#eef8ff
);

}

.obs-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.obs-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#eef8ff
);

}

.ministry-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.ministry-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#eef8ff
);

}

.sovereign-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.sovereign-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#eef8ff
);

}

.civil-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.civil-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#eef8ff
);

}

.singularity-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.singularity-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#eef8ff
);

}

.genesis-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.genesis-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#eef8ff
);

}

.horizon-grid{

display:grid;

grid-template-columns:
repeat(
4,
1fr
);

gap:14px;

}

.horizon-box{

padding:18px;

border-radius:18px;

background:
linear-gradient(
135deg,
#ffffff,
#eef8ff
);

}

.legacy-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:14px;
}
.legacy-box{
padding:18px;
border-radius:18px;
background:linear-gradient(135deg,#ffffff,#eef8ff);
}




</style>

	<div
class="card card-studio mb-4">

<div
class="card-body">

<h5>

Studio Runtime

</h5>

<hr>

<div class="row">

<div class="col">

Views

<br>

<?=

number_format(

array_sum(
array_column(
$heatmap
?? [],
'views'
)
)

)

?>

</div>

<div
class="mt-3">

<span
id="studioStatus"

class="badge bg-success">

Live

</span>

</div>

<div
class="mt-4">

<h6>

Homepage Health

</h6>

<div
id="homepageHealth">

Loading...

</div>

</div>

<div
class="mt-4">

<h6>

Homepage Certification

</h6>

<div
id="homepageCertification">

Loading...

</div>

</div>

<div
class="mt-4">

<h6>

Policy Engine

</h6>

<div
id="homepagePolicy">

Loading...

</div>

</div>

<div
class="mt-4">

<h6>

Lifecycle

</h6>

<div
id="homepageLifecycle">

Loading...

</div>

<a
href="/easychair/admin/conference-home/archive"

class="btn btn-outline-danger btn-sm mt-2">

Archive Homepage

</a>

</div>

<div
class="mt-4">

<h6>

Digital Twin

</h6>

<div
id="homepageSimulation">

Loading...

</div>

<a
href="/easychair/admin/conference-home/simulate"

class="btn btn-outline-primary btn-sm mt-2">

Run Simulation

</a>

</div>

<div
class="mt-4">

<h6>

Optimization Queue

</h6>

<div
id="homepageQueue">

Loading...

</div>

<a
href="/easychair/admin/conference-home/optimize"

class="btn btn-outline-success btn-sm mt-2">

Optimize Homepage

</a>

</div>

<div
class="mt-4">

<h6>

Release Scheduler

</h6>

<div
id="homepageScheduler">

Loading...

</div>

<a
href="/easychair/admin/conference-home/schedule"

class="btn btn-outline-dark btn-sm mt-2">

Schedule Publish

</a>

</div>

<div
class="mt-4">

<h6>

Experiment Engine

</h6>

<div
id="homepageExperiment">

Loading...

</div>

<a
href="/easychair/admin/conference-home/experiment"

class="btn btn-outline-primary btn-sm mt-2">

Create Experiment

</a>

</div>

<div
class="mt-4">

<h6>

Homepage Intelligence

</h6>

<div
id="homepageIntelligence">

Loading...

</div>

</div>

<div
class="mt-4">

<h6>

Operating System

</h6>

<div
class="btn-group">

<a
href="/easychair/admin/conference-home/command?cmd=refresh"

class="btn btn-sm btn-outline-primary">

Refresh

</a>

<a
href="/easychair/admin/conference-home/command?cmd=optimize"

class="btn btn-sm btn-outline-success">

Optimize

</a>

<a
href="/easychair/admin/conference-home/command?cmd=simulate"

class="btn btn-sm btn-outline-dark">

Simulate

</a>

</div>

</div>

<div
class="mt-4">

<h6>

Audit Time Machine

</h6>

<div
id="homepageEvents">

Loading...

</div>

</div>

<div
class="mt-4">

<h6>

Snapshot Recovery

</h6>

<div
id="homepageSnapshot">

Loading...

</div>

<a
href="/easychair/admin/conference-home/snapshot"

class="btn btn-outline-secondary btn-sm mt-2">

Create Snapshot

</a>

</div>

<div
class="mt-4">

<h6>

Enterprise Workspace

</h6>

<form
method="get"

action="/easychair/admin/conference-home/replicate">

<input
name="target"

class="form-control mb-2"

placeholder="Conference ID">

<button
class="btn btn-outline-dark btn-sm">

Replicate Homepage

</button>

</form>

</div>

<div
class="mt-4">

<h6>

Design Catalog

</h6>

<div
id="homepageCatalog">

Loading...

</div>

</div>

<div
class="mt-4">

<h6>

Theme Engine

</h6>

<div
id="homepageMesh">

Loading...

</div>

</div>

<div
class="btn-group">

<button
id="saveWorkspace"

class="btn btn-light">

Save Layout

</button>

<button
id="resetWorkspace"

class="btn btn-outline-dark">

Reset

</button>

</div>

<div
id="commandPalette"

style="display:none">

<div
class="studio-command">

<input

id="studioSearch"

class="form-control"

placeholder="Search commands..."

>

<div
id="studioResults">

</div>

</div>

</div>

<div
class="studio-card">

<div
class="studio-title">

Live Collaboration

</div>

<div
id="studioActivity">

Loading...

</div>

</div>

<div
class="studio-card">

<div
class="studio-title">

Studio Presence

</div>

<div
id="studioPresence">

Loading...

</div>

</div>

<div
class="studio-card">

<div
class="studio-title">

Review Timeline

</div>

<div
id="studioTimeline">

Loading...

</div>

</div>

<div
class="studio-card">

<div
class="studio-title">

Studio Branches

</div>

<div
id="studioBranch">

Loading...

</div>

<a
href="/easychair/admin/conference-home/branch"

class="btn btn-outline-primary">

Create Draft Branch

</a>

</div>

<div
class="studio-card">

<div
class="studio-title">

Deployment Rings

</div>

<div
id="studioDeployment">

Loading...

</div>

<a
href="/easychair/admin/conference-home/deploy"

class="btn btn-success">

Start Canary

</a>

</div>

<div
class="studio-card">

<div
class="studio-title">

Mission Control

</div>

<div
id="studioMission">

Loading...

</div>

</div>

<div
class="studio-card">

<div
class="studio-title">

Operating Center

</div>

<div
id="studioHealth">

Loading...

</div>

<button
id="recoverBtn"

class="btn btn-outline-danger">

Recover

</button>

</div>

<div
class="studio-card">

<div
class="studio-title">

Control Tower

</div>

<div
id="studioControl">

Loading...

</div>

<button
id="maintenanceBtn"

class="btn btn-light">

Run Maintenance

</button>

</div>

<div
class="studio-card">

<div
class="studio-title">

Reliability Center

</div>

<div
id="studioReliability">

Loading...

</div>

<button
id="healBtn"

class="btn btn-outline-success">

Run Self Heal

</button>

</div>

<div
class="studio-card">

<div
class="studio-title">

Governance Center

</div>

<div
id="studioGovernance">

Loading...

</div>

</div>

<div
class="studio-card">

<div
class="studio-title">

Portfolio Center

</div>

<div
id="studioPortfolio">

Loading...

</div>

</div>

<div
class="studio-card">

<div
class="studio-title">

Studio Marketplace

</div>

<div
id="studioMarketplace">

Loading...

</div>

<button
id="publishAsset"

class="btn btn-outline-primary">

Publish Asset

</button>

</div>

<div
class="studio-card">

<div
class="studio-title">

Knowledge Hub

</div>

<div
id="studioKnowledge">

Loading...

</div>

</div>

<div
class="studio-card">

<div
class="studio-title">

Digital Twin

</div>

<div
id="studioTwin">

Loading...

</div>

</div>

<div
class="studio-card">

<div
class="studio-title">

Intelligence Graph

</div>

<div
id="studioGraph">

Loading...

</div>

</div>

<div
class="studio-card">

<div
class="studio-title">

Strategy Center

</div>

<div
id="studioStrategy">

Loading...

</div>

</div>

<div
class="studio-card">

<div
class="studio-title">

Program Office

</div>

<div
id="studioPrograms">

Loading...

</div>

</div>

<div
class="studio-card">

<div
class="studio-title">

Executive Scorecard

</div>

<div
id="studioScorecard">

Loading...

</div>

</div>

<div
class="studio-card">

<div
class="studio-title">

Enterprise Brain

</div>

<div
id="studioBrain">

Loading...

</div>

</div>

<div
class="studio-shell">

<div
id="studioShell">

Loading...

</div>

</div>


<div
class="studio-card">

<div
class="studio-title">

Command Center

</div>

<div
id="studioActions">

Loading...

</div>

</div>
<div class="studio-card">

<div class="studio-title">

Studio OS

</div>

<div id="studioOS">

Loading...

</div>

</div>

<div
class="studio-card">

<div
class="studio-title">

Studio Kernel

</div>

<div
id="studioKernel">

Loading...

</div>

<button
id="snapshotBtn"

class="btn btn-outline-dark">

Create Snapshot

</button>

</div>

<div
class="studio-card">

<div
class="studio-title">

Studio Hypervisor

</div>

<div
id="studioHypervisor">

Loading...

</div>

</div>

<div class="studio-card">
    <div class="studio-title">Studio Fabric</div>
    <div id="studioFabric">Loading...</div>
</div>

<div class="studio-card">

<div class="studio-title">

AI Copilot

</div>

<textarea
id="copilotPrompt"
class="form-control"
rows="3"
placeholder="
Try:
publish homepage
preview
create branch
"></textarea>

<button
id="runCopilot"
class="btn btn-dark">

Ask Copilot

</button>

<div
id="copilotResult">

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Agent Framework

</div>

<textarea
id="agentGoal"
class="form-control"
rows="3"
placeholder="
Example:
Publish homepage safely
"></textarea>

<button
id="runAgents"
class="btn btn-primary">

Generate Plan

</button>

<div
id="agentResult">

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Studio Memory

</div>

<div id="studioMemory">

Loading...

</div>

<button
id="rememberBtn"
class="btn btn-outline-primary">

Remember State

</button>

</div>

<div class="studio-card">

<div class="studio-title">

Cognitive Layer

</div>

<div id="studioCognition">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Neural Mesh

</div>

<div id="studioMesh">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Conscious Layer

</div>

<div id="studioConscious">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Meta Layer

</div>

<div id="studioMeta">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Universe Layer

</div>

<div id="studioUniverse">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Studio Nexus

</div>

<div id="studioNexus">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Central Nervous System

</div>

<div id="studioCNS">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Executive Cockpit

</div>

<div id="studioExecutive">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Strategic Command

</div>

<div id="studioStrategic">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Studio Constitution

</div>

<div id="studioConstitution">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Studio Cabinet

</div>

<div id="studioCabinet">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Studio Senate

</div>

<div id="studioSenate">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Chancellor Office

</div>

<div id="studioChancellor">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

National Observatory

</div>

<div id="studioObservatory">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Ministry Layer

</div>

<div id="studioMinistry">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Sovereign Layer

</div>

<div id="studioSovereign">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Civilization Layer

</div>

<div id="studioCivilization">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Singularity Layer

</div>

<div id="studioSingularity">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Genesis Layer

</div>

<div id="studioGenesis">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Horizon Layer

</div>

<div id="studioHorizon">

Loading...

</div>

</div>

<div class="studio-card">
    <div class="studio-title">Legacy Layer</div>
    <div id="studioLegacy">Loading...</div>
</div>

<div class="studio-card">

<div class="studio-title">

Continuity Board

</div>

<div id="studioContinuity">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Stewardship Layer

</div>

<div id="studioStewardship">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Heritage Layer

</div>

<div id="studioHeritage">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Archive Vault

</div>

<div id="studioArchiveVault">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Trust Layer

</div>

<div id="studioTrust">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Chronicle Layer

</div>

<div id="studioChronicle">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Time Capsule

</div>

<div id="studioTimeCapsule">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Compass Layer

</div>

<div id="studioCompass">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Beacon Layer

</div>

<div id="studioBeacon">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Atlas Layer

</div>

<div id="studioAtlas">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Orbit Layer

</div>

<div id="studioOrbit">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Pulse Layer

</div>

<div id="studioPulse">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Resonance Layer

</div>

<div id="studioResonance">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Gravity Layer

</div>

<div id="studioGravity">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Aurora Layer

</div>

<div id="studioAurora">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Zenith Layer

</div>

<div id="studioZenith">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Constellation Layer

</div>

<div id="studioConstellation">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Lighthouse Layer

</div>

<div id="studioLighthouse">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Observatory Prime

</div>

<div id="studioObservatoryPrime">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Frontier Layer

</div>

<div id="studioFrontier">

Loading...

</div>

</div>

<script>

function loadNexusPrime(){

fetch(
'/easychair/admin/conference-home/nexus-prime'
)

.then(
r=>r.json()
)

.then(

x=>{

const el=
document.getElementById(
'studioNexusPrime'
);

if(!el)
return;

el.innerHTML=

`

<div class="legacy-grid">

<div class="legacy-box">

Kernels

<br>

<b>${x.kernels}</b>

</div>

<div class="legacy-box">

Healthy

<br>

<b>${x.healthy}</b>

</div>

<div class="legacy-box">

Fabrics

<br>

<b>${x.fabrics}</b>

</div>

<div class="legacy-box">

Unification

<br>

<b>${x.unification}%</b>

</div>

</div>

<hr>

<span class="badge bg-${
x.state==='unified'
?
'success'
:
'primary'
}">

${x.state}

</span>

`;

}

);

}

loadNexusPrime();

setInterval(
loadNexusPrime,
60000
);

</script>

<div class="studio-card">

<div class="studio-title">

Continuum Layer

</div>

<div id="studioContinuum">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Horizon Prime

</div>

<div id="studioHorizonPrime">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Apex Layer

</div>

<div id="studioApex">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Crown Layer

</div>

<div id="studioCrown">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Summit Layer

</div>

<div id="studioSummit">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Infinity Layer

</div>

<div id="studioInfinity">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Origin Layer

</div>

<div id="studioOrigin">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Legacy Prime

</div>

<div id="studioLegacyPrime">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Genesis Prime

</div>

<div id="studioGenesisPrime">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Omega Layer

</div>

<div id="studioOmega">

Loading...

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Eternal Layer

</div>

<div id="studioEternal">

Loading...

</div>

</div>

<div class="studio-ops-header">

<div>

<h2>

Studio Operations Center

</h2>

<div>

Unified Runtime

</div>

</div>

<div id="studioHealth">

…

</div>

</div>

<div class="studio-card">

<div class="studio-title">

Runtime Diagnostics

</div>

<div id="runtimeStats">

…

</div>

</div>

<button
class="btn btn-sm btn-primary"
onclick="toggleStudioWidgets()">

More

</button>
















<div
class="mt-4">

<h6>

Executive Dashboard

</h6>

<div
id="homepageExecutive">

Loading...

</div>

</div>

<div
class="mt-4">

<h6>

Organization Command Center

</h6>

<div
id="homepageCommandCenter">

Loading...

</div>

</div>

<div
class="mt-4">

<h6>

Governance

</h6>

<div
id="homepageGovernance">

Loading...

</div>

</div>
<div
class="mt-4">

<h6>

Recommendations

</h6>

<div
id="homepageRecommendations">

Loading...

</div>

</div>

<div
class="mt-4">

<h6>

Live Activity

</h6>

<div
class="mt-3">

<a
href="/easychair/admin/conference-home/cache/clear"

class="btn btn-outline-warning btn-sm">

Clear Cache

</a>

<span
class="badge bg-info">

Smart Preview

</span>

</div>

<div
id="studioFeed"

class="small">

Loading…

</div>

</div>

<div class="col">

Sections

<br>

<?=

count(
$sections
?? []
)

?>

</div>

<div class="col">

Blocks

<br>

<?=

count(
$blocks
?? []
)

?>

</div>

<div class="col">

Health

<br>

<?=

$health
?? 0

?>%

</div>

</div>

</div>

</div>

<script>
function loadFabric(){
fetch('/easychair/admin/conference-home/fabric')
.then(r=>r.json())
.then(x=>{
const el=document.getElementById('studioFabric');
if(!el)return;
el.innerHTML=`
<div>Nodes <b>${x.nodes}</b></div>
<div>Links <b>${x.links}</b></div>
<div>Runtime <b>${x.runtime}</b></div>
<div>Score <b>${x.fabric_score}%</b></div>
<span class="badge bg-${x.state==='connected'?'success':'secondary'}">${x.state}</span>
`;
});
}
loadFabric();
setInterval(loadFabric,60000);
</script>
